Home
last modified time | relevance | path

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

12345678910>>...44

/openbmc/linux/drivers/regulator/
H A 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 …]
H A Dtps65910-regulator.c391 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
395 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode()
416 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local
420 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode()
514 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local
518 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel()
557 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local
562 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel()
634 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local
638 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel()
[all …]
H A Disl6271a-regulator.c31 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_get_voltage_sel() local
34 mutex_lock(&pmic->mtx); in isl6271a_get_voltage_sel()
36 idx = i2c_smbus_read_byte(pmic->client); in isl6271a_get_voltage_sel()
38 dev_err(&pmic->client->dev, "Error getting voltage\n"); in isl6271a_get_voltage_sel()
40 mutex_unlock(&pmic->mtx); in isl6271a_get_voltage_sel()
47 struct isl_pmic *pmic = rdev_get_drvdata(dev); in isl6271a_set_voltage_sel() local
50 mutex_lock(&pmic->mtx); in isl6271a_set_voltage_sel()
52 err = i2c_smbus_write_byte(pmic->client, selector); in isl6271a_set_voltage_sel()
54 dev_err(&pmic->client->dev, "Error setting voltage\n"); in isl6271a_set_voltage_sel()
56 mutex_unlock(&pmic->mtx); in isl6271a_set_voltage_sel()
[all …]
H A 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 …]
H A 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 …]
/openbmc/linux/drivers/mfd/
H A Dintel_soc_pmic_bxtwc.c293 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()
368 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in val_show() local
370 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val); in val_show()
384 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in val_store() local
390 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val); in val_store()
[all …]
H A Dhi655x-pmic.c94 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()
112 regmap_read(pmic->regmap, HI655X_BUS_ADDR(HI655X_VER_REG), &pmic->ver); in hi655x_pmic_probe()
113 if ((pmic->ver < PMU_VER_START) || (pmic->ver > PMU_VER_END)) { in hi655x_pmic_probe()
114 dev_warn(dev, "PMU version %d unsupported\n", pmic->ver); in hi655x_pmic_probe()
[all …]
H A Dqcom-spmi-pmic.c30 struct qcom_spmi_pmic pmic; member
155 memcpy(&ctx->pmic, &base_ctx->pmic, sizeof(ctx->pmic)); in pmic_spmi_get_base_revid()
165 struct qcom_spmi_pmic *pmic) in pmic_spmi_load_revid() argument
169 ret = regmap_read(map, PMIC_TYPE, &pmic->type); in pmic_spmi_load_revid()
173 if (pmic->type != PMIC_TYPE_VALUE) in pmic_spmi_load_revid()
176 ret = regmap_read(map, PMIC_SUBTYPE, &pmic->subtype); in pmic_spmi_load_revid()
180 pmic->name = of_match_device(pmic_spmi_id_table, dev)->compatible; in pmic_spmi_load_revid()
182 ret = regmap_read(map, PMIC_REV2, &pmic->rev2); in pmic_spmi_load_revid()
186 ret = regmap_read(map, PMIC_REV3, &pmic->minor); in pmic_spmi_load_revid()
190 ret = regmap_read(map, PMIC_REV4, &pmic->major); in pmic_spmi_load_revid()
[all …]
H A 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 …]
H A 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 …]
H A Dintel_soc_pmic_crc.c171 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()
193 0, config->irq_chip, &pmic->irq_chip_data); in crystal_cove_i2c_probe()
[all …]
H A Dintel_soc_pmic_chtwc.c191 struct intel_soc_pmic *pmic; in cht_wc_probe() local
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()
213 pmic->irq = client->irq; in cht_wc_probe()
214 pmic->dev = dev; in cht_wc_probe()
215 i2c_set_clientdata(client, pmic); in cht_wc_probe()
217 pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg); in cht_wc_probe()
218 if (IS_ERR(pmic->regmap)) in cht_wc_probe()
219 return PTR_ERR(pmic->regmap); in cht_wc_probe()
[all …]
H A Dhi6421-pmic-core.c52 struct hi6421_pmic *pmic; in hi6421_pmic_probe() local
64 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in hi6421_pmic_probe()
65 if (!pmic) in hi6421_pmic_probe()
72 pmic->regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, in hi6421_pmic_probe()
74 if (IS_ERR(pmic->regmap)) { in hi6421_pmic_probe()
76 PTR_ERR(pmic->regmap)); in hi6421_pmic_probe()
77 return PTR_ERR(pmic->regmap); in hi6421_pmic_probe()
80 platform_set_drvdata(pdev, pmic); in hi6421_pmic_probe()
85 regmap_update_bits(pmic->regmap, HI6421_OCP_DEB_CTRL_REG, in hi6421_pmic_probe()
H A Dmt6397-core.c296 struct mt6397_chip *pmic; in mt6397_probe() local
299 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
300 if (!pmic) in mt6397_probe()
303 pmic->dev = &pdev->dev; in mt6397_probe()
309 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe()
310 if (!pmic->regmap) in mt6397_probe()
317 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe()
323 pmic->chip_id = (id >> pmic_core->cid_shift) & 0xff; in mt6397_probe()
325 platform_set_drvdata(pdev, pmic); in mt6397_probe()
327 pmic->irq = platform_get_irq(pdev, 0); in mt6397_probe()
[all …]
/openbmc/u-boot/include/power/
H A Dpmic.h45 struct pmic;
47 int (*fg_battery_check) (struct pmic *p, struct pmic *bat);
48 int (*fg_battery_update) (struct pmic *p, struct pmic *bat);
52 int (*chrg_type) (struct pmic *p);
53 int (*chrg_bat_present) (struct pmic *p);
54 int (*chrg_state) (struct pmic *p, int state, int current);
59 int (*battery_init) (struct pmic *bat, struct pmic *p1,
60 struct pmic *p2, struct pmic *p3);
61 int (*battery_charge) (struct pmic *bat);
63 struct pmic *chrg, *fg, *muic;
[all …]
/openbmc/u-boot/drivers/power/
H A DKconfig5 source "drivers/power/pmic/Kconfig"
18 bool "board without a pmic"
23 bool "axp152 pmic support"
28 Select this to enable support for the axp152 pmic found on most
32 bool "axp209 pmic support"
37 Select this to enable support for the axp209 pmic found on most
41 bool "axp221 / axp223 pmic support"
46 Select this to enable support for the axp221/axp223 pmic found on most
50 bool "axp809 pmic support"
55 Say y here to enable support for the axp809 pmic found on A80 boards.
[all …]
H A Dpower_core.c20 int check_reg(struct pmic *p, u32 reg) in check_reg()
31 int pmic_set_output(struct pmic *p, u32 reg, int out, int on) in pmic_set_output()
49 struct pmic *pmic_alloc(void) in pmic_alloc()
51 struct pmic *p; in pmic_alloc()
66 struct pmic *pmic_get(const char *s) in pmic_get()
68 struct pmic *p; in pmic_get()
81 static int pmic_dump(struct pmic *p) in pmic_dump()
114 struct pmic *p; in pmic_list_names()
127 struct pmic *p; in do_pmic()
210 pmic, CONFIG_SYS_MAXARGS, 1, do_pmic,
/openbmc/linux/drivers/watchdog/
H A 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()
/openbmc/u-boot/drivers/power/regulator/
H A Drk8xx.c89 static const struct rk8xx_reg_info *get_buck_reg(struct udevice *pmic, in get_buck_reg() argument
92 struct rk8xx_priv *priv = dev_get_priv(pmic); in get_buck_reg()
101 static int _buck_set_value(struct udevice *pmic, int buck, int uvolt) in _buck_set_value() argument
103 const struct rk8xx_reg_info *info = get_buck_reg(pmic, buck - 1); in _buck_set_value()
113 return pmic_clrsetbits(pmic, info->vsel_reg, mask, val); in _buck_set_value()
116 static int _buck_set_enable(struct udevice *pmic, int buck, bool enable) in _buck_set_enable() argument
124 ret = pmic_clrsetbits(pmic, REG_DCDC_ILMAX, 0, 3 << (buck * 2)); in _buck_set_enable()
127 ret = pmic_clrsetbits(pmic, REG_DCDC_UV_ACT, 1 << buck, 0); in _buck_set_enable()
132 return pmic_clrsetbits(pmic, REG_DCDC_EN, mask, enable ? mask : 0); in _buck_set_enable()
136 static const struct rk8xx_reg_info *get_ldo_reg(struct udevice *pmic, in get_ldo_reg() argument
[all …]
H A Dtps65090_regulator.c27 struct udevice *pmic = dev_get_parent(dev); in tps65090_fet_get_enable() local
33 ret = pmic_reg_read(pmic, REG_FET_BASE + fet_id); in tps65090_fet_get_enable()
49 static int tps65090_fet_set(struct udevice *pmic, int fet_id, bool set) in tps65090_fet_set() argument
59 if (pmic_reg_write(pmic, REG_FET_BASE + fet_id, value)) in tps65090_fet_set()
64 ret = pmic_reg_read(pmic, REG_FET_BASE + fet_id); in tps65090_fet_set()
87 struct udevice *pmic = dev_get_parent(dev); in tps65090_fet_set_enable() local
97 ret = tps65090_fet_set(pmic, fet_id, enable); in tps65090_fet_set_enable()
105 tps65090_fet_set(pmic, fet_id, false); in tps65090_fet_set_enable()
/openbmc/linux/Documentation/devicetree/bindings/regulator/
H A 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 …]
/openbmc/u-boot/doc/driver-model/
H A Dpmic-framework.txt27 - drivers/power/pmic/pmic-uclass.c
28 - include/power/pmic.h
63 the PMIC devices should also support this. By the pmic and regulator API's,
78 use pmic read/write directly.
84 * Header: 'include/power/pmic.h'
85 * Core: 'drivers/power/pmic/pmic-uclass.c'
89 * Example: 'drivers/power/pmic/max77686.c'
93 As an example of the pmic driver, please refer to the MAX77686 driver.
99 The 'pmic; command also supports the new API. So the pmic command can be enabled
101 The new pmic command allows to:
[all …]
/openbmc/linux/Documentation/devicetree/bindings/mfd/
H A 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 …]
/openbmc/u-boot/drivers/power/pmic/
H A Das3722_gpio.c14 int as3722_gpio_configure(struct udevice *pmic, unsigned int gpio, in as3722_gpio_configure() argument
26 err = pmic_reg_write(pmic, AS3722_GPIO_CONTROL(gpio), value); in as3722_gpio_configure()
38 struct udevice *pmic = dev_get_parent(dev); in as3722_gpio_set_value() local
46 err = pmic_reg_read(pmic, AS3722_GPIO_SIGNAL_OUT); in as3722_gpio_set_value()
61 err = pmic_reg_write(pmic, AS3722_GPIO_SIGNAL_OUT, value); in as3722_gpio_set_value()
73 struct udevice *pmic = dev_get_parent(dev); in as3722_gpio_direction_output() local
84 err = pmic_reg_write(pmic, AS3722_GPIO_CONTROL(gpio), value); in as3722_gpio_direction_output()
91 err = as3722_gpio_set_value(pmic, gpio, value); in as3722_gpio_direction_output()
/openbmc/linux/arch/arm64/boot/dts/qcom/
H A Dsc8180x-pmics.dtsi71 pmc8180_0: pmic@0 {
72 compatible = "qcom,pm8150", "qcom,spmi-pmic";
155 pmic@1 {
156 compatible = "qcom,pmc8180", "qcom,spmi-pmic";
162 pmic@2 {
163 compatible = "qcom,smb2351", "qcom,spmi-pmic";
196 pmic@6 {
197 compatible = "qcom,pm8150c", "qcom,spmi-pmic";
203 pmic@8 {
204 compatible = "qcom,pm8150", "qcom,spmi-pmic";
[all …]

12345678910>>...44