Hello Jiri-san,
Thank you for your update.
Here is answer to your question.
>So your CA5 frequency is 288MHz and DDRC frequency is 254MHz ?
Yes, correct.
>There is a note in RM (9.7 Clock configuration) that minimal DDR frequency is 300MHz.
We know that. But on the other hand, RM also describes a setting for 250MHz.
So, we believe we could configure DDR freq less than 300MHz.
> what is state of PLLx lock and PDFx_STABLE bits?
Yes, once we enabled PLLx, we could see STABLE bit indicated the stable state.
>what is setting of PLL? MFI, MFN and MFD?
MFI => 20(decimal). It is corresponding to 480MHz.
MFN/MFD => We don't change the default from RESET values.
> are in the system any PFD with divider 19 enabled?
As you can see, we don't use 500MHz of system clock. So we think we don't hit known errata.
But anyway, we didn't set 19 to divider of PFDs.
And here is our new questions.
1) Maser/Slave DLLs.
I know some PHY settings are depending on the type of DDR (DDDR3 or LPDDR2).
But I think DLL is common function for DDR3 and LPDDR2.
IOW, customer is using LPDDR2 with Vybid, but we can use FSL's recommended settings for DLL that are verified by FSL using evaluation board of Vybrid which uses DDR3. Correct?
Please let us know if this understanding is correct.
2) PHY03 settings
When customer set following setting from 0x4 to 0x1 that you recommended, then, the problem was gone.
PHY03/19/35:
0x __0004____ you increased requirements to consider DLL is locked from 1 to 4 per 8 clock.
0x ______04__ you give more time to DLL lock.
So, we believe "golden sample" we received from FSL was wrong (or not optimum).
We can't find the these bits in RM, so customer couldn't doubt these settings were not correct.
We don't ask FSL to explain reason why FSL recommended 0x4 at that time, but we need a good justification (logical explanation) that allows us to ask our customer to change the these settings. (Because their system is already in production and it is not easy to change these settings now)
Could you advise us the reason why FSL recommends 0x1 to these bit?
Our expected explanation from FSL is like this:
FSL already verified that it is sufficient to indicate that DLL locked to the clock when phase was detected once within 8 cycles for proper DDR3/LPDDR2 operation, provided that the accuracy of clock that customer added was within xxx ppm and power supplies customer uses are stable (+/-5% of nominal voltage). Based on FSL's validation, FSL set 0x0001012a to PHY3 in FSL's u-boot code. "2a" may be adjusted by customer depending on the DDR clock rate, but 0x000101__ should not be changed. Freescale will update RM to describe this point in the future release. Etc...
3) "Number of DLL lock indications must received" in PHY03.
I understand the meaning of this bit. If we set 2 or higher to this bit,
it means that DLL must receive consecutive "lock indications" by specified number of times within 8 cycles?
For ex, if we set 0x4 to this bit, DLL must receive four consecutive lock state(* mark in my diagram) like below?
1 2 3 4 5 6 7 8 cycles
|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__
* * * *
Lock Lock Lock Lock
or Lock bit doesn't need to be in series like below?
(if 4 lock bits are seen within 8 cycles in total, Master DLL can tell salve DLL that master DLL is locked.)
1 2 3 4 5 6 7 8 cycles
|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__|~~|__
* * * *
Lock Lock Lock Lock
Please let us know if which idea is correct.
Thanks,
Norihiro Michgiami
AVNET