summaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-06-30 06:49:30 +0200
committerMike Frysinger <vapier@gentoo.org>2011-07-23 07:18:33 +0200
commitb0d3dc1291e862c17c003cb4a9a6e20c79f5bd78 (patch)
treef80bc514bfc1fb3b503d94901210d252437a012a /arch/blackfin
parentBlackfin: bf51x: fix alternative portmux options (diff)
downloadlinux-b0d3dc1291e862c17c003cb4a9a6e20c79f5bd78.tar.xz
linux-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