| /kernel/linux/linux-5.10/drivers/staging/hikey9xx/ |
| D | hi6421-spmi-pmic.c | 3 * Device driver for regulators in HISI PMIC IC 27 #include <linux/mfd/hi6421-spmi-pmic.h> 38 /* 8-bit register offset in PMIC */ 63 * The PMIC register is only 8-bit. 64 * Hisilicon SoC use hardware to map PMIC register into SoC mapping. 67 int hi6421_spmi_pmic_read(struct hi6421_spmi_pmic *pmic, int reg) in hi6421_spmi_pmic_read() argument 73 pdev = to_spmi_device(pmic->dev); in hi6421_spmi_pmic_read() 88 int hi6421_spmi_pmic_write(struct hi6421_spmi_pmic *pmic, int reg, u32 val) in hi6421_spmi_pmic_write() argument 93 pdev = to_spmi_device(pmic->dev); in hi6421_spmi_pmic_write() 107 int hi6421_spmi_pmic_rmw(struct hi6421_spmi_pmic *pmic, int reg, in hi6421_spmi_pmic_rmw() argument [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 */ 293 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local 295 if (!pmic) in regmap_ipc_byte_reg_read() 307 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read() 323 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local 325 if (!pmic) in regmap_ipc_byte_reg_write() 338 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write() 343 /* sysfs interfaces to r/w PMIC registers, required by initial script */ [all …]
|
| D | qcom-spmi-pmic.c | 15 #include <soc/qcom/qcom-spmi-pmic.h> 30 struct qcom_spmi_pmic pmic; member 67 { .compatible = "qcom,spmi-pmic", .data = N_USIDS(1) }, 72 * A PMIC can be represented by multiple SPMI devices, but 73 * only the base PMIC device will contain a reference to 76 * This function takes a pointer to a pmic device and 77 * returns a pointer to the base PMIC device. 102 * number of USIDs in the PMIC array, e.g. for a PMIC with 2 USIDs in qcom_pmic_get_base_usid() 120 * If the base USID for this PMIC hasn't been in qcom_pmic_get_base_usid() 155 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 */ 191 struct intel_soc_pmic *pmic; in cht_wc_probe() local 198 return dev_err_probe(dev, -ENODEV, "Failed to get PMIC hardware revision\n"); in cht_wc_probe() 200 return dev_err_probe(dev, -ENODEV, "Invalid PMIC hardware revision: %llu\n", hrv); in cht_wc_probe() 205 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe() 206 if (!pmic) in cht_wc_probe() 211 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 …]
|
| /kernel/linux/linux-6.6/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 | 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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-5.10/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-buck-ds-gpios: GPIO specifiers for three host gpio's used 19 [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 21 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. 24 - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 28 - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 32 - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 36 - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. 37 - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. 38 - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. 42 - s5m8767,pmic-buck-default-dvs-idx: Default voltage setting selected from [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|