SAM9X60 has different watchdog register definition.

Signed-off-by: Zixun LI <ad...@hifiphile.com>
---
 arch/arm/mach-at91/include/mach/at91_wdt.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/include/mach/at91_wdt.h 
b/arch/arm/mach-at91/include/mach/at91_wdt.h
index a5accbae521..9ba5283123b 100644
--- a/arch/arm/mach-at91/include/mach/at91_wdt.h
+++ b/arch/arm/mach-at91/include/mach/at91_wdt.h
@@ -33,14 +33,22 @@ struct at91_wdt_priv {
 
 /* Watchdog Mode Register*/
 #define AT91_WDT_MR                    0X04
-#define AT91_WDT_MR_WDV(x)             (x & 0xfff)
+#define AT91_WDT_MR_WDV(x)             ((x) & 0xfff)
+#define AT91_SAM9X60_MR_PERIODRST      0x00000010
 #define AT91_WDT_MR_WDFIEN             0x00001000
+#define AT91_SAM9X60_MR_WDDIS          0x00001000
 #define AT91_WDT_MR_WDRSTEN            0x00002000
 #define AT91_WDT_MR_WDRPROC            0x00004000
 #define AT91_WDT_MR_WDDIS              0x00008000
-#define AT91_WDT_MR_WDD(x)             ((x & 0xfff) << 16)
+#define AT91_WDT_MR_WDD(x)             (((x) & 0xfff) << 16)
 #define AT91_WDT_MR_WDDBGHLT           0x10000000
+#define AT91_SAM9X60_MR_WDIDLEHLT      0x10000000
 #define AT91_WDT_MR_WDIDLEHLT          0x20000000
+#define AT91_SAM9X60_MR_WDDBGHLT       0x20000000
+
+/* Watchdog Window Level Register */
+#define AT91_SAM9X60_WLR               0x0c
+#define AT91_SAM9X60_WLR_COUNTER(x)    ((x) & 0xfff)
 
 /* Hardware timeout in seconds */
 #define WDT_MAX_TIMEOUT                16
-- 
2.49.0

Reply via email to