This is a detailed programming aid for the registers associated with MMDC initialization. The last sheet formats the register settings for use with ARM RealView ICE. It can also be used with the windows executable for the DDR Stress Test.
Register MMDC_MAARCR is not normally programmed by the initialization script. Freescale recommends leaving it with default values.
This is an advisory to customers who decide to change some of the fields in this register.
A bug has been found with the ARCR_GUARD field. It should always be left programmed to the default 0x0 value. If programmed to a different value, the behavior is unpredictable.
Can someone help me with DDR3 calibration on iMX6SOLO custom board.
My board has 2 memory chips IS43TR16128B-125KBL, T topology.
I used MX6DL_SabreSD_DDR3_register_programming_aid_v2.2.xlsx as a reference to create registers settings. My file is attached.
For calibration I used DDR_Stress_Tester_V1.0.3, but it can not pass calibration
MX6DL_DDR3_my.xlsx - Google Drive
DDR_Stress_Tester.exe -t mx6x -df MX6DL_DDR3_my.inc -usbMX6DL opened.HAB_TYPE: DEVELOPImage loading...download Image to IRAM OK
Re-open MX6x device.Running DDR test..., press "ESC" key to exit.
****************************** DDR Stress Test (1.0.3) for MX6DL Build: Jun 25 2014, 12:09:29 Freescale Semiconductor, Inc.******************************
=======DDR configuration==========BOOT_CFG3[5-4]: 0x00, Single DDR channel.DDR type is DDR3Data width: 32, bank num: 8Row size: 14, col size: 10Chip select CSD0 is usedDensity per chip select: 512MB==================================
What ARM core speed would you like to run?Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz ARM set to 800MHz
Please select the DDR density per chip select (in bytes) on the boardType 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MBFor maximum supported density (4GB), we can only access up to 3.75GB. Type 9 to select this DDR density selected (MB): 512
Calibration will run at DDR frequency 400MHz. Type 'y' to continue.If you want to run at other DDR frequency. Type 'n' DDR Freq: 396 MHz
Would you like to run the write leveling calibration? (y/n) Please enter the MR1 value on the initilization script This will be re-programmed into MR1 after write leveling calibration Enter as a 4-digit HEX value, example 0004, then hit enter0004 You have entered: 0x0004Start write leveling calibrationWrite leveling calibration completedMMDC_MPWLDECTRL0 ch0 after write level cal: 0x001F001FMMDC_MPWLDECTRL1 ch0 after write level cal: 0x001F001F
Would you like to run the DQS gating, read/write delay calibration? (y/n)Starting DQS gating calibration.... . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!!dram test fails for all values.
The DDR stress test can run with an incrementing frequency or at a static freqTo run at a static freq, simply set the start freq and end freq to the same valueWould you like to run the DDR Stress Test (y/n)?
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.400 The freq you entered was: 400
Enter desired END freq (135 to 672 MHz), then hit enter.Make sure this is equal to or greater than start freq400 The freq you entered was: 400
Beginning stress test
loop: 1DDR Freq: 396 MHzt0.1: data is addr testAddress of failure: 0x10000000Data was: 0x0100ffffBut pattern should match address^C
I can help you with your problem.
First, please repost this question as a thread specifically for questions.
Then, in the body of the post, tag me TheAdmiral and I will assign the question to myself to help you.
I notice that you are using a very old version of the stress test. When you have created the new thread, I will send you a copy of the newest stress test (3.0.0). You can use it to see if you are getting any different readings.
And please let me know what company you are working for.
In the mean time, I will start by looking at your RPA settings.