aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/system.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/system.c b/arch/arm/mach-imx/system.c
index 826b72ba08d9..5e3027d3692f 100644
--- a/arch/arm/mach-imx/system.c
+++ b/arch/arm/mach-imx/system.c
@@ -52,7 +52,14 @@ void mxc_restart(enum reboot_mode mode, const char *cmd)
52 52
53 /* Assert SRS signal */ 53 /* Assert SRS signal */
54 __raw_writew(wcr_enable, wdog_base); 54 __raw_writew(wcr_enable, wdog_base);
55 /* write twice to ensure the request will not get ignored */ 55 /*
56 * Due to imx6q errata ERR004346 (WDOG: WDOG SRS bit requires to be
57 * written twice), we add another two writes to ensure there must be at
58 * least two writes happen in the same one 32kHz clock period. We save
59 * the target check here, since the writes shouldn't be a huge burden
60 * for other platforms.
61 */
62 __raw_writew(wcr_enable, wdog_base);
56 __raw_writew(wcr_enable, wdog_base); 63 __raw_writew(wcr_enable, wdog_base);
57 64
58 /* wait for reset to assert... */ 65 /* wait for reset to assert... */