iMX6 DDR3 Calibration

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

iMX6 DDR3 Calibration

3,444 Views
inderjitbains
Contributor I

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?

0 Kudos
7 Replies

1,740 Views
inderjitbains
Contributor I

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

0 Kudos

1,740 Views
igorpadykov
NXP Employee
NXP Employee

for i.MX6Q please use scripts on

i.Mx6DQSDL DDR3 Script Aid

0 Kudos

1,740 Views
igorpadykov
NXP Employee
NXP Employee

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 ?

0 Kudos

1,740 Views
inderjitbains
Contributor I

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?

0 Kudos

1,740 Views
inderjitbains
Contributor I

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?     

0 Kudos

1,740 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos

1,740 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos