AnsweredAssumed Answered

iMX6 DDR Stress test fail

Question asked by vu nguyen cong on Feb 24, 2016
Latest reply on Feb 25, 2016 by vu nguyen cong

Dear guys,

 

We had designed a custom board based on iMX6 Sabresd reference design. We have using 4 parts DDR  MT41K256M16-125 (4x512MB). We used I.MX6DQSDL DDR3 Script Aid V0.10 to create a new DCD and then run ddr_stress_tester_uboot_v2.30 to apply new calibration parameters. Everything worked well.

 

After that, we also design another custom board, DDR configuration, schematic, layout were same as the previous custom board. However, we change DDR part to MT41K256M16-107 because DDR  MT41K256M16-125 out of stock. When we're using previous U-boot (for previous custom board), the stress test fail as :

 

============================================

        DDR Stress Test (2.3.0)

        Build: Nov 20 2015, 16:06:31

        Freescale Semiconductor, Inc.

============================================

 

 

============================================

        Chip ID

CHIP ID = i.MX6 Dual/Quad (0x63)

Internal Revision = TO1.5

============================================

 

 

============================================

        Boot Configuration

SRC_SBMR1(0x020d8004) = 0x00005040

SRC_SBMR2(0x020d801c) = 0x32000001

============================================

 

 

What ARM core speed would you like to run?

Type 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz 

ARM Clock set to 800MHz

 

 

============================================

        DDR configuration

BOOT_CFG3[5-4]: 0x00, Single DDR channel.

DDR type is DDR3

Data width: 64, bank num: 8

Row size: 15, col size: 10

Chip select CSD0 is used

Density per chip select: 2048MB

============================================

 

 

Current Tempareture: 40

============================================

 

 

Please select the DDR density per chip select (in bytes) on the board

Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB 

For maximum supported density (4GB), we can only access up to 3.75GB.  Type 7 to select this

  DDR density selected (MB): 2048

 

 

Would do you want run DDR Calibration? Type 'y' to run and 'n' to skip

 

 

 

 

The DDR stress test can run with an incrementing frequency or at a static freq

To run at a static freq, simply set the start freq and end freq to the same value

Would do you want run DDR Stress Test? Type 'y' to run and 'n' to skip

 

 

Enter desired START freq (135 to 672 MHz), then hit enter.

Note: DDR3 minimum is ~333MHz, do not recommend to go too much below this.

600

  The freq you entered was: 600

 

 

Enter desired END freq (135 to 672 MHz), then hit enter.

Make sure this is equal to or greater than start freq

650

  The freq you entered was: 650

 

 

Do you want to run DDR Stress Test for simple loop or Over Night Test?

Type '0' for simple loop. Type '1' for Over Night Test

 

 

DDR Stress Test Iteration 1

Current Tempareture: 40

============================================

 

 

DDR Freq: 599 MHz

t0.1: data is addr test

Address of failure: 0x10000000

Data was: 0x50000000

But pattern  should match address

Error: failed to run stress test!!!

 

However when we select 1GB for stresstest as :

Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB 

For maximum supported density (4GB), we can only access up to 3.75GB.  Type 7 to select this

  DDR density selected (MB): 1024

It work well.

 

We also tested common read/write on the address higher than 1GB (0x50000000 - 0x8FFFFFFF) with mtest tool in u-boot, it still work.

 

Any advice ?

 

Thanks and Best Regards,

Outcomes