diff options
author | Peng Fan <peng.fan@nxp.com> | 2021-04-13 17:02:21 +0800 |
---|---|---|
committer | Denys Drozdov <denys.drozdov@toradex.com> | 2021-07-15 13:54:55 +0300 |
commit | 030a9f0c9341a7c16161360efb1102826d6e87e3 (patch) | |
tree | 70567817a43e5cef3628ac36e50840651c36e841 | |
parent | eb0ef374e0daf617f32b7cc21ee76c4a3591f409 (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.dtsi | 1 |
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"; }; |