/linux-6.8/drivers/regulator/ ! |
D | max77620-regulator.c | 99 static int max77620_regulator_get_fps_src(struct max77620_regulator *pmic, in max77620_regulator_get_fps_src() argument 102 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_get_fps_src() 106 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_get_fps_src() 108 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_get_fps_src() 116 static int max77620_regulator_set_fps_src(struct max77620_regulator *pmic, in max77620_regulator_set_fps_src() argument 119 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_set_fps_src() 134 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_set_fps_src() 136 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_set_fps_src() 141 pmic->active_fps_src[id] = ret; in max77620_regulator_set_fps_src() 145 dev_err(pmic->dev, "Invalid FPS %d for regulator %d\n", in max77620_regulator_set_fps_src() [all …]
|
D | tps65910-regulator.c | 391 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local 395 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode() 416 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local 420 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode() 514 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local 518 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel() 557 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local 562 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel() 634 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local 638 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel() [all …]
|
D | isl6271a-regulator.c | 23 /* PMIC details */ 31 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_get_voltage_sel() local 34 mutex_lock(&pmic->mtx); in isl6271a_get_voltage_sel() 36 idx = i2c_smbus_read_byte(pmic->client); in isl6271a_get_voltage_sel() 38 dev_err(&pmic->client->dev, "Error getting voltage\n"); in isl6271a_get_voltage_sel() 40 mutex_unlock(&pmic->mtx); in isl6271a_get_voltage_sel() 47 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_set_voltage_sel() local 50 mutex_lock(&pmic->mtx); in isl6271a_set_voltage_sel() 52 err = i2c_smbus_write_byte(pmic->client, selector); in isl6271a_set_voltage_sel() 54 dev_err(&pmic->client->dev, "Error setting voltage\n"); in isl6271a_set_voltage_sel() [all …]
|
D | palmas-regulator.c | 3 * Driver for Regulator part of Palmas PMIC Chips 441 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local 442 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps() 447 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®); in palmas_set_mode_smps() 470 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps() 472 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps() 475 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps() 482 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local 486 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps() 504 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local [all …]
|
D | Kconfig | 140 signal AB8500 PMIC 169 tristate "AS3711 PMIC" 173 AS3711 PMIC 176 tristate "AMS AS3722 PMIC Regulators" 180 AS3722 PMIC. This will enable support for all the software 184 tristate "Actions Semi ATC260x PMIC Regulators" 200 tristate "X-POWERS AXP20X PMIC Regulators" 204 AXP20X PMIC. 219 This driver supports voltage regulators on ROHM BD71815 PMIC. 231 This driver supports voltage regulators on ROHM BD71828 PMIC. [all …]
|
/linux-6.8/drivers/mfd/ ! |
D | hi655x-pmic.c | 3 * Device driver for MFD hi655x PMIC 16 #include <linux/mfd/hi655x-pmic.h> 35 .name = "hi655x-pmic", 94 struct hi655x_pmic *pmic; in hi655x_pmic_probe() local 98 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe() 99 if (!pmic) in hi655x_pmic_probe() 101 pmic->dev = dev; in hi655x_pmic_probe() 107 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe() 109 if (IS_ERR(pmic->regmap)) in hi655x_pmic_probe() 110 return PTR_ERR(pmic->regmap); in hi655x_pmic_probe() [all …]
|
D | intel_soc_pmic_bxtwc.c | 3 * MFD core driver for Intel Broxton Whiskey Cove PMIC 21 /* PMIC device registers */ 59 /* Whiskey Cove PMIC share same ACPI ID between different platforms */ 282 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local 284 if (!pmic) in regmap_ipc_byte_reg_read() 296 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read() 312 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local 314 if (!pmic) in regmap_ipc_byte_reg_write() 327 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write() 332 /* sysfs interfaces to r/w PMIC registers, required by initial script */ [all …]
|
D | qcom-spmi-pmic.c | 17 #include <soc/qcom/qcom-spmi-pmic.h> 32 struct qcom_spmi_pmic pmic; member 70 { .compatible = "qcom,spmi-pmic", .data = N_USIDS(1) }, 75 * A PMIC can be represented by multiple SPMI devices, but 76 * only the base PMIC device will contain a reference to 79 * This function takes a pointer to a pmic device and 80 * returns a pointer to the base PMIC device. 105 * number of USIDs in the PMIC array, e.g. for a PMIC with 2 USIDs in qcom_pmic_get_base_usid() 123 * If the base USID for this PMIC hasn't been in qcom_pmic_get_base_usid() 158 memcpy(&ctx->pmic, &base_ctx->pmic, sizeof(ctx->pmic)); in pmic_spmi_get_base_revid() [all …]
|
D | intel_soc_pmic_chtdc_ti.c | 3 * Device access for Dollar Cove TI PMIC 110 struct intel_soc_pmic *pmic; in chtdc_ti_probe() local 113 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in chtdc_ti_probe() 114 if (!pmic) in chtdc_ti_probe() 117 i2c_set_clientdata(i2c, pmic); in chtdc_ti_probe() 119 pmic->regmap = devm_regmap_init_i2c(i2c, &chtdc_ti_regmap_config); in chtdc_ti_probe() 120 if (IS_ERR(pmic->regmap)) in chtdc_ti_probe() 121 return PTR_ERR(pmic->regmap); in chtdc_ti_probe() 122 pmic->irq = i2c->irq; in chtdc_ti_probe() 124 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in chtdc_ti_probe() [all …]
|
D | intel_soc_pmic_chtwc.c | 3 * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC 7 * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: 22 /* PMIC device registers */ 30 /* Whiskey Cove PMIC share same ACPI ID between different platforms */ 192 struct intel_soc_pmic *pmic; in cht_wc_probe() local 199 return dev_err_probe(dev, -ENODEV, "Failed to get PMIC hardware revision\n"); in cht_wc_probe() 201 return dev_err_probe(dev, -ENODEV, "Invalid PMIC hardware revision: %llu\n", hrv); in cht_wc_probe() 206 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe() 207 if (!pmic) in cht_wc_probe() 212 pmic->cht_wc_model = (long)id->driver_data; in cht_wc_probe() [all …]
|
D | intel_soc_pmic_mrfld.c | 3 * Device access for Basin Cove PMIC 23 * Firmware on the systems with Basin Cove PMIC services Level 1 IRQs 77 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_read() local 81 ret = intel_scu_ipc_dev_ioread8(pmic->scu, reg, &ipc_out); in bcove_ipc_byte_reg_read() 92 struct intel_soc_pmic *pmic = context; in bcove_ipc_byte_reg_write() local 95 return intel_scu_ipc_dev_iowrite8(pmic->scu, reg, ipc_in); in bcove_ipc_byte_reg_write() 109 struct intel_soc_pmic *pmic; in bcove_probe() local 113 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in bcove_probe() 114 if (!pmic) in bcove_probe() 117 pmic->scu = devm_intel_scu_ipc_dev_get(dev); in bcove_probe() [all …]
|
D | intel_soc_pmic_crc.c | 3 * Device access for Crystal Cove PMIC 171 struct intel_soc_pmic *pmic; in crystal_cove_i2c_probe() local 179 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in crystal_cove_i2c_probe() 180 if (!pmic) in crystal_cove_i2c_probe() 183 i2c_set_clientdata(i2c, pmic); in crystal_cove_i2c_probe() 185 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in crystal_cove_i2c_probe() 186 if (IS_ERR(pmic->regmap)) in crystal_cove_i2c_probe() 187 return PTR_ERR(pmic->regmap); in crystal_cove_i2c_probe() 189 pmic->irq = i2c->irq; in crystal_cove_i2c_probe() 191 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in crystal_cove_i2c_probe() [all …]
|
D | hi6421-pmic-core.c | 3 * Device driver for Hi6421 PMIC 16 #include <linux/mfd/hi6421-pmic.h> 40 .compatible = "hisilicon,hi6421-pmic", 44 .compatible = "hisilicon,hi6421v530-pmic", 53 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local 61 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in hi6421_pmic_probe() 62 if (!pmic) in hi6421_pmic_probe() 69 pmic->regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, in hi6421_pmic_probe() 71 if (IS_ERR(pmic->regmap)) { in hi6421_pmic_probe() 73 PTR_ERR(pmic->regmap)); in hi6421_pmic_probe() [all …]
|
D | mt6397-core.c | 124 .name = "mtk-pmic-keys", 145 .name = "mtk-pmic-keys", 166 .name = "mtk-pmic-keys", 203 .name = "mtk-pmic-keys", 229 .name = "mtk-pmic-keys", 296 struct mt6397_chip *pmic; in mt6397_probe() local 299 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe() 300 if (!pmic) in mt6397_probe() 303 pmic->dev = &pdev->dev; in mt6397_probe() 306 * mt6397 MFD is child device of soc pmic wrapper. in mt6397_probe() [all …]
|
/linux-6.8/Documentation/devicetree/bindings/mfd/ ! |
D | samsung,s5m8767.yaml | 14 Management IC (PMIC). 21 const: samsung,s5m8767-pmic 39 s5m8767,pmic-buck2-dvs-voltage: 47 s5m8767,pmic-buck3-dvs-voltage: 55 s5m8767,pmic-buck4-dvs-voltage: 63 s5m8767,pmic-buck-ds-gpios: 70 s5m8767,pmic-buck2-uses-gpio-dvs: 74 s5m8767,pmic-buck3-uses-gpio-dvs: 78 s5m8767,pmic-buck4-uses-gpio-dvs: 82 s5m8767,pmic-buck-default-dvs-idx: [all …]
|
D | hisilicon,hi655x.txt | 1 Hisilicon Hi655x Power Management Integrated Circuit (PMIC) 3 The hardware layout for access PMIC Hi655x from AP SoC Hi6220. 4 Between PMIC Hi655x and Hi6220, the physical signal channel is SSI. 15 - compatible: Should be "hisilicon,hi655x-pmic". 16 - reg: Base address of PMIC on Hi6220 SoC. 18 - pmic-gpios: The GPIO used by PMIC IRQ. 26 pmic: pmic@f8000000 { 27 compatible = "hisilicon,hi655x-pmic"; 31 pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
|
D | samsung,s2mps11.yaml | 14 Management IC (PMIC). 23 - samsung,s2mps11-pmic 24 - samsung,s2mps13-pmic 25 - samsung,s2mps14-pmic 26 - samsung,s2mps15-pmic 27 - samsung,s2mpu02-pmic 47 Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so 48 the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the 55 Indicates that WRSTBI pin of PMIC is pulled down. When the system is 74 const: samsung,s2mps11-pmic [all …]
|
D | maxim,max8998.yaml | 34 max8998,pmic-buck1-dvs-gpios: 39 max8998,pmic-buck2-dvs-gpio: 44 max8998,pmic-buck1-default-dvs-idx: 52 max8998,pmic-buck2-default-dvs-idx: 60 max8998,pmic-buck-voltage-lock: 65 max8998,pmic-buck1-dvs-voltage: 72 max8998,pmic-buck2-dvs-voltage: 133 max8998,pmic-buck1-dvs-gpios: [ "max8998,pmic-buck1-dvs-voltage" ] 134 max8998,pmic-buck2-dvs-gpio: [ "max8998,pmic-buck2-dvs-voltage" ] 152 pmic@66 { [all …]
|
/linux-6.8/Documentation/devicetree/bindings/regulator/ ! |
D | maxim,max8997.yaml | 22 const: maxim,max8997-pmic 33 max8997,pmic-buck1-dvs-voltage: 40 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is 41 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should 45 max8997,pmic-buck2-dvs-voltage: 52 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is 53 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should 57 max8997,pmic-buck5-dvs-voltage: 64 If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is 65 specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should [all …]
|
D | palmas-pmic.txt | 12 ti,twl6035-pmic 13 ti,twl6036-pmic 14 ti,twl6037-pmic 15 ti,tps65913-pmic 16 ti,tps65914-pmic 17 ti,tps65917-pmic 18 ti,tps659038-pmic 20 ti,palmas-pmic 35 For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP, 48 ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto, [all …]
|
/linux-6.8/drivers/acpi/pmic/ ! |
D | Kconfig | 4 bool "PMIC (Power Management Integrated Circuit) operation region support" 7 region of the PMIC chip. The operation region can be used 9 PMIC chip. 14 bool "ACPI operation region support for Bay Trail Crystal Cove PMIC" 18 version of the Crystal Cove PMIC. 21 bool "ACPI operation region support for Cherry Trail Crystal Cove PMIC" 25 version of the Crystal Cove PMIC. 28 bool "ACPI operation region support for XPower AXP288 PMIC" 31 This config adds ACPI operation region support for XPower AXP288 PMIC. 34 bool "ACPI operation region support for BXT WhiskeyCove PMIC" [all …]
|
/linux-6.8/Documentation/devicetree/bindings/soc/qcom/ ! |
D | qcom,pmic-glink.yaml | 4 $id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml# 7 title: Qualcomm PMIC GLINK firmware interface for battery management, USB 14 The PMIC GLINK service, running on a coprocessor on some modern Qualcomm 26 - qcom,sc8180x-pmic-glink 27 - qcom,sc8280xp-pmic-glink 28 - qcom,sm8350-pmic-glink 29 - qcom,sm8450-pmic-glink 30 - qcom,sm8550-pmic-glink 31 - const: qcom,pmic-glink 34 - qcom,sm8650-pmic-glink [all …]
|
/linux-6.8/Documentation/devicetree/bindings/rtc/ ! |
D | rtc-mt6397.txt | 1 Device-Tree bindings for MediaTek PMIC based RTC 3 MediaTek PMIC based RTC is an independent function of MediaTek PMIC that works 5 with PMIC wrapper bus which is a common resource shared with the other 6 functions found on the same PMIC. 8 For MediaTek PMIC MFD bindings, see: 11 For MediaTek PMIC wrapper bus bindings, see: 16 "mediatek,mt6323-rtc": for MT6323 PMIC 17 "mediatek,mt6358-rtc": for MT6358 PMIC 18 "mediatek,mt6366-rtc", "mediatek,mt6358-rtc": for MT6366 PMIC 19 "mediatek,mt6397-rtc": for MT6397 PMIC [all …]
|
/linux-6.8/drivers/watchdog/ ! |
D | stpmic1_wdt.c | 31 struct stpmic1 *pmic; member 39 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_start() 47 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_stop() 55 return regmap_update_bits(wdt->pmic->regmap, in pmic_wdt_ping() 66 return regmap_write(wdt->pmic->regmap, WCHDG_TIMER_CR, timeout - 1); in pmic_wdt_set_timeout() 71 .identity = "STPMIC1 PMIC Watchdog", 86 struct stpmic1 *pmic; in pmic_wdt_probe() local 92 pmic = dev_get_drvdata(dev->parent); in pmic_wdt_probe() 93 if (!pmic) in pmic_wdt_probe() 100 wdt->pmic = pmic; in pmic_wdt_probe() [all …]
|
/linux-6.8/arch/x86/include/asm/ ! |
D | iosf_mbi.h | 102 * One some systems the P-Unit accesses the PMIC to change various voltages 106 * the PMIC bus while another driver is also accessing the PMIC bus various bad 110 * access the PMIC, be it through iosf_mbi* functions or through other means. 111 * This function will block all kernel access to the PMIC I2C bus, so that the 112 * P-Unit can safely access the PMIC over the shared I2C bus. 115 * P-Unit for exclusive access to the PMIC bus when i2c drivers are accessing 129 * iosf_mbi_block_punit_i2c_access() - Block P-Unit accesses to the PMIC bus 131 * Call this function to block P-Unit access to the PMIC I2C bus, so that the 132 * kernel can safely access the PMIC over the shared I2C bus. 147 * iosf_mbi_unblock_punit_i2c_access() - Release PMIC I2C bus block [all …]
|