DDR3 Calibration Frequency

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

DDR3 Calibration Frequency

Jump to solution
2,184 Views
cwd-hw
Contributor I

Hello iMX6 specialists,

We are developing a iMX6Solo based platform and we are using DDR3 @ 528Mhz. I have  DCD which was copied from a different iMX platform with different DDR and it is working fine with my new platform as well. However configuration values are not adjusted for the current DDR.


Then I used DDR stress tester to calibrate new DDR. With those calibrated values, stress test was running for 10 hours with no errors. However, if I use same values in u-boot DCD, it does not boot at all. It was found that if following value,

Read calibration0x021b08480x42464C44

is replaced with, 0x484B4B49, it started working despite the fact that deviation is very small.


Then I re calibrate the DDR at 400Mhz and replaced MPDGCTRL0, MPDGCTRL1 , MPRDDLCTL PHY0 , MPWDDLCTL PHY0 with new values, u-boot started working.


The reason why I use 400Mhz is following statement in "i.MX6 DDR Stress Tester User’s Guide"

7. Select DDR frequency for Calibration
The default DDR calibration frequency is 400MHz for i.MX6DL, i.MX6S, and i.MX6SL.
And, the default DDR calibration frequency for i.MX6Q and i.MX6D is 528MHz. The user
can also press ‘n’ and input a calibration frequency which is between 350MHz and 528MHz
for debugging purpose.

According to that, calibration is supposed to be done at 400 Mhz for iMX solo. However, "i.MX 6 Series DDR Calibration application note" says,

4 Calibration over Frequency Range
Calibration, as any other aspect of the DDR setup, is frequency dependent. Changing DDR clock
frequency requires running the various calibration sequences and obtaining new set of delay values.
The empirical rule is that a DDR setup for a target frequency, including a measured set of delay values at
that frequency, is expected to be stable at frequency range of ±10% around this point.


My questions are,


1. Do we need to calibrate at 528Mhz using the stress tester tool, if DDR3 working frequency is 528Mhz?

2. Is there a delay between DCD registry setting to properly initialize the DDR? The reason why I asked it that newly calibrated value at 528Mhz works fine with stress tester but not with u-boot. The way stress tester initialize the DDR my be slightly different that the way u-boot starts)


Thanks,

CDW



Labels (1)
Tags (2)
0 Kudos
Reply
1 Solution
1,412 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

yes if working frequency 528MHz then memory should be

calibrated on 528MHz too.

However for Solo max. MMDC operating frequency is 400MHz.

~igor

View solution in original post

0 Kudos
Reply
4 Replies
1,412 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

if processor works with DDR at 400MHz, it should calibrate memory at 400MHz,

there is no "delay".

Best regards

igor

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

Note: If this post answers your question, please click the Correct Answer button. Thank you!

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

0 Kudos
Reply
1,412 Views
cwd-hw
Contributor I

Hi Igor,

Thank for the quick response!

Our iMX6 Solo should work with DDR at 528Mhz.

Therefore I should calibrate it at 528Mhz using stress test tool . instead of default 400Mhz .. Am i correct?

Thanks,

CDW

0 Kudos
Reply
1,413 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

yes if working frequency 528MHz then memory should be

calibrated on 528MHz too.

However for Solo max. MMDC operating frequency is 400MHz.

~igor

0 Kudos
Reply
1,412 Views
vivekkaushik
Contributor I

Hi Igor,

What is maximum frequency of DDR3 supported by i.MX6Quad, we only see 400MHz and 528MHz options in 

1. Mx6DQSDL DDR3 Script Aid V0.09.xls and

2. ddr_stress_tester_v2.52 tool

Kind Regards

Vivek

0 Kudos
Reply