aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-iop32x
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm/arch-iop32x')
-rw-r--r--include/asm-arm/arch-iop32x/hardware.h1
-rw-r--r--include/asm-arm/arch-iop32x/n2100.h19
-rw-r--r--include/asm-arm/arch-iop32x/system.h11
3 files changed, 31 insertions, 0 deletions
diff --git a/include/asm-arm/arch-iop32x/hardware.h b/include/asm-arm/arch-iop32x/hardware.h
index 6a3001f2f7e0..c6f58b91ddbc 100644
--- a/include/asm-arm/arch-iop32x/hardware.h
+++ b/include/asm-arm/arch-iop32x/hardware.h
@@ -37,6 +37,7 @@ void iop32x_init_irq(void);
37 */ 37 */
38#include "iq80321.h" 38#include "iq80321.h"
39#include "iq31244.h" 39#include "iq31244.h"
40#include "n2100.h"
40 41
41 42
42#endif 43#endif
diff --git a/include/asm-arm/arch-iop32x/n2100.h b/include/asm-arm/arch-iop32x/n2100.h
new file mode 100644
index 000000000000..fed31a648425
--- /dev/null
+++ b/include/asm-arm/arch-iop32x/n2100.h
@@ -0,0 +1,19 @@
1/*
2 * include/asm/arch-iop32x/n2100.h
3 *
4 * Thecus N2100 board registers
5 */
6
7#ifndef __N2100_H
8#define __N2100_H
9
10#define N2100_UART 0xfe800000 /* UART */
11
12#define N2100_COPY_BUTTON IOP3XX_GPIO_LINE(0)
13#define N2100_PCA9532_RESET IOP3XX_GPIO_LINE(2)
14#define N2100_RESET_BUTTON IOP3XX_GPIO_LINE(3)
15#define N2100_HARDWARE_RESET IOP3XX_GPIO_LINE(4)
16#define N2100_POWER_BUTTON IOP3XX_GPIO_LINE(5)
17
18
19#endif
diff --git a/include/asm-arm/arch-iop32x/system.h b/include/asm-arm/arch-iop32x/system.h
index c65ede3e627a..17b7eb7e9c0d 100644
--- a/include/asm-arm/arch-iop32x/system.h
+++ b/include/asm-arm/arch-iop32x/system.h
@@ -8,6 +8,8 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11#include <asm/mach-types.h>
12
11static inline void arch_idle(void) 13static inline void arch_idle(void)
12{ 14{
13 cpu_do_idle(); 15 cpu_do_idle();
@@ -15,6 +17,15 @@ static inline void arch_idle(void)
15 17
16static inline void arch_reset(char mode) 18static inline void arch_reset(char mode)
17{ 19{
20 local_irq_disable();
21
22 if (machine_is_n2100()) {
23 gpio_line_set(N2100_HARDWARE_RESET, GPIO_LOW);
24 gpio_line_config(N2100_HARDWARE_RESET, GPIO_OUT);
25 while (1)
26 ;
27 }
28
18 *IOP3XX_PCSR = 0x30; 29 *IOP3XX_PCSR = 0x30;
19 30
20 /* Jump into ROM at address 0 */ 31 /* Jump into ROM at address 0 */