summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorKever Yang <kever.yang@rock-chips.com>2017-12-18 10:05:41 +0300
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-12-18 18:56:05 +0300
commit270288544e12c7c98e4bc9a5b121517ba0a959d2 (patch)
tree3f031bf8f52310cb8286d7d56eb3a6addcd058c3 /arch
parent81f53b0dafdfe9458f6d04fc5ec2732c2ea23a71 (diff)
downloadu-boot-270288544e12c7c98e4bc9a5b121517ba0a959d2.tar.xz
rockchip: update boot0 hook
Rockchip SoCs only need boot0 hook at SPL, and the U-Boot proper do not need it. The very beginning of U-Boot proper is different between armv7 and armv8: armv7 start with ARM_VECTORS while armv8 start with 'b reset'. Here is the map of very beginning for all cases: armv7 SPL: TAG(overwrite 'b 1f')+'b reset' + ARM_VECTORS armv7 U-Boot: ARM_VECTORS armv8 SPL: TAG(overwrite 'b 1f')+'b reset' + Reserved_iram(rk3399) armv8 U-Boot: 'b reset' Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/arch-rockchip/boot0.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/include/asm/arch-rockchip/boot0.h b/arch/arm/include/asm/arch-rockchip/boot0.h
index af3a733e98..5d35c35c28 100644
--- a/arch/arm/include/asm/arch-rockchip/boot0.h
+++ b/arch/arm/include/asm/arch-rockchip/boot0.h
@@ -39,7 +39,12 @@
entry_counter:
.word 0
#endif
+
+#if (defined(CONFIG_SPL_BUILD) || defined(CONFIG_ARM64))
+ /* U-Boot proper of armv7 do not need this */
b reset
+#endif
+
#if !defined(CONFIG_ARM64)
/*
* For armv7, the addr '_start' will used as vector start address
@@ -50,6 +55,6 @@ _start:
ARM_VECTORS
#endif
-#if defined(CONFIG_ROCKCHIP_RK3399) && defined(CONFIG_SPL_BUILD)
+#if defined(CONFIG_SPL_BUILD) && (CONFIG_ROCKCHIP_SPL_RESERVE_IRAM > 0)
.space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM /* space for the ATF data */
#endif