summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2016-05-08 22:29:57 +0800
committerAnson Huang <Anson.Huang@nxp.com>2016-05-09 18:47:05 +0800
commit3c5628ccf4459bef29471889b9af255a388244fa (patch)
treeb25cd0ed34a071f40d4f7d6d55790bdb2684b23f
parent9ebc4988446ff7c6bdba6257b61de3a88a01d418 (diff)
downloadu-boot-imx-3c5628ccf4459bef29471889b9af255a388244fa.zip
u-boot-imx-3c5628ccf4459bef29471889b9af255a388244fa.tar.gz
u-boot-imx-3c5628ccf4459bef29471889b9af255a388244fa.tar.bz2
MLK-12748-3 imx: adjust imx7d lpddr3 lpsr exit flow
On i.MX7D lpddr3, retention mode exit flow should restore more registers to make sure the ddr controller and ddr phy settings restored properly, otherwise, some of the boards can NOT pass memtester after retention mode exited. For LPSR mode, ddr resume flow is same as retention mode, just adjust it accordingly. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
-rw-r--r--board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S14
1 files changed, 13 insertions, 1 deletions
diff --git a/board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S b/board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S
index fbcd682..aaf65c2 100644
--- a/board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S
+++ b/board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S
@@ -151,7 +151,7 @@ TUNE_END:
str r7, [r3, r6]
ldr r6, =0x108
- ldr r7, =0x03060707
+ ldr r7, =0x03060708
str r7, [r3, r6]
ldr r6, =0x10c
@@ -174,6 +174,10 @@ TUNE_END:
ldr r7, =0x00000202
str r7, [r3, r6]
+ ldr r6, =0x120
+ ldr r7, =0x00000202
+ str r7, [r3, r6]
+
ldr r6, =0x180
ldr r7, =0x00600018
str r7, [r3, r6]
@@ -198,6 +202,10 @@ TUNE_END:
ldr r7, =0x00171717
str r7, [r3, r6]
+ ldr r6, =0x210
+ ldr r7, =0xF00
+ str r7, [r3, r6]
+
ldr r6, =0x214
ldr r7, =0x05050505
str r7, [r3, r6]
@@ -267,6 +275,10 @@ TUNE_END:
ldr r7, =0x0007080C
str r7, [r4, r6]
+ ldr r6, =0xb0
+ ldr r7, =0x1010007e
+ str r7, [r4, r6]
+
ldr r7, [r1, #0x800]
and r7, r7, #0xFF
cmp r7, #0x11