Blackfin: bf526: restrict reboot workaround to 0.0 silicon
authorMike Frysinger <vapier@gentoo.org>
Thu, 30 Jun 2011 04:49:30 +0000 (00:49 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sat, 23 Jul 2011 05:18:33 +0000 (01:18 -0400)
The bug in the BF526 rom when doing a software reset exists only in older
silicon versions, so don't clear SWRST on newer parts.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/reboot.c

index 488bdc5..c4c0081 100644 (file)
@@ -54,7 +54,9 @@ static void bfin_reset(void)
 
        /* The BF526 ROM will crash during reset */
 #if defined(__ADSPBF522__) || defined(__ADSPBF524__) || defined(__ADSPBF526__)
-       bfin_read_SWRST();
+       /* Seems to be fixed with newer parts though ... */
+       if (__SILICON_REVISION__ < 1 && bfin_revid() < 1)
+               bfin_read_SWRST();
 #endif
 
        /* Wait for the SWRST write to complete.  Cannot rely on SSYNC