summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/suspend-imx7.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/suspend-imx7.S')
-rw-r--r--arch/arm/mach-imx/suspend-imx7.S23
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/arm/mach-imx/suspend-imx7.S b/arch/arm/mach-imx/suspend-imx7.S
index 2b279795be53..5f4e31152a69 100644
--- a/arch/arm/mach-imx/suspend-imx7.S
+++ b/arch/arm/mach-imx/suspend-imx7.S
@@ -81,6 +81,8 @@
#define GPC_PGC_C0 0x800
#define GPC_PGC_FM 0xa00
#define ANADIG_SNVS_MISC_CTRL 0x380
+#define ANADIG_SNVS_MISC_CTRL_SET 0x384
+#define ANADIG_SNVS_MISC_CTRL_CLR 0x388
#define ANADIG_DIGPROG 0x800
#define DDRC_STAT 0x4
#define DDRC_PWRCTL 0x30
@@ -307,9 +309,9 @@
ldr r11, [r0, #PM_INFO_MX7_ANATOP_V_OFFSET]
ldr r7, [r11, #ANADIG_DIGPROG]
- and r7, r7, #0x11
- cmp r7, #0x10
- beq 10f
+ and r7, r7, #0xff
+ cmp r7, #0x11
+ bne 10f
/* TO 1.1 */
ldr r11, [r0, #PM_INFO_MX7_IOMUXC_GPR_V_OFFSET]
@@ -336,11 +338,12 @@
ldr r7, [r11, r6]
orr r7, r7, #0x1
str r7, [r11, r6]
+11:
/* turn off ddr power */
ldr r11, [r0, #PM_INFO_MX7_ANATOP_V_OFFSET]
ldr r7, =(0x1 << 29)
- str r7, [r11, #ANADIG_SNVS_MISC_CTRL]
-11:
+ str r7, [r11, #ANADIG_SNVS_MISC_CTRL_SET]
+
ldr r11, [r0, #PM_INFO_MX7_SRC_V_OFFSET]
ldr r6, =0x1000
ldr r7, [r11, r6]
@@ -367,7 +370,7 @@
/* turn on ddr power */
ldr r7, =(0x1 << 29)
- str r7, [r1, #ANADIG_SNVS_MISC_CTRL]
+ str r7, [r1, #ANADIG_SNVS_MISC_CTRL_CLR]
ldr r6, =50
wait_delay
@@ -402,9 +405,9 @@
str r7, [r2, r6]
ldr r7, [r1, #ANADIG_DIGPROG]
- and r7, r7, #0x11
- cmp r7, #0x10
- beq 12f
+ and r7, r7, #0xff
+ cmp r7, #0x11
+ bne 12f
/*
* TKT262940:
@@ -419,7 +422,7 @@
str r7, [r11]
12:
ldr r7, =(0x1 << 30)
- str r7, [r1, #ANADIG_SNVS_MISC_CTRL]
+ str r7, [r1, #ANADIG_SNVS_MISC_CTRL_SET]
/* need to delay ~5mS */
ldr r6, =0x100000