/Linux-v5.15/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 | 392 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local 396 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode() 417 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local 421 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode() 515 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local 519 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel() 558 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local 563 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel() 635 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local 639 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel() [all …]
|
D | Kconfig | 130 signal AB8500 PMIC 159 tristate "AS3711 PMIC" 163 AS3711 PMIC 166 tristate "AMS AS3722 PMIC Regulators" 170 AS3722 PMIC. This will enable support for all the software 174 tristate "Actions Semi ATC260x PMIC Regulators" 182 tristate "X-POWERS AXP20X PMIC Regulators" 186 AXP20X PMIC. 201 This driver supports voltage regulators on ROHM BD71815 PMIC. 213 This driver supports voltage regulators on ROHM BD71828 PMIC. [all …]
|
D | isl6271a-regulator.c | 31 /* PMIC details */ 39 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_get_voltage_sel() local 42 mutex_lock(&pmic->mtx); in isl6271a_get_voltage_sel() 44 idx = i2c_smbus_read_byte(pmic->client); in isl6271a_get_voltage_sel() 46 dev_err(&pmic->client->dev, "Error getting voltage\n"); in isl6271a_get_voltage_sel() 48 mutex_unlock(&pmic->mtx); in isl6271a_get_voltage_sel() 55 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_set_voltage_sel() local 58 mutex_lock(&pmic->mtx); in isl6271a_set_voltage_sel() 60 err = i2c_smbus_write_byte(pmic->client, selector); in isl6271a_set_voltage_sel() 62 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 442 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local 443 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps() 448 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®); in palmas_set_mode_smps() 471 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps() 473 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps() 476 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps() 483 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local 487 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps() 505 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local [all …]
|
/Linux-v5.15/drivers/mfd/ |
D | hi655x-pmic.c | 3 * Device driver for MFD hi655x PMIC 17 #include <linux/mfd/hi655x-pmic.h> 36 .name = "hi655x-pmic", 95 struct hi655x_pmic *pmic; in hi655x_pmic_probe() local 100 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe() 101 if (!pmic) in hi655x_pmic_probe() 103 pmic->dev = dev; in hi655x_pmic_probe() 105 pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in hi655x_pmic_probe() 106 base = devm_ioremap_resource(dev, pmic->res); in hi655x_pmic_probe() 110 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe() [all …]
|
D | intel_soc_pmic_core.c | 3 * Intel SoC PMIC MFD Driver 22 /* Crystal Cove PMIC shares same ACPI ID between different platforms */ 36 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local 47 dev_err(dev, "Failed to get PMIC hardware revision\n"); in intel_soc_pmic_i2c_probe() 63 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in intel_soc_pmic_i2c_probe() 64 if (!pmic) in intel_soc_pmic_i2c_probe() 67 dev_set_drvdata(dev, pmic); in intel_soc_pmic_i2c_probe() 69 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in intel_soc_pmic_i2c_probe() 70 if (IS_ERR(pmic->regmap)) in intel_soc_pmic_i2c_probe() 71 return PTR_ERR(pmic->regmap); in intel_soc_pmic_i2c_probe() [all …]
|
D | intel_soc_pmic_bxtwc.c | 3 * MFD core driver for Intel Broxton Whiskey Cove PMIC 20 /* PMIC device registers */ 58 /* Whiskey Cove PMIC share same ACPI ID between different platforms */ 281 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local 283 if (!pmic) in regmap_ipc_byte_reg_read() 295 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read() 311 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local 313 if (!pmic) in regmap_ipc_byte_reg_write() 326 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write() 331 /* sysfs interfaces to r/w PMIC registers, required by initial script */ [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: 21 /* PMIC device registers */ 29 /* Whiskey Cove PMIC share same ACPI ID between different platforms */ 140 struct intel_soc_pmic *pmic; in cht_wc_probe() local 147 dev_err(dev, "Failed to get PMIC hardware revision\n"); in cht_wc_probe() 151 dev_err(dev, "Invalid PMIC hardware revision: %llu\n", hrv); in cht_wc_probe() 159 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe() 160 if (!pmic) in cht_wc_probe() 163 pmic->irq = client->irq; in cht_wc_probe() [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_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 | hi6421-pmic-core.c | 3 * Device driver for Hi6421 PMIC 16 #include <linux/mfd/hi6421-pmic.h> 39 .compatible = "hisilicon,hi6421-pmic", 43 .compatible = "hisilicon,hi6421v530-pmic", 52 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local 65 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in hi6421_pmic_probe() 66 if (!pmic) in hi6421_pmic_probe() 74 pmic->regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, in hi6421_pmic_probe() 76 if (IS_ERR(pmic->regmap)) { in hi6421_pmic_probe() 78 PTR_ERR(pmic->regmap)); in hi6421_pmic_probe() [all …]
|
D | mt6397-core.c | 84 .name = "mtk-pmic-keys", 146 .name = "mtk-pmic-keys", 197 struct mt6397_chip *pmic; in mt6397_probe() local 200 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe() 201 if (!pmic) in mt6397_probe() 204 pmic->dev = &pdev->dev; in mt6397_probe() 207 * mt6397 MFD is child device of soc pmic wrapper. in mt6397_probe() 210 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe() 211 if (!pmic->regmap) in mt6397_probe() 218 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe() [all …]
|
/Linux-v5.15/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-v5.15/Documentation/devicetree/bindings/regulator/ |
D | max8997-regulator.txt | 7 describes the bindings for 'pmic' sub-block of max8997. 10 - compatible: Should be "maxim,max8997-pmic". 11 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. 13 - max8997,pmic-buck1-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 17 - max8997,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 21 - max8997,pmic-buck5-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 25 [1] If none of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional 26 property is specified, the 'max8997,pmic-buck[1/2/5]-dvs-voltage' 30 If either of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional 32 'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified. [all …]
|
D | samsung,s5m8767.txt | 16 - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 20 - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 24 - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 28 - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used 31 [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 32 property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage' 36 If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 38 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. 41 - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. 42 - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. [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-v5.15/Documentation/devicetree/bindings/mfd/ |
D | max8998.txt | 8 PMIC sub-block 11 The PMIC sub-block contains a number of voltage and current regulators, 20 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. 26 - max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used 29 - max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used 32 - max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from 36 - max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from 40 - max8998,pmic-buck-voltage-lock: If present, disallows changing of 43 Additional properties required if max8998,pmic-buck1-dvs-gpios is defined: 44 - max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts [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,sec-core.txt | 24 - "samsung,s2mpa01-pmic", 25 - "samsung,s2mps11-pmic", 26 - "samsung,s2mps13-pmic", 27 - "samsung,s2mps14-pmic", 28 - "samsung,s2mps15-pmic", 29 - "samsung,s2mpu02-pmic", 30 - "samsung,s5m8767-pmic". 31 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 35 - samsung,s2mps11-wrstbi-ground: Indicates that WRSTBI pin of PMIC is pulled 38 - samsung,s2mps11-acokb-ground: Indicates that ACOKB pin of S2MPS11 PMIC is [all …]
|
/Linux-v5.15/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,mt6397-rtc": for MT6397 PMIC 21 pmic {
|
/Linux-v5.15/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-v5.15/Documentation/devicetree/bindings/spmi/ |
D | qcom,spmi-pmic-arb.txt | 1 Qualcomm SPMI Controller (PMIC Arbiter) 3 The SPMI PMIC Arbiter is found on Snapdragon chipsets. It is an SPMI 7 The PMIC Arbiter can also act as an interrupt controller, providing interrupts 17 - compatible : should be "qcom,spmi-pmic-arb". 22 Registers used only for V2 PMIC Arbiter: 26 - reg : address + size pairs describing the PMIC arb register sets; order must 31 - qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5) 32 - interrupts : interrupt list for the PMIC Arb controller, must contain a 36 "periph_irq" - summary interrupt for PMIC peripherals 37 - interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller [all …]
|
/Linux-v5.15/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 …]
|
/Linux-v5.15/arch/arm/mach-omap2/ |
D | vc.c | 104 * omap_vc_config_channel - configure VC channel to PMIC mappings 107 * Configures the VC channel to PMIC mappings for the following 108 * PMIC settings 145 /* Check if sufficient pmic info is available for this vdd */ in omap_vc_pre_scale() 146 if (!voltdm->pmic) { in omap_vc_pre_scale() 147 pr_err("%s: Insufficient pmic info to scale the vdd_%s\n", in omap_vc_pre_scale() 152 if (!voltdm->pmic->uv_to_vsel) { in omap_vc_pre_scale() 153 …pr_err("%s: PMIC function to convert voltage in uV to vsel not registered. Hence unable to scale v… in omap_vc_pre_scale() 164 *target_vsel = voltdm->pmic->uv_to_vsel(target_volt); in omap_vc_pre_scale() 165 *current_vsel = voltdm->pmic->uv_to_vsel(voltdm->nominal_volt); in omap_vc_pre_scale() [all …]
|