diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2008-10-12 23:33:43 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-10-12 23:33:43 -0400 |
commit | cdbf4c3c5f4909767c21f47f68f2ee57a8b36b3b (patch) | |
tree | 4cfd19b106ca90c45ed3daf17fdb9727019ba889 /arch/blackfin/kernel/reboot.c | |
parent | 4e8086d65bd0a606434a4b16611653387f8c9698 (diff) |
Blackfin arch: use the Blackfin on-chip ROM to do software reset when possible
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel/reboot.c')
-rw-r--r-- | arch/blackfin/kernel/reboot.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/reboot.c b/arch/blackfin/kernel/reboot.c index d0ead640d992..ae97ca407b0d 100644 --- a/arch/blackfin/kernel/reboot.c +++ b/arch/blackfin/kernel/reboot.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <asm/bfin-global.h> | 10 | #include <asm/bfin-global.h> |
11 | #include <asm/reboot.h> | 11 | #include <asm/reboot.h> |
12 | #include <asm/system.h> | 12 | #include <asm/system.h> |
13 | #include <asm/bfrom.h> | ||
13 | 14 | ||
14 | /* A system soft reset makes external memory unusable so force | 15 | /* A system soft reset makes external memory unusable so force |
15 | * this function into L1. We use the compiler ssync here rather | 16 | * this function into L1. We use the compiler ssync here rather |
@@ -74,7 +75,14 @@ void machine_restart(char *cmd) | |||
74 | { | 75 | { |
75 | native_machine_restart(cmd); | 76 | native_machine_restart(cmd); |
76 | local_irq_disable(); | 77 | local_irq_disable(); |
77 | bfin_reset(); | 78 | if (ANOMALY_05000353 || ANOMALY_05000386) |
79 | bfin_reset(); | ||
80 | else | ||
81 | /* the bootrom checks to see how it was reset and will | ||
82 | * automatically perform a software reset for us when | ||
83 | * it starts executing boot | ||
84 | */ | ||
85 | asm("raise 1;"); | ||
78 | } | 86 | } |
79 | 87 | ||
80 | __attribute__((weak)) | 88 | __attribute__((weak)) |