summaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-06-30 00:49:30 -0400
committerMike Frysinger <vapier@gentoo.org>2011-07-23 01:18:33 -0400
commitb0d3dc1291e862c17c003cb4a9a6e20c79f5bd78 (patch)
treef80bc514bfc1fb3b503d94901210d252437a012a /arch/blackfin
parent65cd3b5362e97d519befbfa786879b9760f72ec5 (diff)
downloadlinux-stable-b0d3dc1291e862c17c003cb4a9a6e20c79f5bd78.tar.gz
linux-stable-b0d3dc1291e862c17c003cb4a9a6e20c79f5bd78.tar.bz2
linux-stable-b0d3dc1291e862c17c003cb4a9a6e20c79f5bd78.zip
Blackfin: bf526: restrict reboot workaround to 0.0 silicon
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>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/kernel/reboot.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/reboot.c b/arch/blackfin/kernel/reboot.c
index 488bdc51aaa5..c4c0081b1996 100644
--- a/arch/blackfin/kernel/reboot.c
+++ b/arch/blackfin/kernel/reboot.c
@@ -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