[PATCH 1/6] riscv: Call spl_board_init_f() in the generic SPL board_init_f()

Rick Chen rickchen36 at gmail.com
Tue Aug 4 05:20:56 CEST 2020


> From: Bin Meng [mailto:bmeng.cn at gmail.com]
> Sent: Monday, August 03, 2020 2:09 PM
> To: Rick Jian-Zhi Chen(陳建志); Pragnesh Patel; U-Boot Mailing List
> Cc: Bin Meng
> Subject: [PATCH 1/6] riscv: Call spl_board_init_f() in the generic SPL board_init_f()
>
> From: Bin Meng <bin.meng at windriver.com>
>
> The generic SPL version of board_init_f() should give a call to board specific codes to initialize board in the SPL phase.
>
> Signed-off-by: Bin Meng <bin.meng at windriver.com>
> ---

Reviewed-by: Rick Chen <rick at andestech.com>

>
>  arch/riscv/include/asm/spl.h | 7 +++++++
>  arch/riscv/lib/spl.c         | 9 +++++++++
>  2 files changed, 16 insertions(+)
>
> diff --git a/arch/riscv/include/asm/spl.h b/arch/riscv/include/asm/spl.h index 45c03fb..1487f2d 100644
> --- a/arch/riscv/include/asm/spl.h
> +++ b/arch/riscv/include/asm/spl.h
> @@ -28,4 +28,11 @@ enum {
>         BOOT_DEVICE_NONE
>  };
>
> +/**
> + * spl_board_init_f() - initialize board in the SPL phase
> + *
> + * @return 0 if succeeded, -ve on error  */ int spl_board_init_f(void);
> +
>  #endif
> diff --git a/arch/riscv/lib/spl.c b/arch/riscv/lib/spl.c index c47dcd4..e24ec5a 100644
> --- a/arch/riscv/lib/spl.c
> +++ b/arch/riscv/lib/spl.c
> @@ -13,6 +13,11 @@
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> +__weak int spl_board_init_f(void)
> +{
> +       return 0;
> +}
> +
>  __weak void board_init_f(ulong dummy)
>  {
>         int ret;
> @@ -24,6 +29,10 @@ __weak void board_init_f(ulong dummy)
>         arch_cpu_init_dm();
>
>         preloader_console_init();
> +
> +       ret = spl_board_init_f();
> +       if (ret)
> +               panic("spl_board_init_f() failed: %d\n", ret);
>  }
>
>  void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
> --
> 2.7.4
>


More information about the U-Boot mailing list