On Sun, 2014-09-21 at 14:58 +0200, ma...@denx.de wrote:
> From: Pavel Machek <pa...@denx.de>
> 
> This adds watchdog disable. It is neccessary for running Linux kernel.
> 
> Signed-off-by: Pavel Machek <pa...@denx.de>
> Signed-off-by: Marek Vasut <ma...@denx.de>
> Cc: Chin Liang See <cl...@altera.com>
> Cc: Dinh Nguyen <dingu...@altera.com>
> Cc: Albert Aribaud <albert.u.b...@aribaud.net>
> Cc: Tom Rini <tr...@ti.com>
> Cc: Wolfgang Denk <w...@denx.de>
> Cc: Pavel Machek <pa...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to