|
@@ -121,7 +121,8 @@ static int rwdt_restart(struct watchdog_device *wdev, unsigned long action,
|
|
|
}
|
|
|
|
|
|
static const struct watchdog_info rwdt_ident = {
|
|
|
- .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT,
|
|
|
+ .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT |
|
|
|
+ WDIOF_CARDRESET,
|
|
|
.identity = "Renesas WDT Watchdog",
|
|
|
};
|
|
|
|
|
@@ -197,9 +198,10 @@ static int rwdt_probe(struct platform_device *pdev)
|
|
|
return PTR_ERR(clk);
|
|
|
|
|
|
pm_runtime_enable(&pdev->dev);
|
|
|
-
|
|
|
pm_runtime_get_sync(&pdev->dev);
|
|
|
priv->clk_rate = clk_get_rate(clk);
|
|
|
+ priv->wdev.bootstatus = (readb_relaxed(priv->base + RWTCSRA) &
|
|
|
+ RWTCSRA_WOVF) ? WDIOF_CARDRESET : 0;
|
|
|
pm_runtime_put(&pdev->dev);
|
|
|
|
|
|
if (!priv->clk_rate) {
|