Home
last modified time | relevance | path

Searched refs:pmic (Results 1 – 25 of 523) sorted by relevance

12345678910>>...21

/Linux-v5.4/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 …]
Dtps65910-regulator.c392 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
393 struct tps65910 *mfd = pmic->mfd; in tps65910_set_mode()
396 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode()
402 return tps65910_reg_update_bits(pmic->mfd, reg, in tps65910_set_mode()
417 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local
420 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode()
424 ret = tps65910_reg_read(pmic->mfd, reg, &value); in tps65910_get_mode()
438 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_dcdc_sel() local
444 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_OP, &opvsel); in tps65910_get_voltage_dcdc_sel()
447 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1, &mult); in tps65910_get_voltage_dcdc_sel()
[all …]
Disl6271a-regulator.c39 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()
64 mutex_unlock(&pmic->mtx); in isl6271a_set_voltage_sel()
[all …]
Dpalmas-regulator.c442 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, &reg); 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
506 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_smps_set_ramp_delay()
[all …]
Dmax8907-regulator.c279 struct max8907_regulator *pmic; in max8907_regulator_probe() local
290 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in max8907_regulator_probe()
291 if (!pmic) in max8907_regulator_probe()
294 platform_set_drvdata(pdev, pmic); in max8907_regulator_probe()
296 memcpy(pmic->desc, max8907_regulators, sizeof(pmic->desc)); in max8907_regulator_probe()
302 pmic->desc[MAX8907_SD1].min_uV = 637500; in max8907_regulator_probe()
303 pmic->desc[MAX8907_SD1].uV_step = 12500; in max8907_regulator_probe()
304 pmic->desc[MAX8907_SD1].n_voltages = in max8907_regulator_probe()
317 config.driver_data = pmic; in max8907_regulator_probe()
321 switch (pmic->desc[i].id) { in max8907_regulator_probe()
[all …]
Dwm8350-regulator.c101 switch (wm8350->pmic.isink_A_dcdc) { in wm8350_isink_enable()
109 1 << (wm8350->pmic.isink_A_dcdc - in wm8350_isink_enable()
117 switch (wm8350->pmic.isink_B_dcdc) { in wm8350_isink_enable()
125 1 << (wm8350->pmic.isink_B_dcdc - in wm8350_isink_enable()
145 switch (wm8350->pmic.isink_A_dcdc) { in wm8350_isink_disable()
149 1 << (wm8350->pmic.isink_A_dcdc - in wm8350_isink_disable()
159 switch (wm8350->pmic.isink_B_dcdc) { in wm8350_isink_disable()
163 1 << (wm8350->pmic.isink_B_dcdc - in wm8350_isink_disable()
311 val | wm8350->pmic.dcdc1_hib_mode); in wm8350_dcdc_set_suspend_enable()
317 val | wm8350->pmic.dcdc3_hib_mode); in wm8350_dcdc_set_suspend_enable()
[all …]
/Linux-v5.4/drivers/mfd/
Dhi655x-pmic.c95 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()
112 if (IS_ERR(pmic->regmap)) in hi655x_pmic_probe()
113 return PTR_ERR(pmic->regmap); in hi655x_pmic_probe()
115 regmap_read(pmic->regmap, HI655X_BUS_ADDR(HI655X_VER_REG), &pmic->ver); in hi655x_pmic_probe()
[all …]
Dintel_soc_pmic_core.c49 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local
76 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in intel_soc_pmic_i2c_probe()
77 if (!pmic) in intel_soc_pmic_i2c_probe()
80 dev_set_drvdata(dev, pmic); in intel_soc_pmic_i2c_probe()
82 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in intel_soc_pmic_i2c_probe()
83 if (IS_ERR(pmic->regmap)) in intel_soc_pmic_i2c_probe()
84 return PTR_ERR(pmic->regmap); in intel_soc_pmic_i2c_probe()
86 pmic->irq = i2c->irq; in intel_soc_pmic_i2c_probe()
88 ret = regmap_add_irq_chip(pmic->regmap, pmic->irq, in intel_soc_pmic_i2c_probe()
91 &pmic->irq_chip_data); in intel_soc_pmic_i2c_probe()
[all …]
Dintel_soc_pmic_bxtwc.c277 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_read() local
279 if (!pmic) in regmap_ipc_byte_reg_read()
295 dev_err(pmic->dev, "Failed to read from PMIC\n"); in regmap_ipc_byte_reg_read()
309 struct intel_soc_pmic *pmic = context; in regmap_ipc_byte_reg_write() local
311 if (!pmic) in regmap_ipc_byte_reg_write()
328 dev_err(pmic->dev, "Failed to write to PMIC\n"); in regmap_ipc_byte_reg_write()
358 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_show() local
360 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val); in bxtwc_val_show()
374 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_store() local
380 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val); in bxtwc_val_store()
[all …]
Dintel_soc_pmic_chtdc_ti.c110 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()
127 &pmic->irq_chip_data); in chtdc_ti_probe()
[all …]
Dintel_soc_pmic_chtwc.c140 struct intel_soc_pmic *pmic; in cht_wc_probe() local
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()
164 pmic->dev = dev; in cht_wc_probe()
165 i2c_set_clientdata(client, pmic); in cht_wc_probe()
167 pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg); in cht_wc_probe()
168 if (IS_ERR(pmic->regmap)) in cht_wc_probe()
169 return PTR_ERR(pmic->regmap); in cht_wc_probe()
171 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in cht_wc_probe()
[all …]
Dmt6397-core.c151 struct mt6397_chip *pmic; in mt6397_probe() local
154 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
155 if (!pmic) in mt6397_probe()
158 pmic->dev = &pdev->dev; in mt6397_probe()
164 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe()
165 if (!pmic->regmap) in mt6397_probe()
172 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe()
178 pmic->chip_id = (id >> pmic_core->cid_shift) & 0xff; in mt6397_probe()
180 platform_set_drvdata(pdev, pmic); in mt6397_probe()
182 pmic->irq = platform_get_irq(pdev, 0); in mt6397_probe()
[all …]
Dintel_soc_pmic_mrfld.c112 struct intel_soc_pmic *pmic; in bcove_probe() local
116 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in bcove_probe()
117 if (!pmic) in bcove_probe()
120 platform_set_drvdata(pdev, pmic); in bcove_probe()
121 pmic->dev = &pdev->dev; in bcove_probe()
123 pmic->regmap = devm_regmap_init(dev, NULL, pmic, &bcove_regmap_config); in bcove_probe()
124 if (IS_ERR(pmic->regmap)) in bcove_probe()
125 return PTR_ERR(pmic->regmap); in bcove_probe()
Dhi6421-pmic-core.c52 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()
79 return PTR_ERR(pmic->regmap); in hi6421_pmic_probe()
82 platform_set_drvdata(pdev, pmic); in hi6421_pmic_probe()
87 regmap_update_bits(pmic->regmap, HI6421_OCP_DEB_CTRL_REG, in hi6421_pmic_probe()
/Linux-v5.4/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 …]
Dpalmas-pmic.txt12 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.4/drivers/watchdog/
Dstpmic1_wdt.c31 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()
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()
118 dev_dbg(wdt->pmic->dev, "PMIC Watchdog driver probed\n"); in pmic_wdt_probe()
/Linux-v5.4/Documentation/devicetree/bindings/mfd/
Dmax8998.txt20 - 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
47 Additional properties required if max8998,pmic-buck2-dvs-gpio is defined:
48 - max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts
[all …]
Dhisilicon,hi655x.txt15 - compatible: Should be "hisilicon,hi655x-pmic".
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>;
Dsamsung,sec-core.txt24 - "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.
46 compatible = "samsung,s2mps11-pmic";
/Linux-v5.4/arch/arm/mach-omap2/
Dvc.c121 if (!voltdm->pmic) { in omap_vc_pre_scale()
127 if (!voltdm->pmic->uv_to_vsel) { in omap_vc_pre_scale()
139 *target_vsel = voltdm->pmic->uv_to_vsel(target_volt); in omap_vc_pre_scale()
140 *current_vsel = voltdm->pmic->uv_to_vsel(voltdm->nominal_volt); in omap_vc_pre_scale()
163 smps_delay = ((smps_steps * voltdm->pmic->step_size) / in omap_vc_post_scale()
164 voltdm->pmic->slew_rate) + 2; in omap_vc_post_scale()
335 val = (voltdm->vc_param->on - idle) / voltdm->pmic->slew_rate; in omap3_init_voltsetup1()
436 time = voltage_diff / voltdm->pmic->slew_rate; in omap4_calc_volt_ramp()
617 if (!voltdm->pmic->i2c_high_speed) { in omap4_vc_i2c_timing_init()
629 capacitance += voltdm->pmic->i2c_pad_load; in omap4_vc_i2c_timing_init()
[all …]
Dvp.c19 vsel = voltdm->pmic->uv_to_vsel(volt); in _vp_set_init_voltage()
45 if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) { in omap_vp_init()
61 timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; in omap_vp_init()
62 vddmin = max(voltdm->vp_param->vddmin, voltdm->pmic->vddmin); in omap_vp_init()
63 vddmax = min(voltdm->vp_param->vddmax, voltdm->pmic->vddmax); in omap_vp_init()
64 vddmin = voltdm->pmic->uv_to_vsel(vddmin); in omap_vp_init()
65 vddmax = voltdm->pmic->uv_to_vsel(vddmax); in omap_vp_init()
67 waittime = DIV_ROUND_UP(voltdm->pmic->step_size * sys_clk_rate, in omap_vp_init()
68 1000 * voltdm->pmic->slew_rate); in omap_vp_init()
69 vstepmin = voltdm->pmic->vp_vstepmin; in omap_vp_init()
[all …]
/Linux-v5.4/arch/arm64/boot/dts/qcom/
Dpm8004.dtsi7 pmic@4 {
8 compatible = "qcom,pm8004", "qcom,spmi-pmic";
14 pmic@5 {
15 compatible = "qcom,pm8004", "qcom,spmi-pmic";
Dpmi8994.dtsi7 pmic@2 {
8 compatible = "qcom,pmi8994", "qcom,spmi-pmic";
24 pmic@3 {
25 compatible = "qcom,pmi8994", "qcom,spmi-pmic";

12345678910>>...21