arm: socfpga: Change watchdog timeout
PATCH v2 1/1 arm: socfpga: Change watchdog timeout
The current current watchdog timeout of 12 seconds is a bit small for booting into Linux, especially when using a NFS based rootfs. So lets change this timeout to a more defensive value of 30 seconds.
Also we now call the hw_watchdog_init() function so that we override the value already configured from the Preloader.
---
v2:
- Invert logic so that we can use #ifdef instead of #ifndef as suggested by Marek (thanks)
arch/arm/cpu/armv7/socfpga/misc.c | 12 +++++++++++- include/configs/socfpga_common.h | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-)
arch/arm/cpu/armv7/socfpga/misc.c +11 -1
@@ -9,6 +9,7 @@#include <altera.h> #include <miiphy.h> #include <netdev.h> +#include <watchdog.h> #include <asm/arch/reset_manager.h> #include <asm/arch/system_manager.h> #include <asm/arch/dwmmc.h>
@@ -150,14 +151,23 @@ static inline void socfpga_fpga_add(void) {}int arch_cpu_init (void ) { +#ifdef CONFIG_HW_WATCHDOG +/* +* In case the watchdog is enabled, make sure to (re-)configure it +* so that the defined timeout is valid. Otherwise the SPL (Perloader) +* timeout value is still active which might too short for Linux +* booting. +*/ +hw_watchdog_init (); +#else /* * 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 +return 0 ; }
include/configs/socfpga_common.h +1 -1
@@ -139,7 +139,7 @@#define CONFIG_DESIGNWARE_WATCHDOG #define CONFIG_DW_WDT_BASE SOCFPGA_L4WD0_ADDRESS#define CONFIG_DW_WDT_CLOCK_KHZ 25000 -#define CONFIG_HW_WATCHDOG_TIMEOUT_MS 12000 +#define CONFIG_HW_WATCHDOG_TIMEOUT_MS 30000#endif /*
Signature · 1 line
2.2.1
Marek Vasut
AppliedPATCH v2 1/1 arm: socfpga: Change watchdog timeout
Quoted 7 lines · Stefan Roese
The current current watchdog timeout of 12 seconds is a bit small for booting into Linux, especially when using a NFS based rootfs. So lets change this timeout to a more defensive value of 30 seconds.
Also we now call the
hw_watchdog_init()function so that we override the value already configured from the Preloader.
Quoted 6 lines
Signed-off-by Stefan Roese <[email protected]>Cc Vince Bridgers <[email protected]>Cc Dinh Nguyen <[email protected]>Cc Chin Liang See <[email protected]>Cc Marek Vasut <[email protected]>Cc Pavel Machek <[email protected]>
Applied, thank you!
Best regards,
Marek Vasut