summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2022-04-13 01:42:49 +0300
committerStefano Babic <sbabic@denx.de>2022-04-21 13:44:23 +0300
commit8741d9275626dc2fdea725b6c5bdcd824c03a526 (patch)
tree45570ac454b04e1f579f1701804685dc4d66d675 /drivers
parent20874a60722b2b282e29b0819198c1649eff65f2 (diff)
downloadu-boot-8741d9275626dc2fdea725b6c5bdcd824c03a526.tar.xz
imx: power-domain: Descend into pgc subnode if present
In case the power domain node structure is gpc@303a0000/pgc/power-domain@N, do not bind power domain driver to the 'pgc' node, but rather descend into it and only bind power domain drivers to power-domain@N subnodes. This way we do not waste one useless driver instance associated with 'pgc' node. Tested-By: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice-defconfig Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/power/domain/imx8m-power-domain.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c
index 6082ee6ff8..ac7411f832 100644
--- a/drivers/power/domain/imx8m-power-domain.c
+++ b/drivers/power/domain/imx8m-power-domain.c
@@ -73,6 +73,12 @@ static int imx8m_power_domain_bind(struct udevice *dev)
/* Bind the subnode to this driver */
name = fdt_get_name(gd->fdt_blob, offset, NULL);
+ /* Descend into 'pgc' subnode */
+ if (!strstr(name, "power-domain")) {
+ offset = fdt_first_subnode(gd->fdt_blob, offset);
+ name = fdt_get_name(gd->fdt_blob, offset, NULL);
+ }
+
ret = device_bind_with_driver_data(dev, dev->driver, name,
dev->driver_data,
offset_to_ofnode(offset),