summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2021-04-13 17:02:21 +0800
committerDenys Drozdov <denys.drozdov@toradex.com>2021-07-15 13:54:55 +0300
commit030a9f0c9341a7c16161360efb1102826d6e87e3 (patch)
tree70567817a43e5cef3628ac36e50840651c36e841
parenteb0ef374e0daf617f32b7cc21ee76c4a3591f409 (diff)
MLK-25427 arm64: dts: imx8mp: add power-domains to irqsteer hdmi
There are some corner cases that system may hang when do suspend/resume. " [ 55.692047] dwhdmi-imx 32fd8000.hdmi: calling genpd_suspend_noirq+0x0/0x18 @ 590, parent: 32c00000.bus [ 55.701376] dwhdmi-imx 32fd8000.hdmi: genpd_suspend_noirq+0x0/0x18 returned 0 after 17 usecs [ 55.709824] imx-irqsteer 32fc2000.irqsteer: calling pm_runtime_force_suspend+0x0/0xd0 @ 590, parent: 32c00000.bus hang.... " It is because hdmi root clk is disabled. In our current code implementation, we assume to access registers with only hdmi apb clk enabled. In our suspend test, we see cases that hdmi root gate clk is disabled, hdmi apb clk is enabled, but system still hang. So Per test, we need hdmi root clk also be enabled to access registers. Considering the complexity of enabling hdmi root clk to clk-hdmimix.c, we directly add the power-domains property to irqsteer hdmi node. The power domain driver handled the clk and the irqsteer driver support runtime pm. So take simple workaround, add property "power-domains = <&hdmimix_pd>;" to irqsteer hdmi node. Reviewed-by: Jacky Bai <ping.bai@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp.dtsi1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 62ac5c025a5f..34ebc97e144d 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1601,6 +1601,7 @@
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
assigned-clock-rates = <200000000>;
resets = <&hdmimix_reset IMX_HDMIMIX_IRQ_STEER_RESET>;
+ power-domains = <&hdmimix_pd>;
status = "disabled";
};