summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2018-04-15 13:15:33 +0200
committerMarek Vasut <marex@denx.de>2018-05-08 21:08:42 +0200
commit34fc2a6edfeb5d28244bf4a36615d1fe984a7921 (patch)
treea3a27b9293c65f8c79ca2c0423bfee2ad943d886
parent6417572efa9107674ec106ae7e388178a92155fc (diff)
downloadu-boot-34fc2a6edfeb5d28244bf4a36615d1fe984a7921.tar.gz
u-boot-34fc2a6edfeb5d28244bf4a36615d1fe984a7921.tar.xz
u-boot-34fc2a6edfeb5d28244bf4a36615d1fe984a7921.zip
ARM: socfpga: Add boot trampoline for Arria10
The Arria10 uses slightly different boot image header than the Gen5 SoCs, in particular the header itself contains an offset from the start of the header to which the Arria10 jumps. This offset must not be negative, yet the header is placed at offset 0x40 of the bootable binary. Therefore, to jump into U-Boot, add a trampoline just past the Arria10 boot header and point to this trampoline at fixed offset from the header generated using the mkimage -T socfpgaimage_v1 . Note that it is not needed to jump back to offset 0x0 of the image, it is possible to jump directly at the reset label and save processing two instructions. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Chin Liang See <chin.liang.see@intel.com>
-rw-r--r--arch/arm/mach-socfpga/include/mach/boot0.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-socfpga/include/mach/boot0.h b/arch/arm/mach-socfpga/include/mach/boot0.h
index 60194231c7..c78def5066 100644
--- a/arch/arm/mach-socfpga/include/mach/boot0.h
+++ b/arch/arm/mach-socfpga/include/mach/boot0.h
@@ -17,8 +17,8 @@ _start:
.word 0xcafec0d3; /* Checksum, zero-pad */
nop;
- b reset; /* SoCFPGA jumps here */
- nop;
+ b reset; /* SoCFPGA Gen5 jumps here */
+ b reset; /* SoCFPGA Gen10 trampoline */
nop;
nop;
#endif