iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()

vitor ivitro at gmail.com
Fri Apr 5 08:06:25 PDT 2024


Hi,

On Thu, 2024-04-04 at 16:53 +0100, vitor wrote:
> Greetings,
> 
> I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
> the latest 6.9.0-rc2 Kernel. While the system can suspend without
> issues, it hangs on the resume routine. After some investigation, I
> can
> see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
> the hantro-vpu power domain.
> 
> Any hint about that?
> 
> [1]
> https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx
> /imx8m-blk-ctrl.c#L101
> 

Looking at other child nodes of the pgc node, pgc_vpu_[g1|g2|h1] seems
to be nested into pgc_vpumix.

After applying the following changes to imx8mm.dtsi, the suspend/resume
is working.


@@ -739,16 +739,19 @@ pgc_vpumix: power-domain at 6 {
	pgc_vpu_g1: power-domain at 7 {
		#power-domain-cells = <0>;
		reg = <IMX8MM_POWER_DOMAIN_VPUG1>;
+		power-domains = <&pgc_vpumix>;
	};

	pgc_vpu_g2: power-domain at 8 {
		#power-domain-cells = <0>;
		reg = <IMX8MM_POWER_DOMAIN_VPUG2>;
+		power-domains = <&pgc_vpumix>;
	};

	pgc_vpu_h1: power-domain at 9 {
		#power-domain-cells = <0>;
		reg = <IMX8MM_POWER_DOMAIN_VPUH1>;
+		power-domains = <&pgc_vpumix>;
	};


I will prepare the patch to send in the next couple of days.

Regards,
Vitor Soares



More information about the linux-arm-kernel mailing list