[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