Home
last modified time | relevance | path

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

12345678910>>...24

/kernel/linux/linux-5.10/drivers/staging/hikey9xx/
Dhi6421-spmi-pmic.c67 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
114 spin_lock_irqsave(&pmic->lock, flags); in hi6421_spmi_pmic_rmw()
115 data = hi6421_spmi_pmic_read(pmic, reg) & ~mask; in hi6421_spmi_pmic_rmw()
117 ret = hi6421_spmi_pmic_write(pmic, reg, data); in hi6421_spmi_pmic_rmw()
118 spin_unlock_irqrestore(&pmic->lock, flags); in hi6421_spmi_pmic_rmw()
126 struct hi6421_spmi_pmic *pmic = (struct hi6421_spmi_pmic *)data; in hi6421_spmi_irq_handler() local
[all …]
Dhi6421v600-regulator.c45 struct hi6421_spmi_pmic *pmic; member
59 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_is_enabled() local
62 reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->enable_reg); in hi6421_spmi_regulator_is_enabled()
75 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_enable() local
88 hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, in hi6421_spmi_regulator_enable()
100 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_disable() local
106 hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, in hi6421_spmi_regulator_disable()
115 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_get_voltage_sel() local
119 reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->vsel_reg); in hi6421_spmi_regulator_get_voltage_sel()
135 struct hi6421_spmi_pmic *pmic = sreg->pmic; in hi6421_spmi_regulator_set_voltage_sel() local
[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 …]
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 …]
Dtps65910-regulator.c392 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 …]
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()
305 pmic->desc[MAX8907_SD1].min_uV = 637500; in max8907_regulator_probe()
306 pmic->desc[MAX8907_SD1].uV_step = 12500; in max8907_regulator_probe()
307 pmic->desc[MAX8907_SD1].n_voltages = in max8907_regulator_probe()
320 config.driver_data = pmic; in max8907_regulator_probe()
324 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 …]
/kernel/linux/linux-5.10/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.c36 struct intel_soc_pmic *pmic; in intel_soc_pmic_i2c_probe() local
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()
73 pmic->irq = i2c->irq; in intel_soc_pmic_i2c_probe()
75 ret = regmap_add_irq_chip(pmic->regmap, pmic->irq, in intel_soc_pmic_i2c_probe()
78 &pmic->irq_chip_data); in intel_soc_pmic_i2c_probe()
[all …]
Dintel_soc_pmic_bxtwc.c281 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()
354 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_show() local
356 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val); in bxtwc_val_show()
370 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in bxtwc_val_store() local
376 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_mrfld.c77 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()
118 if (!pmic->scu) in bcove_probe()
121 platform_set_drvdata(pdev, pmic); in bcove_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.c164 struct mt6397_chip *pmic; in mt6397_probe() local
167 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
168 if (!pmic) in mt6397_probe()
171 pmic->dev = &pdev->dev; in mt6397_probe()
177 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe()
178 if (!pmic->regmap) in mt6397_probe()
185 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe()
191 pmic->chip_id = (id >> pmic_core->cid_shift) & 0xff; in mt6397_probe()
193 platform_set_drvdata(pdev, pmic); in mt6397_probe()
195 pmic->irq = platform_get_irq(pdev, 0); in mt6397_probe()
[all …]
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()
/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-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 …]
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 …]
/kernel/linux/linux-5.10/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()
/kernel/linux/linux-5.10/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";
/kernel/linux/linux-5.10/arch/arm/mach-omap2/
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 …]
Dvc.c146 if (!voltdm->pmic) { in omap_vc_pre_scale()
152 if (!voltdm->pmic->uv_to_vsel) { 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()
188 smps_delay = ((smps_steps * voltdm->pmic->step_size) / in omap_vc_post_scale()
189 voltdm->pmic->slew_rate) + 2; in omap_vc_post_scale()
380 val = (voltdm->vc_param->on - idle) / voltdm->pmic->slew_rate; in omap3_init_voltsetup1()
481 time = voltage_diff / voltdm->pmic->slew_rate; in omap4_calc_volt_ramp()
672 if (!voltdm->pmic->i2c_high_speed) { in omap4_vc_i2c_timing_init()
684 capacitance += voltdm->pmic->i2c_pad_load; in omap4_vc_i2c_timing_init()
[all …]

12345678910>>...24