|
@@ -40,6 +40,7 @@
|
|
#define WDOG_CONTROL_REG_OFFSET 0x00
|
|
#define WDOG_CONTROL_REG_OFFSET 0x00
|
|
#define WDOG_CONTROL_REG_WDT_EN_MASK 0x01
|
|
#define WDOG_CONTROL_REG_WDT_EN_MASK 0x01
|
|
#define WDOG_TIMEOUT_RANGE_REG_OFFSET 0x04
|
|
#define WDOG_TIMEOUT_RANGE_REG_OFFSET 0x04
|
|
|
|
+#define WDOG_TIMEOUT_RANGE_TOPINIT_SHIFT 4
|
|
#define WDOG_CURRENT_COUNT_REG_OFFSET 0x08
|
|
#define WDOG_CURRENT_COUNT_REG_OFFSET 0x08
|
|
#define WDOG_COUNTER_RESTART_REG_OFFSET 0x0c
|
|
#define WDOG_COUNTER_RESTART_REG_OFFSET 0x0c
|
|
#define WDOG_COUNTER_RESTART_KICK_VALUE 0x76
|
|
#define WDOG_COUNTER_RESTART_KICK_VALUE 0x76
|
|
@@ -106,7 +107,8 @@ static int dw_wdt_set_top(unsigned top_s)
|
|
}
|
|
}
|
|
|
|
|
|
/* Set the new value in the watchdog. */
|
|
/* Set the new value in the watchdog. */
|
|
- writel(top_val, dw_wdt.regs + WDOG_TIMEOUT_RANGE_REG_OFFSET);
|
|
|
|
|
|
+ writel(top_val | top_val << WDOG_TIMEOUT_RANGE_TOPINIT_SHIFT,
|
|
|
|
+ dw_wdt.regs + WDOG_TIMEOUT_RANGE_REG_OFFSET);
|
|
|
|
|
|
dw_wdt_set_next_heartbeat();
|
|
dw_wdt_set_next_heartbeat();
|
|
|
|
|