imx_watchdog: do not soft-reset while watchdog init
authorAnatolij Gustschin <agust@denx.de>
Mon, 30 Sep 2013 10:52:38 +0000 (12:52 +0200)
committerStefano Babic <sbabic@denx.de>
Thu, 31 Oct 2013 16:54:03 +0000 (17:54 +0100)
Currently the driver clears WCR_SRS bit when enabling
the watchdog and this causes a software reset. Do not
clear WCR_SRS.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
drivers/watchdog/imx_watchdog.c

index 50e602a..d5993b4 100644 (file)
@@ -19,6 +19,7 @@ struct watchdog_regs {
 #define WCR_WDBG       0x02
 #define WCR_WDE                0x04    /* WDOG enable */
 #define WCR_WDT                0x08
+#define WCR_SRS                0x10
 #define WCR_WDW                0x80
 #define SET_WCR_WT(x)  (x << 8)
 
@@ -45,7 +46,7 @@ void hw_watchdog_init(void)
 #define CONFIG_WATCHDOG_TIMEOUT_MSECS 128000
 #endif
        timeout = (CONFIG_WATCHDOG_TIMEOUT_MSECS / 500) - 1;
-       writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT |
+       writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT | WCR_SRS |
                WCR_WDW | SET_WCR_WT(timeout), &wdog->wcr);
        hw_watchdog_reset();
 }