diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-30 00:49:30 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-07-23 01:18:33 -0400 |
commit | b0d3dc1291e862c17c003cb4a9a6e20c79f5bd78 (patch) | |
tree | f80bc514bfc1fb3b503d94901210d252437a012a /arch | |
parent | 65cd3b5362e97d519befbfa786879b9760f72ec5 (diff) |
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')
-rw-r--r-- | arch/blackfin/kernel/reboot.c | 4 |
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) | |||
54 | 54 | ||
55 | /* The BF526 ROM will crash during reset */ | 55 | /* The BF526 ROM will crash during reset */ |
56 | #if defined(__ADSPBF522__) || defined(__ADSPBF524__) || defined(__ADSPBF526__) | 56 | #if defined(__ADSPBF522__) || defined(__ADSPBF524__) || defined(__ADSPBF526__) |
57 | bfin_read_SWRST(); | 57 | /* Seems to be fixed with newer parts though ... */ |
58 | if (__SILICON_REVISION__ < 1 && bfin_revid() < 1) | ||
59 | bfin_read_SWRST(); | ||
58 | #endif | 60 | #endif |
59 | 61 | ||
60 | /* Wait for the SWRST write to complete. Cannot rely on SSYNC | 62 | /* Wait for the SWRST write to complete. Cannot rely on SSYNC |