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:40:05 +0800
commit1d8cca6b320d3a6bbac1ba22a437df85d132d596 (patch)
treeedada5ae06a30d7b69bfbe75051f2f83bd264815
parentf63c93eacd999d7dab7262f63353f04947e0e0ca (diff)
downloadu-boot-imx-1d8cca6b320d3a6bbac1ba22a437df85d132d596.zip
u-boot-imx-1d8cca6b320d3a6bbac1ba22a437df85d132d596.tar.gz
u-boot-imx-1d8cca6b320d3a6bbac1ba22a437df85d132d596.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 ee4d217..a097799 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]
@@ -264,6 +272,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