
From: Fabio Estevam fabio.estevam@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@writeme.com Signed-off-by: Fabio Estevam fabio.estevam@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) {