Subject: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents
From: Vitor Soares vitor.soares@toradex.com
On iMX8M Plus QuadLite (VPU-less SoC), the dependency between VPU power domains lead to a deferred probe error during boot: [ 17.140195] imx-pgc imx-pgc-domain.8: failed to command PGC [ 17.147183] platform imx-pgc-domain.11: deferred probe pending: (reason unknown) [ 17.147200] platform imx-pgc-domain.12: deferred probe pending: (reason unknown) [ 17.147207] platform imx-pgc-domain.13: deferred probe pending: (reason unknown)
This is incorrect and should be the VPU blk-ctrl controlling these power domains, which is already doing it.
After removing the `power-domain` property from the VPU PGC nodes, both iMX8M Plus w/ and w/out VPU boot correctly. However, it breaks the suspend/resume functionality. A fix for this is pending, see Links.
Cc: stable@vger.kernel.org Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes") Link: Suggested-by: Lucas Stach l.stach@pengutronix.de Signed-off-by: Vitor Soares vitor.soares@toradex.com
For VPU-Less 8MP, all the VPU PGC nodes should be dropped, right?
Why not use bootloader to update the device tree based on fuse settings?
Regards, Peng.
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 3 --- 1 file changed, 3 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index b92abb5a5c53..12548336b736 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -882,21 +882,18 @@ pgc_vpumix: power-domain@19 {
pgc_vpu_g1: power-
domain@20 { #power-domain- cells = <0>;
power-domains =
<&pgc_vpumix>; reg = <IMX8MP_POWER_DOMAIN_VPU_G1>; clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>; };
pgc_vpu_g2: power-
domain@21 { #power-domain- cells = <0>;
power-domains =
<&pgc_vpumix>; reg = <IMX8MP_POWER_DOMAIN_VPU_G2>; clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>; };
pgc_vpu_vc8000e: power-
domain@22 { #power-domain- cells = <0>;
power-domains =
<&pgc_vpumix>; reg = <IMX8MP_POWER_DOMAIN_VPU_VC8000E>; clocks = <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>; }; -- 2.34.1