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
61 * _id - LDO id name string
62 * v_table - voltage table
63 * vreg - voltage select register
64 * vmask - voltage select mask
65 * ereg - enable register
66 * emask - enable mask
67 * odelay - off/on delay time in uS
68 * ecomask - eco mode mask
78 .id = HI6421V530_##_ID, \
113 info = container_of(rdev->desc, struct hi6421v530_regulator_info, rdesc); in hi6421v530_regulator_ldo_get_mode()
114 regmap_read(rdev->regmap, rdev->desc->enable_reg, ®_val); in hi6421v530_regulator_ldo_get_mode()
116 if (reg_val & (info->mode_mask)) in hi6421v530_regulator_ldo_get_mode()
128 info = container_of(rdev->desc, struct hi6421v530_regulator_info, rdesc); in hi6421v530_regulator_ldo_set_mode()
134 new_mode = info->mode_mask; in hi6421v530_regulator_ldo_set_mode()
137 return -EINVAL; in hi6421v530_regulator_ldo_set_mode()
140 regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, in hi6421v530_regulator_ldo_set_mode()
141 info->mode_mask, new_mode); in hi6421v530_regulator_ldo_set_mode()
161 struct hi6421_pmic *pmic; in hi6421v530_regulator_probe() local
166 pmic = dev_get_drvdata(pdev->dev.parent); in hi6421v530_regulator_probe()
167 if (!pmic) { in hi6421v530_regulator_probe()
168 dev_err(&pdev->dev, "no pmic in the regulator parent node\n"); in hi6421v530_regulator_probe()
169 return -ENODEV; in hi6421v530_regulator_probe()
173 config.dev = pdev->dev.parent; in hi6421v530_regulator_probe()
174 config.regmap = pmic->regmap; in hi6421v530_regulator_probe()
176 rdev = devm_regulator_register(&pdev->dev, in hi6421v530_regulator_probe()
180 dev_err(&pdev->dev, "failed to register regulator %s\n", in hi6421v530_regulator_probe()
189 { .name = "hi6421v530-regulator" },
197 .name = "hi6421v530-regulator",