diff mbox

[U-Boot] am33xx: Remove serial_init in s_init for QSPI/NOR XIP boot

Message ID 1448015861-6342-1-git-send-email-vigneshr@ti.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Raghavendra, Vignesh Nov. 20, 2015, 10:37 a.m. UTC
serial_init() reads global_data, since global_data is not yet
initialized, this can cause unwanted behaviour leading to QSPI XIP boot
hang. Also, since serial_init() is anyways called later from
boar_init_f(), it does not make sense to do the same in s_init().

Tested on AM437x IDK EVM with QSPI XIP boot.

Signed-off-by: Vignesh R <vigneshr@ti.com>
---
 arch/arm/cpu/armv7/am33xx/board.c | 6 ------
 1 file changed, 6 deletions(-)

Comments

Simon Glass Nov. 20, 2015, 5:19 p.m. UTC | #1
On 20 November 2015 at 03:37, Vignesh R <vigneshr@ti.com> wrote:
> serial_init() reads global_data, since global_data is not yet
> initialized, this can cause unwanted behaviour leading to QSPI XIP boot
> hang. Also, since serial_init() is anyways called later from
> boar_init_f(), it does not make sense to do the same in s_init().
>
> Tested on AM437x IDK EVM with QSPI XIP boot.
>
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> ---
>  arch/arm/cpu/armv7/am33xx/board.c | 6 ------
>  1 file changed, 6 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
> index bd14326cf479..1633ddc6b096 100644
> --- a/arch/arm/cpu/armv7/am33xx/board.c
> +++ b/arch/arm/cpu/armv7/am33xx/board.c
> @@ -273,12 +273,6 @@ void s_init(void)
>         set_uart_mux_conf();
>         setup_clocks_for_console();
>         uart_soft_reset();
> -#if defined(CONFIG_NOR_BOOT) || defined(CONFIG_QSPI_BOOT)
> -       /* TODO: This does not work, gd is not available yet */
> -       gd->baudrate = CONFIG_BAUDRATE;
> -       serial_init();
> -       gd->have_console = 1;
> -#endif
>  #if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)
>         /* Enable RTC32K clock */
>         rtc32k_enable();
> --
> 2.6.3
>
Tom Rini Nov. 23, 2015, 10:44 p.m. UTC | #2
On Fri, Nov 20, 2015 at 04:07:41PM +0530, Vignesh R wrote:

> serial_init() reads global_data, since global_data is not yet
> initialized, this can cause unwanted behaviour leading to QSPI XIP boot
> hang. Also, since serial_init() is anyways called later from
> boar_init_f(), it does not make sense to do the same in s_init().
> 
> Tested on AM437x IDK EVM with QSPI XIP boot.
> 
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
index bd14326cf479..1633ddc6b096 100644
--- a/arch/arm/cpu/armv7/am33xx/board.c
+++ b/arch/arm/cpu/armv7/am33xx/board.c
@@ -273,12 +273,6 @@  void s_init(void)
 	set_uart_mux_conf();
 	setup_clocks_for_console();
 	uart_soft_reset();
-#if defined(CONFIG_NOR_BOOT) || defined(CONFIG_QSPI_BOOT)
-	/* TODO: This does not work, gd is not available yet */
-	gd->baudrate = CONFIG_BAUDRATE;
-	serial_init();
-	gd->have_console = 1;
-#endif
 #if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)
 	/* Enable RTC32K clock */
 	rtc32k_enable();