On Tue, 2024-07-02 at 20:28 +0100, Vitor Soares wrote: > On Mon, 2024-07-01 at 23:59 +0000, Peng Fan wrote: > > > Subject: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain > > > parents > > > > > > From: Vitor Soares <vitor.soares@xxxxxxxxxxx> > > > > > > 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@xxxxxxxxxxxxxxx> > > > Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes") > > > Link: > > > Suggested-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > > > Signed-off-by: Vitor Soares <vitor.soares@xxxxxxxxxxx> > > > > For VPU-Less 8MP, all the VPU PGC nodes should be dropped, > > right? > > They don't need to be dropped. Taking the iMX8MM Lite variante as example (it > also doesn't have VPU), the nodes are there and this issue is not present. > > > > > Why not use bootloader to update the device tree based on fuse > > settings? > > While fixing VPU blk-ctrl suspend/resume functionality, I received feedback > that > this VPU GPC dependency is incorrect and is up to VPU blk-ctrl to control the > GPC domains. You find it here: https://lore.kernel.org/all/fcd6acc268b8642371cf289149b2b1c3e90c7f45.camel@xxxxxxxxxxxxxx/ Regards, Vitor Soares > As we disable the VPU blk-ctrl node on the bootloader, removing the dependency > solves the issue. > > Regards, > Vitor Soares > > > > 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 > > >