[U-Boot] [PATCH v2] rockchip: update boot0 hook
Kever Yang
kever.yang at rock-chips.com
Fri Dec 15 09:13:32 UTC 2017
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 at rock-chips.com>
---
Changes in v2:
- update commit message
arch/arm/include/asm/arch-rockchip/boot0.h | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/arch/arm/include/asm/arch-rockchip/boot0.h b/arch/arm/include/asm/arch-rockchip/boot0.h
index af3a733..65b4213 100644
--- a/arch/arm/include/asm/arch-rockchip/boot0.h
+++ b/arch/arm/include/asm/arch-rockchip/boot0.h
@@ -26,7 +26,6 @@
*/
b 1f /* if overwritten, entry-address is at the next word */
1:
-#endif
#if CONFIG_IS_ENABLED(ROCKCHIP_EARLYRETURN_TO_BROM)
adr r3, entry_counter
ldr r0, [r3]
@@ -40,6 +39,15 @@ entry_counter:
.word 0
#endif
b reset
+
+#if defined(CONFIG_ROCKCHIP_RK3399)
+ .space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM /* space for the ATF data */
+#endif
+
+#elif defined(CONFIG_ARM64) /* U-Boot for arm64 */
+ b reset
+#endif
+
#if !defined(CONFIG_ARM64)
/*
* For armv7, the addr '_start' will used as vector start address
@@ -49,7 +57,3 @@ entry_counter:
_start:
ARM_VECTORS
#endif
-
-#if defined(CONFIG_ROCKCHIP_RK3399) && defined(CONFIG_SPL_BUILD)
- .space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM /* space for the ATF data */
-#endif
--
1.9.1
More information about the U-Boot
mailing list