[U-Boot] [PATCH V2 10/51] arm: socfpga: Add watchdog disable for socfpga

Chin Liang See clsee at altera.com
Wed Oct 1 12:50:52 CEST 2014


On Sun, 2014-09-21 at 14:58 +0200, marex at denx.de wrote:
> From: Pavel Machek <pavel at denx.de>
> 
> This adds watchdog disable. It is neccessary for running Linux kernel.
> 
> Signed-off-by: Pavel Machek <pavel at denx.de>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Chin Liang See <clsee at altera.com>
> Cc: Dinh Nguyen <dinguyen at altera.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Tom Rini <trini at ti.com>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Pavel Machek <pavel at denx.de>
> ---
>  arch/arm/cpu/armv7/socfpga/misc.c                 | 10 ++++++++++
>  arch/arm/cpu/armv7/socfpga/reset_manager.c        | 12 ++++++++++++
>  arch/arm/include/asm/arch-socfpga/reset_manager.h |  4 ++++
>  3 files changed, 26 insertions(+)
> 
> V2: Move RSTMGR_PERMODRST_L4WD0_LSB to reset_manager.h
>     Reset watchdog only if CONFIG_HW_WATCHDOG is undefined (the default)
> 
> diff --git a/arch/arm/cpu/armv7/socfpga/misc.c b/arch/arm/cpu/armv7/socfpga/misc.c
> index ecae393..71ee912 100644
> --- a/arch/arm/cpu/armv7/socfpga/misc.c
> +++ b/arch/arm/cpu/armv7/socfpga/misc.c
> @@ -8,6 +8,7 @@
>  #include <asm/io.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> +#include <asm/arch/reset_manager.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
>  
> @@ -38,6 +39,15 @@ int overwrite_console(void)
>  
>  int misc_init_r(void)
>  {
> +	/*
> +	 * If the HW watchdog is NOT enabled, make sure it is not running,
> +	 * for example because it was enabled in the preloader. This might
> +	 * trigger a watchdog-triggered reboot of Linux kernel later.
> +	 */
> +#ifndef CONFIG_HW_WATCHDOG
> +	socfpga_watchdog_reset();
> +#endif
> +

misc_init_r happens at some time after U-Boot entry. Afraid the watchdog
might trigger prior its disabled. Suggest to call socfpga_watchdog_reset
earlier.

Thanks
Chin Liang



More information about the U-Boot mailing list