diff options
author | Andrew Victor <andrew@sanpeople.com> | 2006-11-30 04:01:47 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-11-30 17:51:36 -0500 |
commit | 1f4fd0a0d28fabf965815755f1a74ef91dfb5ca6 (patch) | |
tree | 09562e8467136cf545b5631a257a0e9d53a31a89 /include/asm-arm | |
parent | 20127f6863990e1313178debe8c9cfe32d43b1dc (diff) |
[ARM] 3946/1: AT91: at91_arch_reset and at91_extern_irq
The external interrupt sources are different on the various AT91
processors. This patch introduces the global 'at91_extern_irq' variable
that contains a bitset of the available external interrupt sources.
The processor reset mechanism also differs on the various AT91
processors. This patch also adds a global 'at91_arch_reset' callback
(from system.h) into the processor-specific code to perform the reset.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
-rw-r--r-- | include/asm-arm/arch-at91rm9200/system.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/asm-arm/arch-at91rm9200/system.h b/include/asm-arm/arch-at91rm9200/system.h index 8a2ff472e4cf..1d54185e036d 100644 --- a/include/asm-arm/arch-at91rm9200/system.h +++ b/include/asm-arm/arch-at91rm9200/system.h | |||
@@ -39,13 +39,15 @@ static inline void arch_idle(void) | |||
39 | cpu_do_idle(); | 39 | cpu_do_idle(); |
40 | } | 40 | } |
41 | 41 | ||
42 | void (*at91_arch_reset)(void); | ||
43 | |||
42 | static inline void arch_reset(char mode) | 44 | static inline void arch_reset(char mode) |
43 | { | 45 | { |
44 | /* | 46 | /* call the CPU-specific reset function */ |
45 | * Perform a hardware reset with the use of the Watchdog timer. | 47 | if (at91_arch_reset) |
46 | */ | 48 | (at91_arch_reset)(); |
47 | at91_sys_write(AT91_ST_WDMR, AT91_ST_RSTEN | AT91_ST_EXTEN | 1); | 49 | |
48 | at91_sys_write(AT91_ST_CR, AT91_ST_WDRST); | 50 | for (;;) {} /* wait fovever */ |
49 | } | 51 | } |
50 | 52 | ||
51 | #define ARCH_ID_AT91RM9200 0x09200080 | 53 | #define ARCH_ID_AT91RM9200 0x09200080 |