[PATCH v2 3/3] power: pmic: axp: Bind regulators from the DT
Andre Przywara
andre.przywara at arm.com
Sun Jan 22 18:39:52 CET 2023
On Sat, 21 Jan 2023 17:13:06 -0600
Samuel Holland <samuel at sholland.org> wrote:
Hi,
> Now that a regulator driver exists for this PMIC, hook it up to the
> device tree "regulators" subnodes.
>
> Signed-off-by: Samuel Holland <samuel at sholland.org>
> ---
>
> (no changes since v1)
>
> 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 e0005994e2..025dac24f2 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" },
Technically I think this list misses "rtc" (for rtc[_-]ldo), but those
are real fixed regulators, and I see only one weird consumer (GPS
device in sun8i-a83t-tbs-a711.dts, not relevant to U-Boot), so I think
it's fine. Should an actual user emerge, we can always add it.
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> + { "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);
More information about the U-Boot
mailing list