[U-Boot] rockchip: update boot0 hook
Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Mon Nov 20 14:43:12 UTC 2017
On Fri, 10 Nov 2017, Kever Yang wrote:
> 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'
Could you make this a bit more explicit/easier to read?
It took me a while to understand that the key difference is that
ARM_VECTORS is ARMv7 only and ARMv8 should have a 'b reset'.
>
> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
> Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> ---
>
> 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
This should not be necessary, as ROCKCHIP_EARLYRETURN_TO_BROM is defined
for SPL_... and TPL_... only.
> #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
Could we make this
"defined(CONFIG_SPL_BUILD) && CONFIG_ROCKCHIP_SPL_RESERVE_IRAM > 0"
so there's no warnings raised if "CONFIG_ROCKCHIP_SPL_RESERVE_IRAM == 0"
(with our changes to the ATF-loading, we don't override the SRAM on the
RK3399-Q7 ... and with this set to 0, I see warning)?
> +
> +#elif defined(CONFIG_ARM64) /* U-Boot for arm64 */
Can we do this without an #elif?
Having just one level of #if #endif to track makes this much easier to
read...
> + 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
>
More information about the U-Boot
mailing list