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