diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2015-10-22 11:45:49 +0300 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2015-10-22 11:49:41 +0300 |
commit | 2f1711908ac92968e2d533616c4cdb8d7b848677 (patch) | |
tree | 43594c01cbffe208294fec5d66a8319ff8798c97 | |
parent | 0c67549936feb8cfa7a78238eed3ca1112901702 (diff) | |
download | linux-2f1711908ac92968e2d533616c4cdb8d7b848677.tar.xz |
watchdog/aspeed_wdt: Set system reset mode to 'full chip'
Currently, the watchdog timer does nothing on expiry - the 'SoC system'
reset type doesn't seem to have any effect.
This change uses the 'full chip' reset type instead.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r-- | drivers/watchdog/aspeed_wdt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/watchdog/aspeed_wdt.c b/drivers/watchdog/aspeed_wdt.c index 57503beca8f6..9b82420f9025 100644 --- a/drivers/watchdog/aspeed_wdt.c +++ b/drivers/watchdog/aspeed_wdt.c @@ -37,6 +37,7 @@ MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table); #define WDT_RELOAD_VALUE 0x04 #define WDT_RESTART 0x08 #define WDT_CTRL 0x0C +#define WDT_CTRL_RESET_MODE_FULL_CHIP (0x01 << 5) #define WDT_CTRL_RESET_SYSTEM (0x1 << 1) #define WDT_CTRL_ENABLE (0x1 << 0) @@ -44,7 +45,8 @@ MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table); static void aspeed_wdt_enable(struct aspeed_wdt *wdt, int count) { - u32 ctrl = WDT_CTRL_RESET_SYSTEM | WDT_CTRL_ENABLE; + u32 ctrl = WDT_CTRL_RESET_MODE_FULL_CHIP | WDT_CTRL_RESET_SYSTEM | + WDT_CTRL_ENABLE; writel(0, wdt->base + WDT_CTRL); writel(count, wdt->base + WDT_RELOAD_VALUE); |