[U-Boot] [PATCH v2] Revert "imx: wdog: correct wcr register settings"

Fabio Estevam festevam at gmail.com
Fri Oct 2 01:58:42 CEST 2015


From: Fabio Estevam <fabio.estevam at freescale.com>

This reverts commit 623d96e89aca64c2762150087f4e872c55481f13.

commit 623d96e89aca6("imx: wdog: correct wcr register settings")
causes a system hang on LS1021 after the 'reset' command
is issued.

The original code (from 2013.01) clears all the bits of the WCR
register (including the SRS bit), and set only the WDE bit. 

Restore the previous logic to avoid regressions.

Reported-by: Sinan Akman <sinan at writeme.com>
Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
---
Changes since v1:
- Improve commit log

 drivers/watchdog/imx_watchdog.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/watchdog/imx_watchdog.c b/drivers/watchdog/imx_watchdog.c
index 9a77a54..1d18d4b 100644
--- a/drivers/watchdog/imx_watchdog.c
+++ b/drivers/watchdog/imx_watchdog.c
@@ -55,8 +55,7 @@ void reset_cpu(ulong addr)
 {
 	struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
 
-	clrsetbits_le16(&wdog->wcr, 0, WCR_WDE);
-
+	writew(WCR_WDE, &wdog->wcr);
 	writew(0x5555, &wdog->wsr);
 	writew(0xaaaa, &wdog->wsr);	/* load minimum 1/2 second timeout */
 	while (1) {
-- 
1.9.1



More information about the U-Boot mailing list