diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-10 15:06:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-11 09:01:39 +0200 |
commit | b61f19c1b86bdfb6ddbf0bd50b5993faf33b6dd5 (patch) | |
tree | 858c150461505f2f0460b540b2d889ef79bd95af /drivers/watchdog | |
parent | d1b73e6da47d330ebdf68891dddbd167e598f87a (diff) | |
download | barebox-b61f19c1b86bdfb6ddbf0bd50b5993faf33b6dd5.tar.gz barebox-b61f19c1b86bdfb6ddbf0bd50b5993faf33b6dd5.tar.xz |
watchdog: dw_wdt: Detect if running initially
Let the watchdog core know if the watchdog is currently running or not.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.barebox.org/20210610130613.27983-2-s.hauer@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r-- | drivers/watchdog/dw_wdt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/watchdog/dw_wdt.c b/drivers/watchdog/dw_wdt.c index bc5d4a889a..bc5af810ea 100644 --- a/drivers/watchdog/dw_wdt.c +++ b/drivers/watchdog/dw_wdt.c @@ -164,6 +164,9 @@ static int dw_wdt_drv_probe(struct device_d *dev) wdd->hwdev = dev; wdd->set_timeout = dw_wdt_set_timeout; + wdd->running = readl(dw_wdt->regs + WDOG_CONTROL_REG_OFFSET) & + WDOG_CONTROL_REG_WDT_EN_MASK ? WDOG_HW_RUNNING : WDOG_HW_NOT_RUNNING; + dw_wdt->rate = clk_get_rate(clk); if (dw_wdt->rate == 0) return -EINVAL; |