diff options
author | Ye Li <ye.li@nxp.com> | 2016-12-01 13:39:41 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 19:48:57 +0800 |
commit | d78d25cfb4cf64507e5839e525ce82e0897a609c (patch) | |
tree | b28a3e5b2c1ebf22c3ee0b1a14bc864efc18d09f /board/freescale/mx7d_19x19_lpddr3_arm2 | |
parent | dc2318b60ba7be0b313580e0e8f6556d09a962fa (diff) | |
download | u-boot-imx-d78d25cfb4cf64507e5839e525ce82e0897a609c.zip u-boot-imx-d78d25cfb4cf64507e5839e525ce82e0897a609c.tar.gz u-boot-imx-d78d25cfb4cf64507e5839e525ce82e0897a609c.tar.bz2 |
MLK-13586-1 mx7d_arm2: Update lpddr3 script to V2.0 for Bank interleave
To improve the performance, enable the bank interleave for LPDDR3. Update
the LPDDR3 settings to new script IMX7D_LPDDR3_533MHz_2GB_32bit_V2.0.ds5.
Changes:
1. Enable bank interleave
2. Improve the drive strength for non-TO1.1 chips.
3. Updates ZQ_CON0 settings.
4. Change to 0 for reserved bits.
File:
http://compass.freescale.net/livelink/livelink?func=ll&objid=233861153&objAction=browse&sort=name&viewType=1
Test:
Passed stress test on one 19x19 lpddr3 arm2 and one 12x12 lpddr3 arm2.
Passed LPSR test on one 12x12 lpddr3 arm2.
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 9a4fa3f8d2762791a76fd90e83feec8c8c9235b0)
Diffstat (limited to 'board/freescale/mx7d_19x19_lpddr3_arm2')
-rw-r--r-- | board/freescale/mx7d_19x19_lpddr3_arm2/imximage.cfg | 19 | ||||
-rw-r--r-- | board/freescale/mx7d_19x19_lpddr3_arm2/imximage_TO_1_1.cfg | 6 | ||||
-rw-r--r-- | board/freescale/mx7d_19x19_lpddr3_arm2/plugin.S | 31 |
3 files changed, 32 insertions, 24 deletions
diff --git a/board/freescale/mx7d_19x19_lpddr3_arm2/imximage.cfg b/board/freescale/mx7d_19x19_lpddr3_arm2/imximage.cfg index dd16856..8e6aef9 100644 --- a/board/freescale/mx7d_19x19_lpddr3_arm2/imximage.cfg +++ b/board/freescale/mx7d_19x19_lpddr3_arm2/imximage.cfg @@ -80,12 +80,12 @@ DATA 4 0x307a01a4 0x00100020 DATA 4 0x307a01a8 0x80100004 DATA 4 0x307a0200 0x00000016 -DATA 4 0x307a0204 0x00171717 +DATA 4 0x307a0204 0x00090909 DATA 4 0x307a0210 0x00000f00 -DATA 4 0x307a0214 0x05050505 -DATA 4 0x307a0218 0x0f0f0505 +DATA 4 0x307a0214 0x08080808 +DATA 4 0x307a0218 0x0f0f0808 -DATA 4 0x307a0240 0x06000601 +DATA 4 0x307a0240 0x06000600 DATA 4 0x307a0244 0x00000000 DATA 4 0x30391000 0x00000000 DATA 4 0x30790000 0x17421e40 @@ -95,20 +95,19 @@ DATA 4 0x30790010 0x0007080c DATA 4 0x307900b0 0x1010007e DATA 4 0x3079001C 0x01010000 -DATA 4 0x3079009c 0x0db60d6e +DATA 4 0x3079009c 0x00000b24 DATA 4 0x30790030 0x06060606 DATA 4 0x30790020 0x0a0a0a0a DATA 4 0x30790050 0x01000008 DATA 4 0x30790050 0x00000008 DATA 4 0x30790018 0x0000000f -DATA 4 0x307900c0 0x1e487304 -DATA 4 0x307900c0 0x1e487304 -DATA 4 0x307900c0 0x1e487306 -DATA 4 0x307900c0 0x1e4c7304 +DATA 4 0x307900c0 0x0e487304 +DATA 4 0x307900c0 0x0e4c7304 +DATA 4 0x307900c0 0x0e4c7306 CHECK_BITS_SET 4 0x307900c4 0x1 -DATA 4 0x307900c0 0x1e487304 +DATA 4 0x307900c0 0x0e487304 DATA 4 0x30384130 0x00000000 DATA 4 0x30340020 0x00000178 diff --git a/board/freescale/mx7d_19x19_lpddr3_arm2/imximage_TO_1_1.cfg b/board/freescale/mx7d_19x19_lpddr3_arm2/imximage_TO_1_1.cfg index 253b7cd..eab13d6 100644 --- a/board/freescale/mx7d_19x19_lpddr3_arm2/imximage_TO_1_1.cfg +++ b/board/freescale/mx7d_19x19_lpddr3_arm2/imximage_TO_1_1.cfg @@ -80,10 +80,10 @@ DATA 4 0x307a01a4 0x00100020 DATA 4 0x307a01a8 0x80100004 DATA 4 0x307a0200 0x00000016 -DATA 4 0x307a0204 0x00171717 +DATA 4 0x307a0204 0x00090909 DATA 4 0x307a0210 0x00000f00 -DATA 4 0x307a0214 0x05050505 -DATA 4 0x307a0218 0x0f0f0505 +DATA 4 0x307a0214 0x08080808 +DATA 4 0x307a0218 0x0f0f0808 DATA 4 0x307a0240 0x06000601 DATA 4 0x307a0244 0x00000000 diff --git a/board/freescale/mx7d_19x19_lpddr3_arm2/plugin.S b/board/freescale/mx7d_19x19_lpddr3_arm2/plugin.S index 319237a..85db174 100644 --- a/board/freescale/mx7d_19x19_lpddr3_arm2/plugin.S +++ b/board/freescale/mx7d_19x19_lpddr3_arm2/plugin.S @@ -122,16 +122,16 @@ TUNE_END: ldr r1, =0x00000016 str r1, [r0, #0x200] - ldr r1, =0x00171717 + ldr r1, =0x00090909 str r1, [r0, #0x204] ldr r1, =0x00000f00 str r1, [r0, #0x210] - ldr r1, =0x05050505 + ldr r1, =0x08080808 str r1, [r0, #0x214] - ldr r1, =0x0f0f0505 + ldr r1, =0x0f0f0808 str r1, [r0, #0x218] - ldr r1, =0x06000601 + ldr r1, =0x06000600 str r1, [r0, #0x240] mov r1, #0x0 str r1, [r0, #0x244] @@ -155,9 +155,20 @@ TUNE_END: str r1, [r0, #0xb0] ldr r1, =0x01010000 str r1, [r0, #0x1c] + + ldr r2, =ANATOP_BASE_ADDR + ldr r3, [r2, #0x800] + and r3, r3, #0xFF + cmp r3, #0x11 + bne 1f + ldr r1, =0x0db60d6e str r1, [r0, #0x9c] - + b 2f +1: + ldr r1, =0x00000b24 + str r1, [r0, #0x9c] +2: ldr r1, =0x06060606 str r1, [r0, #0x30] ldr r1, =0x0a0a0a0a @@ -169,13 +180,11 @@ TUNE_END: ldr r1, =0x0000000f str r1, [r0, #0x18] - ldr r1, =0x1e487304 - str r1, [r0, #0xc0] - ldr r1, =0x1e487304 + ldr r1, =0x0e487304 str r1, [r0, #0xc0] - ldr r1, =0x1e487306 + ldr r1, =0x0e4c7304 str r1, [r0, #0xc0] - ldr r1, =0x1e4c7304 + ldr r1, =0x0e4c7306 str r1, [r0, #0xc0] wait_zq: @@ -183,7 +192,7 @@ wait_zq: tst r1, #0x1 beq wait_zq - ldr r1, =0x1e487304 + ldr r1, =0x0e487304 str r1, [r0, #0xc0] ldr r0, =CCM_BASE_ADDR |