power: pmic: axp: Bind regulators from the DT

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

Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
This commit is contained in:
Samuel Holland
2023-01-21 17:13:06 -06:00
committed by Andre Przywara
parent 27a93dd4a9
commit 55ad509c11

View File

@@ -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);