"Asynchronous Abort" when attempting to run relocated U-Boot version 2017-11 on LS2088A

Showing results for 
Search instead for 
Did you mean: 

"Asynchronous Abort" when attempting to run relocated U-Boot version 2017-11 on LS2088A

Contributor I

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?

DDR 15.9 GiB (DDR4, 64-bit, CL=11, ECC on)
DDR Controller Interleaving Mode: 256B
DPDDR 1 GiB (DDR4, 32-bit, CL=11, ECC off)
initcall: 000000002001e14c
New Stack Pointer is: fbb13d60
initcall: 000000002001e0ac
initcall: 000000002001e07c
initcall: 000000002001e084
initcall: 000000002001e268
Relocation Offset is: dbd14000
Relocating to fbd15000, new gd at fbb13d78, sp at fbb13d60
"Synchronous Abort" handler, esr 0x8600000d
ELR: fbd1ab84
LR: fbd1ab84
x0 : 00000000fbdadf80 x1 : 00000000fbdadf50
x2 : 0000000000000040 x3 : 000000000000003f
x4 : 00000000dbd14403 x5 : 0000000000000007
x6 : 0000000000000001 x7 : 000000000000000f
x8 : 00000000000000cd x9 : 00000000dbd14000
x10: 0000000000000000 x11: 0000000020001228
x12: 000000000000000d x13: 0000000000000006
x14: 00000000000000c8 x15: 0000000020004d48
x16: 0000000000000000 x17: 0000000000000000
x18: 00000000fbb13d78 x19: 0000000000000000
x20: 0000000000000000 x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000800000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000200010b8

Resetting CPU ...

### ERROR ### Please RESET the board ###

Labels (1)
Tags (1)
0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hello Alexy Rozen,

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).

Have a great day,

Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos