]> git.sur5r.net Git - u-boot/blobdiff - drivers/watchdog/imx_watchdog.c
Merge branch 'master' of git://git.denx.de/u-boot-nios
[u-boot] / drivers / watchdog / imx_watchdog.c
index 1d18d4b269f8af94e4f8cae77bdc9a39b5524f8e..0d775956bff45fd52687676f16fc706788c2f6ff 100644 (file)
@@ -8,19 +8,7 @@
 #include <asm/io.h>
 #include <watchdog.h>
 #include <asm/arch/imx-regs.h>
-
-struct watchdog_regs {
-       u16     wcr;    /* Control */
-       u16     wsr;    /* Service */
-       u16     wrsr;   /* Reset Status */
-};
-
-#define WCR_WDZST      0x01
-#define WCR_WDBG       0x02
-#define WCR_WDE                0x04    /* WDOG enable */
-#define WCR_WDT                0x08
-#define WCR_SRS                0x10
-#define SET_WCR_WT(x)  (x << 8)
+#include <fsl_wdog.h>
 
 #ifdef CONFIG_IMX_WATCHDOG
 void hw_watchdog_reset(void)
@@ -55,7 +43,8 @@ void reset_cpu(ulong addr)
 {
        struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
 
-       writew(WCR_WDE, &wdog->wcr);
+       clrsetbits_le16(&wdog->wcr, 0, WCR_WDE);
+
        writew(0x5555, &wdog->wsr);
        writew(0xaaaa, &wdog->wsr);     /* load minimum 1/2 second timeout */
        while (1) {