3 of 6 Customized IMX6SL boards failed DDR calibration and stress test

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

3 of 6 Customized IMX6SL boards failed DDR calibration and stress test

1,290 Views
AccuJie
Contributor III

Hi, 

We made 6 customized imx6sl based boards which uses the ISSI's LPDDR2(IS43LD32128A  4GB).  Only 2 boards can pass DDR calibration and test. During DDR test, I tried several different Driver Strength value. It seems only 34ohm has some improve. Even though, only 3 passed DDR calibration and stress test. Other boards passed calibration occasionally(succeed once over 10) but always failed at stress test. Also, I tried to use some combination of (MR1) and (MR2). There is no any improvement. Is there any other register values I should modify or configure? Do you have any suggestions? Thanks for your help.

Following is the configuration of my IMX6SL_LPDDR2 script:

AccuJie_0-1613786477643.png

The error information for LPDDR2 calibration:


============================================
DDR Stress Test (3.0.0)
Build: Dec 14 2018, 14:12:40
NXP Semiconductors.
============================================

============================================
Chip ID
CHIP ID = i.MX6 SoloLite (0x60)
Internal Revision = TO1.4
============================================

============================================
Boot Configuration
SRC_SBMR1(0x020d8004) = 0x00003440
SRC_SBMR2(0x020d801c) = 0x02000001
============================================

ARM Clock set to 1GHz

============================================
DDR configuration
DDR type is LPDDR2 in 1-channel mode.
Data width: 32, bank num: 8
Row size: 14, col size: 10
Chip select CSD0 is used
Density per chip select: 512MB
Density per channel: 512MB
============================================

Current Temperature: 38
============================================

DDR Freq: 396 MHz

Note: Array result[] holds the DRAM test result of each byte.
0: test pass. 1: test fail
4 bits respresent the result of 1 byte.
result 0001:byte 0 fail.
result 0011:byte 0, 1 fail.

Starting Read calibration...

ABS_OFFSET=0x00000000 result[00]=0x1111
ABS_OFFSET=0x04040404 result[01]=0x1111
ABS_OFFSET=0x08080808 result[02]=0x1001
ABS_OFFSET=0x0C0C0C0C result[03]=0x1001
ABS_OFFSET=0x10101010 result[04]=0x1001
ABS_OFFSET=0x14141414 result[05]=0x1001
ABS_OFFSET=0x18181818 result[06]=0x1001
ABS_OFFSET=0x1C1C1C1C result[07]=0x1001
ABS_OFFSET=0x20202020 result[08]=0x1001
ABS_OFFSET=0x24242424 result[09]=0x1001
ABS_OFFSET=0x28282828 result[0A]=0x1001
ABS_OFFSET=0x2C2C2C2C result[0B]=0x1001
ABS_OFFSET=0x30303030 result[0C]=0x1001
ABS_OFFSET=0x34343434 result[0D]=0x1001
ABS_OFFSET=0x38383838 result[0E]=0x1001
ABS_OFFSET=0x3C3C3C3C result[0F]=0x1001
ABS_OFFSET=0x40404040 result[10]=0x1001
ABS_OFFSET=0x44444444 result[11]=0x1001
ABS_OFFSET=0x48484848 result[12]=0x1001
ABS_OFFSET=0x4C4C4C4C result[13]=0x1001
ABS_OFFSET=0x50505050 result[14]=0x1001
ABS_OFFSET=0x54545454 result[15]=0x1001
ABS_OFFSET=0x58585858 result[16]=0x1001
ABS_OFFSET=0x5C5C5C5C result[17]=0x1001
ABS_OFFSET=0x60606060 result[18]=0x1001
ABS_OFFSET=0x64646464 result[19]=0x1111
ABS_OFFSET=0x68686868 result[1A]=0x1111
ABS_OFFSET=0x6C6C6C6C result[1B]=0x1111
ABS_OFFSET=0x70707070 result[1C]=0x1111
ABS_OFFSET=0x74747474 result[1D]=0x1111
ABS_OFFSET=0x78787878 result[1E]=0x1111
ABS_OFFSET=0x7C7C7C7C result[1F]=0x1111

ERROR FOUND, we can't get suitable value !!!!
dram test fails for all values.

Error: failed during ddr calibration

 

The following is stress test error:


============================================
DDR Stress Test (3.0.0)
Build: Dec 14 2018, 14:12:40
NXP Semiconductors.
============================================

============================================
Chip ID
CHIP ID = i.MX6 SoloLite (0x60)
Internal Revision = TO1.4
============================================

============================================
Boot Configuration
SRC_SBMR1(0x020d8004) = 0x00000000
SRC_SBMR2(0x020d801c) = 0x02000001
============================================

ARM Clock set to 1GHz

============================================
DDR configuration
DDR type is LPDDR2 in 1-channel mode.
Data width: 32, bank num: 8
Row size: 14, col size: 10
Chip select CSD0 is used
Density per chip select: 512MB
Density per channel: 512MB
============================================


DDR Stress Test Iteration 1
Current Temperature: 41
============================================

DDR Freq: 396 MHz
t0.1: data is addr test
Address of failure(step2): 0x80000080
Data was: 0x800000ba
But pattern should match address
Error: failed to run stress test!!!

 

Thanks

0 Kudos
4 Replies

1,230 Views
john_phillippe
NXP Employee
NXP Employee

Have you tried reducing the memory bus speed to see if you get a passing result?

What differences if any are there from the EVK Reference design?

0 Kudos

1,222 Views
AccuJie
Contributor III

Hi John,

Thanks for your reply. Yes we tried to reduce the frequency when doing DDR test. However, it seems the result doesn't have too much relation with DDR frequency. We use the same PMIC of imx6sslevk reference design. The only change is DDR chips. We use IS43ld32128a(4Gb) instead of MT42L256M32D2(8Gb). 

 

The good boards can pass stress test from 300Mhz to 600MHz.
 

The bad boards always failed at Byte 0 during Read and/or Write calibration. The results were not stable. Most of the time, if the board pass the calibration at first try and I click the calibration button again, it will fail at Byte 0. Here I attached some calibration result of our boards. Thanks for your help and time again.

0 Kudos

1,201 Views
john_phillippe
NXP Employee
NXP Employee

Did you copy the design/layout of the i.MX6SL EVK exactly and just change memory parts?  Have you x-ray'd the board to check for opens/shorts on the ddr memory?

0 Kudos

1,240 Views
AccuJie
Contributor III

We still cannot confirm if that is a DDR configuration issue or is a hardware issue.

Really appreciate if anyone has any suggestions. 

 

Thanks.

0 Kudos