[PATCH u-boot-mvebu 3/3] arm: mvebu: turris_omnia: disable MCU watchdog in SPL when booting over UART

Stefan Roese sr at denx.de
Mon Aug 16 14:50:15 CEST 2021


Hi Marek,

On 16.08.21 14:27, Marek Behún wrote:
> When booting over UART, sending U-Boot proper may take too much time and
> MCU watchdog will reset the board before U-Boot proper is loaded.
> 
> Better disable MCU watchdog in SPL when booting over UART.
> 
> Signed-off-by: Marek Behún <marek.behun at nic.cz>
> ---
>   board/CZ.NIC/turris_omnia/turris_omnia.c | 17 ++++++++++++++++-
>   configs/turris_omnia_defconfig           |  1 +
>   2 files changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
> index a84a409f43..b0391c973d 100644
> --- a/board/CZ.NIC/turris_omnia/turris_omnia.c
> +++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
> @@ -419,12 +419,27 @@ int board_early_init_f(void)
>   	return 0;
>   }
>   
> +void spl_board_init(void)
> +{
> +	/*
> +	 * If booting from UART, disable MCU watchdog in SPL, since uploading
> +	 * U-Boot proper can take too much time and trigger it.
> +	 */
> +	if (get_boot_device() == BOOT_DEVICE_UART)
> +		disable_mcu_watchdog();
> +}
> +
>   int board_init(void)
>   {
>   	/* address of boot parameters */
>   	gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
>   
> -	disable_mcu_watchdog();
> +	/*
> +	 * If not booting from UART, MCU watchdog was not disabled in SPL,
> +	 * disable it now.
> +	 */
> +	if (get_boot_device() != BOOT_DEVICE_UART)
> +		disable_mcu_watchdog();

Why do you disable the MCU watchdog here in U-Boot proper?

Thanks,
Stefan

>   
>   	return 0;
>   }
> diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
> index cd443ceb30..67f8bdadaf 100644
> --- a/configs/turris_omnia_defconfig
> +++ b/configs/turris_omnia_defconfig
> @@ -33,6 +33,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
>   # CONFIG_DISPLAY_BOARDINFO is not set
>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>   CONFIG_MISC_INIT_R=y
> +CONFIG_SPL_BOARD_INIT=y
>   CONFIG_SPL_I2C=y
>   CONFIG_CMD_MEMTEST=y
>   CONFIG_SYS_ALT_MEMTEST=y
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list