Lines Matching +full:bd71828 +full:- +full:pmic
1 // SPDX-License-Identifier: GPL-2.0-only
3 // bd71828-regulator.c ROHM BD71828GW-DS1 regulator driver
11 #include <linux/mfd/rohm-bd71828.h>
103 return rohm_regulator_set_dvs_levels(&data->dvs, np, desc, cfg->regmap); in buck_set_hw_dvs_levels()
113 struct regmap *regmap = cfg->regmap; in ldo6_parse_dt()
114 static const char * const props[] = { "rohm,dvs-run-voltage", in ldo6_parse_dt()
115 "rohm,dvs-idle-voltage", in ldo6_parse_dt()
116 "rohm,dvs-suspend-voltage", in ldo6_parse_dt()
117 "rohm,dvs-lpsr-voltage" }; in ldo6_parse_dt()
124 if (ret != -EINVAL) in ldo6_parse_dt()
133 ret = regmap_update_bits(regmap, desc->enable_reg, mask[i], en); in ldo6_parse_dt()
692 /* SNVS LDO in data-sheet */
739 .dev = pdev->dev.parent, in bd71828_probe()
742 config.regmap = dev_get_regmap(pdev->dev.parent, NULL); in bd71828_probe()
744 return -ENODEV; in bd71828_probe()
751 rdev = devm_regulator_register(&pdev->dev, in bd71828_probe()
752 &rd->desc, &config); in bd71828_probe()
754 dev_err(&pdev->dev, in bd71828_probe()
756 rd->desc.name); in bd71828_probe()
759 for (j = 0; j < rd->reg_init_amnt; j++) { in bd71828_probe()
761 rd->reg_inits[j].reg, in bd71828_probe()
762 rd->reg_inits[j].mask, in bd71828_probe()
763 rd->reg_inits[j].val); in bd71828_probe()
765 dev_err(&pdev->dev, in bd71828_probe()
767 rd->desc.name); in bd71828_probe()
777 .name = "bd71828-pmic"
785 MODULE_DESCRIPTION("BD71828 voltage regulator driver");
787 MODULE_ALIAS("platform:bd71828-pmic");