[U-Boot] DDR3 initialization fails after cold boot

Hi,
I am trying to initialize the DDR3 present on my board, using the u-boot with DMA engine on my board.
My board is mounted on linux machine.
DDR3 initialization completes successfully after warm boot (given init 6 command on linux).
But the same u-boot code fails after cold boot (given init 0 command on linux and then power on).
Also I am seeing that in u-boot timing might be not correct.
udelay(14000000) function should generate 14 sec delay but it generates delay of only 5 seconds.
I doubt that timing might be issue but I believe that in u-boot udelay function is correct.
What should be cause behind this cold boot issue for DDr3 initialization?
Need some inputs. Please respond.
Thanks & Regards,
Prakash

Dear prakash bedge,
In message AANLkTilyOMb3YkQV7o2gmrBuqBwt38nFeZ-Qoq6rJ95N@mail.gmail.com you wrote:
Also I am seeing that in u-boot timing might be not correct.
Let's say the use of the code is not correct.
udelay(14000000) function should generate 14 sec delay but it generates delay of only 5 seconds.
udelay() is supposed to provide delays in the microsecond range. It has never been designed to be used for multi-second delays, which will on most systems overflow the internal counters.
I doubt that timing might be issue but I believe that in u-boot udelay function is correct.
You are right: the function is correct, but you do not use it correctly.
What should be cause behind this cold boot issue for DDr3 initialization?
You don't give ANY information - not even which CPU architecture we are talking about, or which CPU. Also, you mention some magic relation to warm or cold booting some Linux system, but without any details. So what should we comment?
we don;t know anything baout your hardware, nor about your code. It can be _anything_.
Best regards,
Wolfgang Denk
participants (2)
-
prakash bedge
-
Wolfgang Denk