I try to use DDR Test Tool (version is ddr_stress_tester_v2.70)to test the LPDDR2 named Winbond W978Hxkb,
When I fill in the test script generation tool, I found no parameters I wanted, such as DRAM density.
I use DDR only 256Mb, but the smallest value is 1Gb, how do I choose? Please help me check the correctness of my other parameters.
The DDR Test Tool parameters are also some questions, we choose is imx6ull, clocked at 800MHZ, but the highest ARM Speed can only choose 700MHZ, will not affect the test results?
The attachment is the datasheet of my choice of DDR!
Thanks very much!!
1. For 256 Mb, change value in "setmem /32 0x021b0040 = 0x00000043 // Chan0 CS0_END" to 0x00000040
2. Parameters look fine
3. Please set the closest frequency to your operating point. The results should not differ if the system is stable.
1. One more register modification:
setmem /32 0x021b0018 = 0x00201748 // MMDC0_MDMISC - try changing the value to: 0x00201768
2. Have you refered to the Hardware Design Guide and followed the layout recommendations for designing the DRAM connections?
3. Can you paste here the whole calibration output + output of the tool after pressing the download button?
Thank you very much for helping me solve the problem with the test tool and can now be calibrated using the test tool. But still some questions need to ask you.
1、Now I get the calibration value and need to fill in imximage_lpddr2.cfg;
MMDC registers updated from calibration
MPRDDLCTL PHY0 (0x021b0848) = 0x4040383E
MPWRDLCTL PHY0 (0x021b0850) = 0x40403026
Only need to fill in these two values to the file?
Does the other values need to be based on the initialization script?
2、Someone told me if you need to use LPDDR2, uboot need to configure make mx6ull_9x9_evk_defconfig, so right?
1. The other values need to be based on the initialization script.
2. Please refer to the BSP Porting Guide to check what modifications need to be made. I found no reference that would imply this. But if you are designing a custom board you will probably need to make your own defconfig or modify one from our reference boards anyway.
if the initialization script was wrong, then the DDR Stress Tester would not function properly either. Have you tried to run the Stress Test to check, whether everything is ok?
I've tried the stress test, I got a frequency value, and the calibration also got two calibration values (read calibration and write calibration). Everything looks normal, but when I writed the calibrated values into the script, I could not run uboot.
In addition, I found that if I used mfgtool to download uboot directly to DDR to run, when 0x021b0040 = 0x00000043, I can successfully used the download, if 0x021b0040 = 0x00000040, will not load loading uboot.(I use this method to test uboot when boot in the DDR).
Did you run the Stress Test also with the calibrated values?
In general, we recommend to run the stress test and calibration with a sample of at least 10 boards, across the entire temperature range and VDD_SOC_CAP range to obtain average values for the design.