Home
last modified time | relevance | path

Searched full:pmic (Results 1 – 25 of 1621) sorted by relevance

12345678910>>...65

/kernel/linux/linux-5.10/drivers/staging/hikey9xx/
Dhi6421-spmi-pmic.c3 * 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/
Dmax77620-regulator.c99 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/
Dhi655x-pmic.c3 * 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 …]
Dintel_soc_pmic_core.c3 * 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 …]
Dintel_soc_pmic_bxtwc.c3 * 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 …]
Dintel_soc_pmic_chtwc.c3 * 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 …]
Dintel_soc_pmic_chtdc_ti.c3 * 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 …]
Dintel_soc_pmic_mrfld.c3 * 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-4.19/drivers/regulator/
Dmax77620-regulator.c102 static int max77620_regulator_get_fps_src(struct max77620_regulator *pmic, in max77620_regulator_get_fps_src() argument
105 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_get_fps_src()
109 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_get_fps_src()
111 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_get_fps_src()
119 static int max77620_regulator_set_fps_src(struct max77620_regulator *pmic, in max77620_regulator_set_fps_src() argument
122 struct max77620_regulator_info *rinfo = pmic->rinfo[id]; in max77620_regulator_set_fps_src()
137 ret = regmap_read(pmic->rmap, rinfo->fps_addr, &val); in max77620_regulator_set_fps_src()
139 dev_err(pmic->dev, "Reg 0x%02x read failed %d\n", in max77620_regulator_set_fps_src()
144 pmic->active_fps_src[id] = ret; in max77620_regulator_set_fps_src()
148 dev_err(pmic->dev, "Invalid FPS %d for regulator %d\n", in max77620_regulator_set_fps_src()
[all …]
Dtps65910-regulator.c397 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
398 struct tps65910 *mfd = pmic->mfd; in tps65910_set_mode()
401 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode()
407 return tps65910_reg_update_bits(pmic->mfd, reg, in tps65910_set_mode()
422 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local
425 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode()
429 ret = tps65910_reg_read(pmic->mfd, reg, &value); in tps65910_get_mode()
443 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_dcdc_sel() local
449 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_OP, &opvsel); in tps65910_get_voltage_dcdc_sel()
452 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1, &mult); in tps65910_get_voltage_dcdc_sel()
[all …]
Disl6271a-regulator.c31 /* PMIC details */
40 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_get_voltage_sel() local
43 mutex_lock(&pmic->mtx); in isl6271a_get_voltage_sel()
45 idx = i2c_smbus_read_byte(pmic->client); in isl6271a_get_voltage_sel()
47 dev_err(&pmic->client->dev, "Error getting voltage\n"); in isl6271a_get_voltage_sel()
49 mutex_unlock(&pmic->mtx); in isl6271a_get_voltage_sel()
56 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_set_voltage_sel() local
59 mutex_lock(&pmic->mtx); in isl6271a_set_voltage_sel()
61 err = i2c_smbus_write_byte(pmic->client, selector); in isl6271a_set_voltage_sel()
63 dev_err(&pmic->client->dev, "Error setting voltage\n"); in isl6271a_set_voltage_sel()
[all …]
Dpalmas-regulator.c2 * Driver for Regulator part of Palmas PMIC Chips
447 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local
448 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps()
453 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, &reg); in palmas_set_mode_smps()
476 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps()
478 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps()
481 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps()
488 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local
492 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps()
510 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local
[all …]
/kernel/linux/linux-4.19/drivers/mfd/
Dhi655x-pmic.c2 * Device driver for MFD hi655x PMIC
20 #include <linux/mfd/hi655x-pmic.h>
39 .name = "hi655x-pmic",
98 struct hi655x_pmic *pmic; in hi655x_pmic_probe() local
103 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe()
104 if (!pmic) in hi655x_pmic_probe()
106 pmic->dev = dev; in hi655x_pmic_probe()
108 pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in hi655x_pmic_probe()
109 base = devm_ioremap_resource(dev, pmic->res); in hi655x_pmic_probe()
113 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe()
[all …]
Dintel_soc_pmic_bxtwc.c2 * MFD core driver for Intel Broxton Whiskey Cove PMIC
27 /* PMIC device registers */
65 /* Whiskey Cove PMIC share same ACPI ID between different platforms */
284 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local
286 if (!pmic) in regmap_ipc_byte_reg_read()
302 dev_err(pmic->dev, "Failed to read from PMIC\n"); in regmap_ipc_byte_reg_read()
316 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local
318 if (!pmic) in regmap_ipc_byte_reg_write()
335 dev_err(pmic->dev, "Failed to write to PMIC\n"); in regmap_ipc_byte_reg_write()
342 /* sysfs interfaces to r/w PMIC registers, required by initial script */
[all …]
Dintel_soc_pmic_core.c2 * intel_soc_pmic_core.c - Intel SoC PMIC MFD Driver
31 /* Crystal Cove PMIC shares same ACPI ID between different platforms */
56 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local
67 dev_err(dev, "Failed to get PMIC hardware revision\n"); in intel_soc_pmic_i2c_probe()
83 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in intel_soc_pmic_i2c_probe()
84 if (!pmic) in intel_soc_pmic_i2c_probe()
87 dev_set_drvdata(dev, pmic); in intel_soc_pmic_i2c_probe()
89 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in intel_soc_pmic_i2c_probe()
90 if (IS_ERR(pmic->regmap)) in intel_soc_pmic_i2c_probe()
91 return PTR_ERR(pmic->regmap); in intel_soc_pmic_i2c_probe()
[all …]
Dintel_soc_pmic_chtwc.c2 * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC
6 * Based on various non upstream patches to support the CHT Whiskey Cove PMIC:
24 /* PMIC device registers */
32 /* Whiskey Cove PMIC share same ACPI ID between different platforms */
142 struct intel_soc_pmic *pmic; in cht_wc_probe() local
149 dev_err(dev, "Failed to get PMIC hardware revision\n"); in cht_wc_probe()
153 dev_err(dev, "Invalid PMIC hardware revision: %llu\n", hrv); in cht_wc_probe()
161 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in cht_wc_probe()
162 if (!pmic) in cht_wc_probe()
165 pmic->irq = client->irq; in cht_wc_probe()
[all …]
Dintel_soc_pmic_chtdc_ti.c2 * Device access for Dollar Cove TI PMIC
113 struct intel_soc_pmic *pmic; in chtdc_ti_probe() local
116 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in chtdc_ti_probe()
117 if (!pmic) in chtdc_ti_probe()
120 i2c_set_clientdata(i2c, pmic); in chtdc_ti_probe()
122 pmic->regmap = devm_regmap_init_i2c(i2c, &chtdc_ti_regmap_config); in chtdc_ti_probe()
123 if (IS_ERR(pmic->regmap)) in chtdc_ti_probe()
124 return PTR_ERR(pmic->regmap); in chtdc_ti_probe()
125 pmic->irq = i2c->irq; in chtdc_ti_probe()
127 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in chtdc_ti_probe()
[all …]
Dmt6397-core.c64 .name = "mtk-pmic-keys",
90 .name = "mtk-pmic-keys",
229 mt6397_irq_thread, IRQF_ONESHOT, "mt6397-pmic", mt6397); in mt6397_irq_init()
272 struct mt6397_chip *pmic; in mt6397_probe() local
274 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
275 if (!pmic) in mt6397_probe()
278 pmic->dev = &pdev->dev; in mt6397_probe()
281 * mt6397 MFD is child device of soc pmic wrapper. in mt6397_probe()
284 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe()
285 if (!pmic->regmap) in mt6397_probe()
[all …]
/kernel/linux/linux-5.10/drivers/acpi/pmic/
DKconfig4 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/
Dmax8997-regulator.txt7 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 …]
Dsamsung,s5m8767.txt16 - 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 …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/regulator/
Dmax8997-regulator.txt7 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 …]
Dsamsung,s5m8767.txt16 - 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 …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/
Dmax8998.txt8 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-4.19/Documentation/devicetree/bindings/mfd/
Dmax8998.txt8 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 …]

12345678910>>...65