Hi, On 2024-09-19 21:27, Sebastian Reichel wrote: > Hi, > > On Thu, Sep 19, 2024 at 01:33:25PM GMT, Jonas Karlman wrote: >> On 2024-09-19 11:12, Sebastian Reichel wrote: >>> Enabling the GPU power domain requires that the GPU regulator is >>> enabled. The regulator is enabled at boot time, but automatically >>> gets disabled when there are no users. >>> >>> If the GPU driver is not probed at boot time or rebound while >>> the system is running the system will try to enable the power >>> domain before the regulator is enabled resulting in a failure >>> hanging the whole system. Avoid this by adding an explicit >>> dependency. >>> >>> Reported-by: Adrián Martínez Larumbe <adrian.larumbe@xxxxxxxxxxxxx> >>> Tested-by: Adrian Larumbe <adrian.larumbe@xxxxxxxxxxxxx> # On Rock 5B >>> Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> >>> --- >>> arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 2 +- >>> arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588.dtsi | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts | 4 ++++ >>> arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts | 4 ++++ >>> 12 files changed, 45 insertions(+), 1 deletion(-) >> >> Any reason why following rk3588 DTs was not updated? >> >> rk3588-evb1-v10.dts >> rk3588-quartzpro64.dts > > These two I skipped initially, since they have the GPU regulators > always enabled due to the coupling. I'm not 100% sure if the GPU > or the GPU-MEM regulator (or both) are required for the GPU power > domain. > >> rk3588-nanopc-t6.dtsi >> rk3588s-gameforce-ace.dts >> rk3588s-odroid-m2.dts > > ... And these I missed, since they are new. Great, so no technical reason :-) > > I don't have enough time to prepare a v3 before my vacation. > Note, that not describing the regulator just keeps the current > behaviour. Yeah, remaining boards can be updated in a separate/follow-up series. > >> I also expect we may need to define domain-supply for the npu on >> rk3588 and also both gpu and npu on rk356x in a future series. > > Yes, I already discussed that in Vienna with Heiko and Tomeu. The > binding change also allows adding a regulator to the NPU power > domain. Great and good to know. > >> Similar freeze issue has been observed on rk356x when booting vendor >> kernel with npu support enabled using mainline U-Boot and DT [1]. >> >> To work around that issue on rk356x the npu regulator could be changed >> to always-on/boot-on to get past the kernel freeze [2]. >> >> [1] https://github.com/armbian/build/pull/7025#issuecomment-2291067748 >> [2] https://github.com/Kwiboo/u-boot-rockchip/commit/da31da4b68f858f54364a21b0dd00fef2ab0d0d6 > > Yes, that looks like the same issue and I guess the changes to the Rockchip > power-domain driver should also work for rk356x. I don't have one, though. I will test this series and try to add domain-supply for GPU and NPU on a few rk356x boards, should help avoid possible issues in future. Will also send a U-Boot series to enable RK806 PMIC support on a few more rk3588 boards, should help ensure always-on/boot-on PMIC regulators are enabled before Linux is started. Regards, Jonas > > -- Sebastian