diff mbox series

[U-Boot,RFC,3/4] arm: zynq: spl: fix FPGA initialization

Message ID 20180718074141.16539-4-luaraneda@gmail.com
State RFC
Delegated to: Michal Simek
Headers show
Series arm: zynq: implement FPGA load from SPL | expand

Commit Message

Luis Araneda July 18, 2018, 7:41 a.m. UTC
commit 4aba5fb857c1 ("arm: zynq: Rework FPGA initialization")
moved FPGA initialization from board_init() to arch_early_init_r(),
which is not called as part of the SPL

Fix this by calling arch_early_init_r() in the spl_board_init()
function, so the FPGA is correctly initialized

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
---
 arch/arm/mach-zynq/spl.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Michal Simek July 18, 2018, 1:55 p.m. UTC | #1
On 18.7.2018 09:41, Luis Araneda wrote:
> commit 4aba5fb857c1 ("arm: zynq: Rework FPGA initialization")
> moved FPGA initialization from board_init() to arch_early_init_r(),
> which is not called as part of the SPL
> 
> Fix this by calling arch_early_init_r() in the spl_board_init()
> function, so the FPGA is correctly initialized
> 
> Signed-off-by: Luis Araneda <luaraneda@gmail.com>
> ---
>  arch/arm/mach-zynq/spl.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c
> index 83297d6c69..9b7c0be951 100644
> --- a/arch/arm/mach-zynq/spl.c
> +++ b/arch/arm/mach-zynq/spl.c
> @@ -29,6 +29,9 @@ void board_init_f(ulong dummy)
>  void spl_board_init(void)
>  {
>  	preloader_console_init();
> +#if defined(CONFIG_ARCH_EARLY_INIT_R) && defined(CONFIG_SPL_FPGA_SUPPORT)
> +	arch_early_init_r();
> +#endif
>  	board_init();
>  }
>  #endif
> 

This looks good.

M
diff mbox series

Patch

diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c
index 83297d6c69..9b7c0be951 100644
--- a/arch/arm/mach-zynq/spl.c
+++ b/arch/arm/mach-zynq/spl.c
@@ -29,6 +29,9 @@  void board_init_f(ulong dummy)
 void spl_board_init(void)
 {
 	preloader_console_init();
+#if defined(CONFIG_ARCH_EARLY_INIT_R) && defined(CONFIG_SPL_FPGA_SUPPORT)
+	arch_early_init_r();
+#endif
 	board_init();
 }
 #endif