]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-imx/system.c
Merge branch 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into...
[~andy/linux] / arch / arm / mach-imx / system.c
index 80c177c36c5f25665ada2fbf93cf2ac4b007eee6..5e3027d3692f8b02c8f3cb327f935520cdce29f3 100644 (file)
@@ -52,6 +52,15 @@ void mxc_restart(enum reboot_mode mode, const char *cmd)
 
        /* Assert SRS signal */
        __raw_writew(wcr_enable, wdog_base);
+       /*
+        * 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... */
        mdelay(500);