summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gong <b38343@freescale.com>2014-09-02 16:55:45 +0800
committerRobin Gong <b38343@freescale.com>2014-09-02 18:04:40 +0800
commit315f94ac5460bc2c06e9b4c14f2869170ce3e03e (patch)
tree4df76d08470b4eeb6d93607ffb44900072472ca0
parent21a2eb5ff0d1480480a6b3fb2a565d2de82068e7 (diff)
downloadu-boot-imx-315f94ac5460bc2c06e9b4c14f2869170ce3e03e.zip
u-boot-imx-315f94ac5460bc2c06e9b4c14f2869170ce3e03e.tar.gz
u-boot-imx-315f94ac5460bc2c06e9b4c14f2869170ce3e03e.tar.bz2
ENGR00329631: imx6: fix kernel suspend reboot if keep watchdog alive
WDZST bit is write-once only bit. So we need take care the setting in kernel ,otherwise, kernel setting will never be enabled. Signed-off-by: Robin Gong <b38343@freescale.com>
-rw-r--r--arch/arm/cpu/armv7/mx6/soc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index 93be090..4787fb2 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -896,6 +896,11 @@ int set_anatop_bypass(int wdog_reset_pin)
*/
reg = readw(&wdog->wcr);
reg |= 1 << 3;
+ /*
+ * WDZST bit is write-once only bit. Align this bit in kernel,
+ * otherwise kernel code will have no chance to set this bit.
+ */
+ reg |= 1 << 0;
writew(reg, &wdog->wcr);
return arm_orig_podf;