[PATCH] i.MX/WD: setup the watchdog according to its datasheet

Juergen Borleis jbe at pengutronix.de
Wed Jun 7 03:45:42 PDT 2017


>From earlier SoCs like the i.MX21 up to i.MX7 their datasheets states
after reset the watchdog timer has to be set first prior enabling the
watchdog itself. This change do it this way.

Signed-off-by: Juergen Borleis <jbe at pengutronix.de>
---
 drivers/watchdog/imxwd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/watchdog/imxwd.c b/drivers/watchdog/imxwd.c
index b920c7234..5cc178f3e 100644
--- a/drivers/watchdog/imxwd.c
+++ b/drivers/watchdog/imxwd.c
@@ -114,6 +114,12 @@ static int imx21_watchdog_set_timeout(struct imx_wd *priv, unsigned timeout)
 	if (priv->ext_reset)
 		val |= IMX21_WDOG_WCR_WDT;
 
+	/*
+	 * set time and some write once bits first prior enabling the
+	 * watchdog according to the datasheet
+	 */
+	writew(val, priv->base + IMX21_WDOG_WCR);
+
 	writew(IMX21_WDOG_WCR_WDE | val, priv->base + IMX21_WDOG_WCR);
 
 	/* Write Service Sequence */
-- 
2.11.0




More information about the barebox mailing list