Skip to content
Snippets Groups Projects
Commit d0e932de authored by Stefan Roese's avatar Stefan Roese Committed by Marek Vasut
Browse files

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.

Signed-off-by: default avatarStefan Roese <sr@denx.de>
Cc: Vince Bridgers <vbridger@opensource.altera.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Pavel Machek <pavel@denx.de>
parent d8bec60c
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <altera.h> #include <altera.h>
#include <miiphy.h> #include <miiphy.h>
#include <netdev.h> #include <netdev.h>
#include <watchdog.h>
#include <asm/arch/reset_manager.h> #include <asm/arch/reset_manager.h>
#include <asm/arch/system_manager.h> #include <asm/arch/system_manager.h>
#include <asm/arch/dwmmc.h> #include <asm/arch/dwmmc.h>
...@@ -150,14 +151,23 @@ static inline void socfpga_fpga_add(void) {} ...@@ -150,14 +151,23 @@ static inline void socfpga_fpga_add(void) {}
int arch_cpu_init(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, * If the HW watchdog is NOT enabled, make sure it is not running,
* for example because it was enabled in the preloader. This might * for example because it was enabled in the preloader. This might
* trigger a watchdog-triggered reboot of Linux kernel later. * trigger a watchdog-triggered reboot of Linux kernel later.
*/ */
#ifndef CONFIG_HW_WATCHDOG
socfpga_watchdog_reset(); socfpga_watchdog_reset();
#endif #endif
return 0; return 0;
} }
......
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
#define CONFIG_DESIGNWARE_WATCHDOG #define CONFIG_DESIGNWARE_WATCHDOG
#define CONFIG_DW_WDT_BASE SOCFPGA_L4WD0_ADDRESS #define CONFIG_DW_WDT_BASE SOCFPGA_L4WD0_ADDRESS
#define CONFIG_DW_WDT_CLOCK_KHZ 25000 #define CONFIG_DW_WDT_CLOCK_KHZ 25000
#define CONFIG_HW_WATCHDOG_TIMEOUT_MS 12000 #define CONFIG_HW_WATCHDOG_TIMEOUT_MS 30000
#endif #endif
/* /*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment