Lines Matching +full:pmic +full:- +full:id
1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/mfd/hi6421-pmic.h>
21 * struct hi6421v530_regulator_info - hi6421v530 regulator information
63 * _id - LDO id name string
64 * v_table - voltage table
65 * vreg - voltage select register
66 * vmask - voltage select mask
67 * ereg - enable register
68 * emask - enable mask
69 * odelay - off/on delay time in uS
70 * ecomask - eco mode mask
71 * ecoamp - eco mode load uppler limit in uA
81 .id = HI6421V530_##_ID, \
118 regmap_read(rdev->regmap, rdev->desc->enable_reg, ®_val); in hi6421v530_regulator_ldo_get_mode()
120 if (reg_val & (info->mode_mask)) in hi6421v530_regulator_ldo_get_mode()
138 new_mode = info->mode_mask; in hi6421v530_regulator_ldo_set_mode()
141 return -EINVAL; in hi6421v530_regulator_ldo_set_mode()
144 regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, in hi6421v530_regulator_ldo_set_mode()
145 info->mode_mask, new_mode); in hi6421v530_regulator_ldo_set_mode()
165 struct hi6421_pmic *pmic; in hi6421v530_regulator_probe() local
170 pmic = dev_get_drvdata(pdev->dev.parent); in hi6421v530_regulator_probe()
171 if (!pmic) { in hi6421v530_regulator_probe()
172 dev_err(&pdev->dev, "no pmic in the regulator parent node\n"); in hi6421v530_regulator_probe()
173 return -ENODEV; in hi6421v530_regulator_probe()
177 config.dev = pdev->dev.parent; in hi6421v530_regulator_probe()
178 config.regmap = pmic->regmap; in hi6421v530_regulator_probe()
181 rdev = devm_regulator_register(&pdev->dev, in hi6421v530_regulator_probe()
185 dev_err(&pdev->dev, "failed to register regulator %s\n", in hi6421v530_regulator_probe()
194 { .name = "hi6421v530-regulator" },
202 .name = "hi6421v530-regulator",