Does someone experience problem to run u-boot relocated code from DRAM in non SPL mode on LS2088A device (ARM64). On my custom target based on LS2088A SoC U-Boot version 2016.09 works fine. However, the newest U-Boot 2017-11 from LSDK git causes "Synchronous Abort" exception right after an attempt to return from relocation function and run just relocated code. Interesting that it works fine if I compile u-boot with I-Cache disabled. Relocation function in relocate_64.S does its work fine and put u-boot part in RAM perfect. After return from this function PC (program counter) is set correctly on the instruction in the DRAM that should be executed next after "relocate_code" assembler routine but step in goes to exception. Any idea how to overcome the issue?
According to the error log, it seems that the u-boot source code lacking the patch to support memory >2GB, however this fix has already been applied in both SDK 2.0 and LSDK 1803.
Please check whether you used u-boot source code from LSDK 1803, the commit ID is as the following.
Please check whether CONFIG_NR_DRAM_BANKS is configured correctly in u-boot header file include/configs/ls2080a_common.h(ls2080ardb.h).