Lines Matching +full:dvs +full:- +full:gpio

1 // SPDX-License-Identifier: GPL-2.0-only
3 // bd71828-regulator.c ROHM BD71828GW-DS1 regulator driver
8 #include <linux/gpio.h>
11 #include <linux/mfd/rohm-bd71828.h>
27 const struct rohm_dvs_config dvs; member
34 * DVS Buck voltages can be changed by register values or via GPIO.
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()
198 .dvs = {
244 .dvs = {
281 .dvs = {
322 .dvs = {
363 .dvs = {
408 .dvs = {
449 .dvs = {
486 .dvs = {
526 .dvs = {
566 .dvs = {
607 .dvs = {
649 * from 2 different registers (by GPIO).
654 .dvs = {
692 /* SNVS LDO in data-sheet */
709 .dvs = {
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"
787 MODULE_ALIAS("platform:bd71828-pmic");