[U-Boot] [PATCH v2] 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 ---
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

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
Changes in v2:
- update commit message
arch/arm/include/asm/arch-rockchip/boot0.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
Acked-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com

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
Changes in v2:
- update commit message
arch/arm/include/asm/arch-rockchip/boot0.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com

Kever,
On 15 Dec 2017, at 16:58, Philipp Tomsich philipp.tomsich@theobroma-systems.com wrote:
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
Changes in v2:
- update commit message
arch/arm/include/asm/arch-rockchip/boot0.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Changes requested are still pending from v1. When starting to merge this, I encountered the same warnings and the nested #if/#elif statements as last time...
None of the changes I had requested against v1 have been done. Please refer to https://patchwork.ozlabs.org/patch/836639/
Please revise, so we can get this merged next week as we should get this fix in as quickly as possible...
Thanks. Philipp.

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
Changes in v2:
- update commit message
arch/arm/include/asm/arch-rockchip/boot0.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
Reviewed-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
participants (3)
-
Dr. Philipp Tomsich
-
Kever Yang
-
Philipp Tomsich