rockchip: update boot0 hook
authorKever Yang <kever.yang@rock-chips.com>
Mon, 18 Dec 2017 07:05:41 +0000 (15:05 +0800)
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Mon, 18 Dec 2017 15:56:05 +0000 (16:56 +0100)
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>
arch/arm/include/asm/arch-rockchip/boot0.h

index af3a733..5d35c35 100644 (file)
 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