Lines Matching +full:bd71828 +full:- +full:pmic
1 // SPDX-License-Identifier: GPL-2.0-only
3 // bd71828-regulator.c ROHM BD71828GW-DS1 regulator driver
10 #include <linux/mfd/rohm-bd71828.h>
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()
691 /* SNVS LDO in data-sheet */
738 .dev = pdev->dev.parent, in bd71828_probe()
741 config.regmap = dev_get_regmap(pdev->dev.parent, NULL); in bd71828_probe()
743 return -ENODEV; in bd71828_probe()
750 rdev = devm_regulator_register(&pdev->dev, in bd71828_probe()
751 &rd->desc, &config); in bd71828_probe()
753 return dev_err_probe(&pdev->dev, PTR_ERR(rdev), in bd71828_probe()
755 rd->desc.name); in bd71828_probe()
757 for (j = 0; j < rd->reg_init_amnt; j++) { in bd71828_probe()
759 rd->reg_inits[j].reg, in bd71828_probe()
760 rd->reg_inits[j].mask, in bd71828_probe()
761 rd->reg_inits[j].val); in bd71828_probe()
763 return dev_err_probe(&pdev->dev, ret, in bd71828_probe()
765 rd->desc.name); in bd71828_probe()
773 .name = "bd71828-pmic",
782 MODULE_DESCRIPTION("BD71828 voltage regulator driver");
784 MODULE_ALIAS("platform:bd71828-pmic");