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>
112 dev_err(&rdev->dev, in bd71828_set_ramp_delay()
118 * On BD71828 the ramp delay level control reg is at offset +2 to in bd71828_set_ramp_delay()
121 return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg + 2, in bd71828_set_ramp_delay()
123 val << (ffs(BD71828_MASK_RAMP_DELAY) - 1)); in bd71828_set_ramp_delay()
134 return rohm_regulator_set_dvs_levels(&data->dvs, np, desc, cfg->regmap); in buck_set_hw_dvs_levels()
144 struct regmap *regmap = cfg->regmap; in ldo6_parse_dt()
145 static const char * const props[] = { "rohm,dvs-run-voltage", in ldo6_parse_dt()
146 "rohm,dvs-idle-voltage", in ldo6_parse_dt()
147 "rohm,dvs-suspend-voltage", in ldo6_parse_dt()
148 "rohm,dvs-lpsr-voltage" }; in ldo6_parse_dt()
155 if (ret != -EINVAL) in ldo6_parse_dt()
164 ret = regmap_update_bits(regmap, desc->enable_reg, mask[i], en); in ldo6_parse_dt()
707 /* SNVS LDO in data-sheet */
752 struct rohm_regmap_dev *bd71828; in bd71828_probe() local
755 .dev = pdev->dev.parent, in bd71828_probe()
758 bd71828 = dev_get_drvdata(pdev->dev.parent); in bd71828_probe()
759 if (!bd71828) { in bd71828_probe()
760 dev_err(&pdev->dev, "No MFD driver data\n"); in bd71828_probe()
761 return -EINVAL; in bd71828_probe()
764 config.regmap = bd71828->regmap; in bd71828_probe()
771 rdev = devm_regulator_register(&pdev->dev, in bd71828_probe()
772 &rd->desc, &config); in bd71828_probe()
774 dev_err(&pdev->dev, in bd71828_probe()
776 rd->desc.name); in bd71828_probe()
779 for (j = 0; j < rd->reg_init_amnt; j++) { in bd71828_probe()
780 ret = regmap_update_bits(bd71828->regmap, in bd71828_probe()
781 rd->reg_inits[j].reg, in bd71828_probe()
782 rd->reg_inits[j].mask, in bd71828_probe()
783 rd->reg_inits[j].val); in bd71828_probe()
785 dev_err(&pdev->dev, in bd71828_probe()
787 rd->desc.name); in bd71828_probe()
797 .name = "bd71828-pmic"
805 MODULE_DESCRIPTION("BD71828 voltage regulator driver");
807 MODULE_ALIAS("platform:bd71828-pmic");