Now that a regulator driver exists for this PMIC, hook it up to the
device tree "regulators" subnodes.

Signed-off-by: Samuel Holland <sam...@sholland.org>
---

 drivers/power/pmic/axp.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/power/pmic/axp.c b/drivers/power/pmic/axp.c
index e0005994e21..025dac24f28 100644
--- a/drivers/power/pmic/axp.c
+++ b/drivers/power/pmic/axp.c
@@ -45,14 +45,32 @@ static struct dm_pmic_ops axp_pmic_ops = {
        .write          = dm_i2c_write,
 };
 
+static const struct pmic_child_info axp_pmic_child_info[] = {
+       { "aldo",       "axp_regulator" },
+       { "bldo",       "axp_regulator" },
+       { "cldo",       "axp_regulator" },
+       { "dc",         "axp_regulator" },
+       { "dldo",       "axp_regulator" },
+       { "eldo",       "axp_regulator" },
+       { "fldo",       "axp_regulator" },
+       { "ldo",        "axp_regulator" },
+       { "sw",         "axp_regulator" },
+       { }
+};
+
 static int axp_pmic_bind(struct udevice *dev)
 {
+       ofnode regulators_node;
        int ret;
 
        ret = dm_scan_fdt_dev(dev);
        if (ret)
                return ret;
 
+       regulators_node = dev_read_subnode(dev, "regulators");
+       if (ofnode_valid(regulators_node))
+               pmic_bind_children(dev, regulators_node, axp_pmic_child_info);
+
        if (CONFIG_IS_ENABLED(SYSRESET)) {
                ret = device_bind_driver_to_node(dev, "axp_sysreset", 
"axp_sysreset",
                                                 dev_ofnode(dev), NULL);
-- 
2.37.4

Reply via email to