Lines Matching +full:use +full:- +full:vsel +full:- +full:dvs

1 // SPDX-License-Identifier: GPL-2.0-only
3 // bd71828-regulator.c ROHM BD71828GW-DS1 regulator driver
10 #include <linux/mfd/rohm-bd71828.h>
26 const struct rohm_dvs_config dvs; member
33 * DVS Buck voltages can be changed by register values or via GPIO.
34 * Use register accesses by default.
102 return rohm_regulator_set_dvs_levels(&data->dvs, np, desc, cfg->regmap); in buck_set_hw_dvs_levels()
112 struct regmap *regmap = cfg->regmap; in ldo6_parse_dt()
113 static const char * const props[] = { "rohm,dvs-run-voltage", in ldo6_parse_dt()
114 "rohm,dvs-idle-voltage", in ldo6_parse_dt()
115 "rohm,dvs-suspend-voltage", in ldo6_parse_dt()
116 "rohm,dvs-lpsr-voltage" }; in ldo6_parse_dt()
123 if (ret != -EINVAL) in ldo6_parse_dt()
132 ret = regmap_update_bits(regmap, desc->enable_reg, mask[i], en); in ldo6_parse_dt()
197 .dvs = {
240 .dvs = {
277 .dvs = {
312 .dvs = {
347 .dvs = {
386 .dvs = {
427 .dvs = {
464 .dvs = {
498 .dvs = {
532 .dvs = {
567 .dvs = {
602 * LDO5 is special. It can choose vsel settings to be configured
608 .dvs = {
640 /* SNVS LDO in data-sheet */
657 .dvs = {
684 .dev = pdev->dev.parent, in bd71828_probe()
687 config.regmap = dev_get_regmap(pdev->dev.parent, NULL); in bd71828_probe()
689 return -ENODEV; in bd71828_probe()
696 rdev = devm_regulator_register(&pdev->dev, in bd71828_probe()
697 &rd->desc, &config); in bd71828_probe()
699 return dev_err_probe(&pdev->dev, PTR_ERR(rdev), in bd71828_probe()
701 rd->desc.name); in bd71828_probe()
703 for (j = 0; j < rd->reg_init_amnt; j++) { in bd71828_probe()
705 rd->reg_inits[j].reg, in bd71828_probe()
706 rd->reg_inits[j].mask, in bd71828_probe()
707 rd->reg_inits[j].val); in bd71828_probe()
709 return dev_err_probe(&pdev->dev, ret, in bd71828_probe()
711 rd->desc.name); in bd71828_probe()
719 .name = "bd71828-pmic",
730 MODULE_ALIAS("platform:bd71828-pmic");