Hi @yipingwang
I have tried doing so, but as eth interface is not working properly, I have stored the file in the part 2 of the SD Card (ext4). Then, I have loaded using extload command but does not boot, the file is being read properly as the size of the binary is the same, comparing to the size printed after doing "wget & ls -la .itb":
imuguruza_5-1686233456218.png
imuguruza_7-1686233551402.png
Apart from that, I have been reviewing many things:
- First we had a look in the DDR routing, we are sure that is well done and haven’t seen any remarkable mistake or issue.
- We have downgraded the DDR speed to 1300MHz and face the same crash.
- We have tuned the ODT endings, as we have seen that they are not optimal, this has improved the performance of the DDR during big data chunk writes.
- We have translated this to the ddr_init file of the ATF BL sources.
- I have downgraded the RAM size in u.boot’s dtsi of the ls1028a, to 1Gb (Not sure If this can be related)
Now, I want to comment some things.
- I have noticed that u-boot does not see the complete 1GB of RAM at its startup (same happens with the eval board, it sees 3.9Gb). I was wondering if this is due to BLs being loaded at a reserved space in the RAM.
imuguruza_1-1686233286986.png
- I have performed a RAM test, in that memory region, using u-boot’s “mtest” command: “mtest 0x80000000 0xbbe00000”. I don’t see any error, if I undergo with the test crashes.
imuguruza_2-1686233301131.png
3. I have run my DT and Kernel in the eval board (even though kernel crashes at some point at init) using the evalboard bl2_sd and fip. So this means that in my custom board, at least, I should get the same result.
imuguruza_3-1686233330824.png
imuguruza_4-1686233338148.png
Also, I have tried to use:
- Bl2_sd of my custom board and fip_uboot of the eval board in my custom board, with little success, does not load u-boot, it hans at BL31
- Bl2_sd of eval board and fip_uboot of the cutom board in the eval board, with little success, does not load u-boot, it hangs at BL31
imuguruza_0-1686233228314.png
After checking all this my conclusions are that some of this could be wrong:
- I am using some environment variable in uboot wrong, and u-boot tries to access/load kernel or dt in a RAM address that it shouldn’t. This is the most likely in my opinion
- I need to tune something else in ATF or Uboot to make a proper use of the RAM, taking into account that my RAM size is just 1GB, below the 2GB of RAM that the first RAM Bank has in the SoC
Thanks,
imuguruza