We are using P4080DS demo board. It has two 2GB Ram. We want to optimize/reduce both bootloader time. For bootloader we use u-boot. While we are working on u-boot, DDR is the one that takes more time. When we have checked u-boot DDR initialization code timeout is stated 400 milliseconds for each GByte. So, after that point we have done some tests. First of all, we have removed one of DDR3 which is 2GB. We have booted demo board successfully, and check DDR initialization time. It was 200 milliseconds and that elapsed time is for clearing to D_INIT bit. After that, we have attached the removed DDR. We have booted demo board successfully and check DDR initialization time. It was 1000 milliseconds. The 800 milliseconds elapsed time is clearing D_INIT bit for both DDR. And the 200 milliseconds elapsed time is reallocating DDR. After that, we have removed the code that waits for D_INIT bit to be cleared and we have booted demo board successfully when all DDR attached (4GB). We were expecting to pass 200 milliseconds for relocation; however elapsed time was 400 milliseconds. So,
- 1. What are the reasons for that?
- 2. What are the reasons that when we update DDR RAM from 2 GByte to 4 GByte it takes much more time (From 200(2GB) + 0(relocation) = 200 millisecond to 400 (2GB ) + 400 (2GB) + 200(relocation) = 1000 millisecond)?
- 3. How can we reduce DDR initialization time?
- 4. When we comment out the code that waits D_INIT bir to be cleared, board boots successfully. So, do we really need to wait for D_INIT?