DDR calibration on LS1012A

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

DDR calibration on LS1012A

963 Views
mauromoioli
Contributor I

Hi all,

we are investigating a problem on a pre-production of 100 boards equipped with LS1012A that is consuming our time and delaying the production.

In particular we have some boards (about 20%) that hangs on boot exactly when uboot goes into DDR RAM.

By printing the DDR calibration results, we see that when fail happens a different value on mpdgctrl0 register, OFFSET1 is returned by the calibration phase.

To be more exact what we see is:

mpdgctrl0 OFFSET1 value: between 27 and 29 on correct boot (bit9: 0011011 :bit15 to bit9: 0011101 :bit15);

mpdgctrl0 OFFSET1 value: unpredictable but fixed to 0, 7 or 96 on hanging condition (0000000, 0000011, 1100000);

Please note that boards not OK, hang ONLY on 10% of the boot, with highest probability at first boot (when they are cold). If the board is able to start, it will NEVER hang during normal operation on main SW.

If we force a new calibration cycle as soon as we see uncorrect values, the board in any case has unpredictable results (that means: if we need to redo the calibration the board can hang or start, even if we reach a "good" OFFSET1 value).

Is there somebody that could help us or explain what can be the physical issue (bad DDR, bad soldering, ....)?

Thanks in advance.

0 Kudos
3 Replies

795 Views
Bulat
NXP Employee
NXP Employee

As per your description it looks like the problem concerns only one byte lane (byte 1). How accurate your DDR layout? Did you do trace length matching for data group signals? Can you provide trace lengths (processor pins to memory pins) for all data and clock signals?

Regards,

Bulat

0 Kudos

795 Views
zmlopez
Contributor III

Hi,

Difficult to say without seeing your layout.

Just to note other possibilities...

Have you seen with oscilloscope if there is a difference in the power supply signals and up times in the faulty boards?

Sometimes, the problem in ddr comes from its power supply.

Also from the oscillator circuit. If you use a xtal, you could try with an external oscillator.

0 Kudos

795 Views
mauromoioli
Contributor I

Thanks Miguel.

About xtal, we do not use it sice we have oscillator.

About power supply, we did not investigate it, but I want to underline the fact that, as soon as the board fails, the results are very similar. if the board starts, it will be stable forever.

we did also ask to the DDR supplier to make some measure, and signal, as soon as the board starts, seems always good.

Question: is there something that can affect the DDR calibration module at the strtup? not so mutch in terms of capabilities to perform the calibration, but in terms of correct startup of the module.

Thanks

Mauro

0 Kudos