diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2018-05-02 11:21:06 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2018-12-24 01:27:33 +0100 |
commit | 0bdcbf1e6a75d054559f1cc0c07e82aca32f2827 (patch) | |
tree | 12650b3dee974beb2ad05330a070641cb56645a0 | |
parent | dcf44f91b98ba6c22113c24a33e6a40690d1bee0 (diff) |
arm: imx: gpc: do not poweroff M/F mix in suspend
The Colibri iMX6ULL 256MB crashes in resume if the M/F mix domain is
powered down when suspending.
With this workaround this does not happen.
Crash looks as follows:
root@colibri-imx6ull:~# echo +3 > /sys/class/rtc/rtc1/wakealarm; echo mem > /sys/power/state
[ 52.800741] PM: Syncing filesystems ... done.
[ 52.856715] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 52.865669] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 52.875024] Suspending console(s) (use no_console_suspend to debug)
[ 52.950638] PM: suspend of devices complete after 68.211 msecs
[ 52.952506] PM: late suspend of devices complete after 1.835 msecs
[ 52.954292] PM: noirq suspend of devices complete after 1.757 msecs
[ 52.954300] Disabling non-boot CPUs ...
[ 52.954307] Turn off M/F mix!
[ 52.955663] PM: noirq resume of devices complete after 1.222 msecs
[ 52.956767] imx-sdma 20ec000.sdma: loaded firmware 3.3
[ 52.957669] PM: early resume of devices complete after 1.411 msecs
[ 52.959140] gpmi-nand 1806000.gpmi-nand: use legacy bch geometry
[ 53.005653] Suspended for 2.907 seconds
[ 53.012207] PM: resume of devices complete after 54.507 msecs
[ 53.073751] Restarting tasks ... done.
root@colibri-imx6ull:~# [ 55.049753] gpmi-nand 1806000.gpmi-nand: DMA timeout, last DMA :2
[ 55.056377] gpmi-nand 1806000.gpmi-nand: Show GPMI registers :
[ 55.062835] gpmi-nand 1806000.gpmi-nand: offset 0x000 : 0x00000000
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r-- | arch/arm/mach-imx/gpc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c index 551ecd0f2a4f..75a09e09fb4d 100644 --- a/arch/arm/mach-imx/gpc.c +++ b/arch/arm/mach-imx/gpc.c @@ -198,6 +198,7 @@ unsigned int imx_gpc_is_mf_mix_off(void) static void imx_gpc_mf_mix_off(void) { +#if 0 int i; for (i = 0; i < IMR_NUM; i++) @@ -208,6 +209,7 @@ static void imx_gpc_mf_mix_off(void) pr_info("Turn off M/F mix!\n"); /* turn off mega/fast mix */ writel_relaxed(0x1, gpc_base + GPC_PGC_MF_PDN); +#endif } void imx_gpc_set_arm_power_up_timing(u32 sw2iso, u32 sw) |