From: Bin Meng Date: Mon, 3 Aug 2020 06:09:01 +0000 (-0700) Subject: riscv: Call spl_board_init_f() in the generic SPL board_init_f() X-Git-Tag: v2025.01-rc5-pxa1908~2252^2~12 X-Git-Url: http://git.dujemihanovic.xyz/html/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=71672b784cb6b3175d3849d28eebc2f3ed3c9d3c;p=u-boot.git riscv: Call spl_board_init_f() in the generic SPL board_init_f() 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 Reviewed-by: Rick Chen Reviewed-by: Pragnesh Patel Tested-by: Pragnesh Patel --- diff --git a/arch/riscv/include/asm/spl.h b/arch/riscv/include/asm/spl.h index 45c03fb9b6..1487f2d910 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 c47dcd46ce..e24ec5a46c 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)