diff options
author | Jacky Bai <ping.bai@nxp.com> | 2019-03-04 09:49:06 +0800 |
---|---|---|
committer | Jacky Bai <ping.bai@nxp.com> | 2019-03-04 14:02:00 +0800 |
commit | 7dec20bcb6633c7feee1eb32a5d81356075a61f7 (patch) | |
tree | 750118116a7997951d472d94bb5521951db9345d /arch | |
parent | c9a1b023f2962cad8dd40380773b0ba37ce849e3 (diff) |
MLK-21031 arm: imx: fix standby resume hang on imx7ulp
When system resume from VLPS mode, DDR IO must be restored
before mmdc out of the self-fresh mode.
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Tested-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/suspend-imx7ulp.S | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/suspend-imx7ulp.S b/arch/arm/mach-imx/suspend-imx7ulp.S index 6e11c1c46c81..bd45e460f75f 100644 --- a/arch/arm/mach-imx/suspend-imx7ulp.S +++ b/arch/arm/mach-imx/suspend-imx7ulp.S @@ -427,7 +427,20 @@ wait_apll: orr r7, #(1 << 28) str r7, [r10, #SCG_NICCCR] + /* let mmdc io out of lpm */ + ldr r11, [r0, #PM_INFO_PM_INFO_MMDC_IO_VBASE_OFFSET] + ldr r10, [r0, #PM_INFO_MMDC_IO_NUM_OFFSET] + ldr r7, =PM_INFO_MMDC_IO_VAL_OFFSET + add r7, r7, r0 +mmdc_io_exit_lpm: + ldr r8, [r7], #0x4 + ldr r9, [r7], #0x4 + str r9, [r11, r8] + subs r10, r10, #0x1 + bne mmdc_io_exit_lpm + /* let DDR out of self-refresh */ + ldr r11, [r0, #PM_INFO_PM_INFO_MMDC_VBASE_OFFSET] ldr r7, [r11, #MX7ULP_MMDC_MAPSR] bic r7, r7, #(1 << 20) str r7, [r11, #MX7ULP_MMDC_MAPSR] |