diff options
Diffstat (limited to 'arch/arm/mach-imx/system.c')
| -rw-r--r-- | arch/arm/mach-imx/system.c | 9 | 
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)  	/* Assert SRS signal */  	__raw_writew(wcr_enable, wdog_base); -	/* write twice to ensure the request will not get ignored */ +	/* +	 * Due to imx6q errata ERR004346 (WDOG: WDOG SRS bit requires to be +	 * written twice), we add another two writes to ensure there must be at +	 * least two writes happen in the same one 32kHz clock period.  We save +	 * the target check here, since the writes shouldn't be a huge burden +	 * for other platforms. +	 */ +	__raw_writew(wcr_enable, wdog_base);  	__raw_writew(wcr_enable, wdog_base);  	/* wait for reset to assert... */  |