I have two i.MX6 boards, with a total of 2GB DDR3 SDRAM (4 x 4GBit), 64-bit bus. I used the DDR Stress Tool V2.51 to calibrate the DDR, running from an SD card, using the following commands in u-boot:
u-boot> dcache off
u-boot> icache off
u-boot> fatload mmc 1:1 0x00907000 ddr-test-uboot-jtag-mx6ul.bin
u-boot> go 0x00907000
For Board #1, the calibration always succeeds. For Board #2, the calibration sometimes fails (~one time of out ten) on:
DDR Calibration failed during Read calibration:
ABS_OFFSET=0xNNNNNNNNN result[MM]=0x11111111
The result is 0x11111111 for the entire run of DDR Calibration failed during Read calibration.
Using the average calibrations from Board #1 and Board #2 (for the successful calibrations), both boards pass the DDR stress test, which was run for 3 hours. Any idea why Board #2 sometimes fails calibration?
CPU is i.mx6Q. I copied and pasted the text from here:
i.MX6/7 DDR Stress Test Tool V2.51
The real command I'm using is:
u-boot> fatload mmc 1:1 0x00907000 ddr-test-uboot-jtag-mx6dq.bin
what exact processor used in the case ?
In first message was:
"u-boot> fatload mmc 1:1 0x00907000 ddr-test-uboot-jtag-mx6ul.bin "
Is it 6UL ?
I was going by the porting guide section 2.1.3: it mentions that for a 45-ohm trace, 40 or 48 ohm settings can be used, and for 100 ohm differential pairs, 48 ohms can be used for pin of the differential pair. For 55 ohms, 48 or 60 could presumably be used, but I'm not sure if using 60 ohms for each pin of a 100 ohm differential pair will work. Also, should I use:
I.MX6DQSDL DDR3 Script Aid V0.10.xlsx (much easier to use)
or
MX6Q_SabreSD_DDR3_register_programming_aid_v2.0.xlsx (have to enter many register fields in binary)?
Will they provide the same register settings?
Section 3.3.1 does not say what to do for intermittent calibration failures - in this case, one out of ten times the calibration tool is run. The other nine times the tool is run, it succeeds in finding a valid delay window. If this is caused by drive strength settings, wouldn't the calibration fail more consistently? All drive strengths are set to 48 ohms, and ODT is 60 ohms. The PCB vendor has specified that the single-ended impedance is 55 ohms, and differential impedance is 97 ohms. What are the recommended settings for this case?
as name sect.3.3.1 implies : " Identifying Issue on Calibrations", seems
these are recommendations for troubleshooting of calibration failures.
Drive strength settings can be found only experimentally, just for test one
can try to change processor/or ddr temperature.
Best regards
igor
Hi Inderjit
please check sect.3.3.1 Identifying Issue on Calibrations
Freescale i.MX6 DRAM Port Application Guide-DDR3.pdf, it explains
calibration issues and ways to solve them.
https://community.freescale.com/docs/DOC-101708
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------