Message ID | 1513329212-13970-1-git-send-email-kever.yang@rock-chips.com |
---|---|
State | Superseded |
Delegated to: | Philipp Tomsich |
Headers | show |
Series | [U-Boot,v2] rockchip: update boot0 hook | expand |
> 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>
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(-)