diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2006-09-18 18:24:52 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-09-25 05:25:50 -0400 |
commit | c680b77efe4542830bb170e1cc40db1c47c569bc (patch) | |
tree | ed79bf5cb4bab39e694690747c34cee8798c6d02 /include/asm-arm | |
parent | 7412b10f7967ef4210ed6f793004d23642dc5140 (diff) |
[ARM] 3830/1: iop3xx: board support file cleanup
Revamp the iop3xx board support: move the support code for each iop
board type into its own file, start using platform serial and platform
physmap flash devices, switch to a per-board time tick rate, and get
rid of the ARCH_EP80219 and STEPD config options by doing the relevant
checks at run time.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
-rw-r--r-- | include/asm-arm/arch-iop32x/iop321.h | 12 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/iq31244.h | 7 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/iq80321.h | 7 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/irqs.h | 38 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/hardware.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iop331.h | 10 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iq80331.h | 7 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iq80332.h | 7 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/irqs.h | 38 |
9 files changed, 5 insertions, 126 deletions
diff --git a/include/asm-arm/arch-iop32x/iop321.h b/include/asm-arm/arch-iop32x/iop321.h index 1e57e0094767..8042946327ed 100644 --- a/include/asm-arm/arch-iop32x/iop321.h +++ b/include/asm-arm/arch-iop32x/iop321.h | |||
@@ -150,18 +150,6 @@ | |||
150 | #define IOP321_IINTSRC (volatile u32 *)IOP321_REG_ADDR(0x000007D8) | 150 | #define IOP321_IINTSRC (volatile u32 *)IOP321_REG_ADDR(0x000007D8) |
151 | #define IOP321_FINTSRC (volatile u32 *)IOP321_REG_ADDR(0x000007DC) | 151 | #define IOP321_FINTSRC (volatile u32 *)IOP321_REG_ADDR(0x000007DC) |
152 | 152 | ||
153 | /* Timers */ | ||
154 | #ifdef CONFIG_ARCH_IQ80321 | ||
155 | #define IOP321_TICK_RATE 200000000 /* 200 MHz clock */ | ||
156 | #elif defined(CONFIG_ARCH_IQ31244) | ||
157 | #define IOP321_TICK_RATE 198000000 /* 33.000 MHz crystal */ | ||
158 | #endif | ||
159 | |||
160 | #ifdef CONFIG_ARCH_EP80219 | ||
161 | #undef IOP321_TICK_RATE | ||
162 | #define IOP321_TICK_RATE 200000000 /* 33.333333 Mhz crystal */ | ||
163 | #endif | ||
164 | |||
165 | /* Application accelerator unit 0x00000800 - 0x000008FF */ | 153 | /* Application accelerator unit 0x00000800 - 0x000008FF */ |
166 | #define IOP321_AAU_ACR (volatile u32 *)IOP321_REG_ADDR(0x00000800) | 154 | #define IOP321_AAU_ACR (volatile u32 *)IOP321_REG_ADDR(0x00000800) |
167 | #define IOP321_AAU_ASR (volatile u32 *)IOP321_REG_ADDR(0x00000804) | 155 | #define IOP321_AAU_ASR (volatile u32 *)IOP321_REG_ADDR(0x00000804) |
diff --git a/include/asm-arm/arch-iop32x/iq31244.h b/include/asm-arm/arch-iop32x/iq31244.h index f490063d2156..cf2d2343398d 100644 --- a/include/asm-arm/arch-iop32x/iq31244.h +++ b/include/asm-arm/arch-iop32x/iq31244.h | |||
@@ -7,18 +7,11 @@ | |||
7 | #ifndef _IQ31244_H_ | 7 | #ifndef _IQ31244_H_ |
8 | #define _IQ31244_H_ | 8 | #define _IQ31244_H_ |
9 | 9 | ||
10 | #define IQ31244_FLASHBASE 0xf0000000 /* Flash */ | ||
11 | #define IQ31244_FLASHSIZE 0x00800000 | ||
12 | #define IQ31244_FLASHWIDTH 2 | ||
13 | |||
14 | #define IQ31244_UART 0xfe800000 /* UART #1 */ | 10 | #define IQ31244_UART 0xfe800000 /* UART #1 */ |
15 | #define IQ31244_7SEG_1 0xfe840000 /* 7-Segment MSB */ | 11 | #define IQ31244_7SEG_1 0xfe840000 /* 7-Segment MSB */ |
16 | #define IQ31244_7SEG_0 0xfe850000 /* 7-Segment LSB (WO) */ | 12 | #define IQ31244_7SEG_0 0xfe850000 /* 7-Segment LSB (WO) */ |
17 | #define IQ31244_ROTARY_SW 0xfe8d0000 /* Rotary Switch */ | 13 | #define IQ31244_ROTARY_SW 0xfe8d0000 /* Rotary Switch */ |
18 | #define IQ31244_BATT_STAT 0xfe8f0000 /* Battery Status */ | 14 | #define IQ31244_BATT_STAT 0xfe8f0000 /* Battery Status */ |
19 | 15 | ||
20 | #ifndef __ASSEMBLY__ | ||
21 | extern void iq31244_map_io(void); | ||
22 | #endif | ||
23 | 16 | ||
24 | #endif // _IQ31244_H_ | 17 | #endif // _IQ31244_H_ |
diff --git a/include/asm-arm/arch-iop32x/iq80321.h b/include/asm-arm/arch-iop32x/iq80321.h index 7015a605ab64..55d70f49b7fd 100644 --- a/include/asm-arm/arch-iop32x/iq80321.h +++ b/include/asm-arm/arch-iop32x/iq80321.h | |||
@@ -7,18 +7,11 @@ | |||
7 | #ifndef _IQ80321_H_ | 7 | #ifndef _IQ80321_H_ |
8 | #define _IQ80321_H_ | 8 | #define _IQ80321_H_ |
9 | 9 | ||
10 | #define IQ80321_FLASHBASE 0xf0000000 /* Flash */ | ||
11 | #define IQ80321_FLASHSIZE 0x00800000 | ||
12 | #define IQ80321_FLASHWIDTH 1 | ||
13 | |||
14 | #define IQ80321_UART 0xfe800000 /* UART #1 */ | 10 | #define IQ80321_UART 0xfe800000 /* UART #1 */ |
15 | #define IQ80321_7SEG_1 0xfe840000 /* 7-Segment MSB */ | 11 | #define IQ80321_7SEG_1 0xfe840000 /* 7-Segment MSB */ |
16 | #define IQ80321_7SEG_0 0xfe850000 /* 7-Segment LSB (WO) */ | 12 | #define IQ80321_7SEG_0 0xfe850000 /* 7-Segment LSB (WO) */ |
17 | #define IQ80321_ROTARY_SW 0xfe8d0000 /* Rotary Switch */ | 13 | #define IQ80321_ROTARY_SW 0xfe8d0000 /* Rotary Switch */ |
18 | #define IQ80321_BATT_STAT 0xfe8f0000 /* Battery Status */ | 14 | #define IQ80321_BATT_STAT 0xfe8f0000 /* Battery Status */ |
19 | 15 | ||
20 | #ifndef __ASSEMBLY__ | ||
21 | extern void iq80321_map_io(void); | ||
22 | #endif | ||
23 | 16 | ||
24 | #endif // _IQ80321_H_ | 17 | #endif // _IQ80321_H_ |
diff --git a/include/asm-arm/arch-iop32x/irqs.h b/include/asm-arm/arch-iop32x/irqs.h index 9fefcf3372b1..a48327ced92e 100644 --- a/include/asm-arm/arch-iop32x/irqs.h +++ b/include/asm-arm/arch-iop32x/irqs.h | |||
@@ -47,42 +47,4 @@ | |||
47 | #define NR_IRQS 32 | 47 | #define NR_IRQS 32 |
48 | 48 | ||
49 | 49 | ||
50 | /* | ||
51 | * Interrupts available on the IQ80321 board | ||
52 | */ | ||
53 | |||
54 | /* | ||
55 | * On board devices | ||
56 | */ | ||
57 | #define IRQ_IQ80321_I82544 IRQ_IOP321_XINT0 | ||
58 | #define IRQ_IQ80321_UART IRQ_IOP321_XINT1 | ||
59 | |||
60 | /* | ||
61 | * PCI interrupts | ||
62 | */ | ||
63 | #define IRQ_IQ80321_INTA IRQ_IOP321_XINT0 | ||
64 | #define IRQ_IQ80321_INTB IRQ_IOP321_XINT1 | ||
65 | #define IRQ_IQ80321_INTC IRQ_IOP321_XINT2 | ||
66 | #define IRQ_IQ80321_INTD IRQ_IOP321_XINT3 | ||
67 | |||
68 | /* | ||
69 | * Interrupts on the IQ31244 board | ||
70 | */ | ||
71 | |||
72 | /* | ||
73 | * On board devices | ||
74 | */ | ||
75 | #define IRQ_IQ31244_UART IRQ_IOP321_XINT1 | ||
76 | #define IRQ_IQ31244_I82546 IRQ_IOP321_XINT0 | ||
77 | #define IRQ_IQ31244_SATA IRQ_IOP321_XINT2 | ||
78 | #define IRQ_IQ31244_PCIX_SLOT IRQ_IOP321_XINT3 | ||
79 | |||
80 | /* | ||
81 | * PCI interrupts | ||
82 | */ | ||
83 | #define IRQ_IQ31244_INTA IRQ_IOP321_XINT0 | ||
84 | #define IRQ_IQ31244_INTB IRQ_IOP321_XINT1 | ||
85 | #define IRQ_IQ31244_INTC IRQ_IOP321_XINT2 | ||
86 | #define IRQ_IQ31244_INTD IRQ_IOP321_XINT3 | ||
87 | |||
88 | #endif // _IRQ_H_ | 50 | #endif // _IRQ_H_ |
diff --git a/include/asm-arm/arch-iop33x/hardware.h b/include/asm-arm/arch-iop33x/hardware.h index 5e3cb32af020..3ebfdc6fea99 100644 --- a/include/asm-arm/arch-iop33x/hardware.h +++ b/include/asm-arm/arch-iop33x/hardware.h | |||
@@ -22,6 +22,11 @@ | |||
22 | #define PCIBIOS_MIN_IO 0x00000000 | 22 | #define PCIBIOS_MIN_IO 0x00000000 |
23 | #define PCIBIOS_MIN_MEM 0x00000000 | 23 | #define PCIBIOS_MIN_MEM 0x00000000 |
24 | 24 | ||
25 | #ifndef __ASSEMBLY__ | ||
26 | extern struct platform_device iop33x_uart0_device; | ||
27 | extern struct platform_device iop33x_uart1_device; | ||
28 | #endif | ||
29 | |||
25 | 30 | ||
26 | /* | 31 | /* |
27 | * Generic chipset bits | 32 | * Generic chipset bits |
diff --git a/include/asm-arm/arch-iop33x/iop331.h b/include/asm-arm/arch-iop33x/iop331.h index d12a95aa967a..a21872abd877 100644 --- a/include/asm-arm/arch-iop33x/iop331.h +++ b/include/asm-arm/arch-iop33x/iop331.h | |||
@@ -136,16 +136,6 @@ | |||
136 | #define IOP331_FINTVEC (volatile u32 *)IOP331_REG_ADDR(0x000007CC) | 136 | #define IOP331_FINTVEC (volatile u32 *)IOP331_REG_ADDR(0x000007CC) |
137 | 137 | ||
138 | 138 | ||
139 | /* Timers */ | ||
140 | #if defined(CONFIG_ARCH_IOP33X) | ||
141 | #define IOP331_TICK_RATE 266000000 /* 266 MHz IB clock */ | ||
142 | #endif | ||
143 | |||
144 | #if defined(CONFIG_IOP331_STEPD) || defined(CONFIG_ARCH_IQ80333) | ||
145 | #undef IOP331_TICK_RATE | ||
146 | #define IOP331_TICK_RATE 333000000 /* 333 Mhz IB clock */ | ||
147 | #endif | ||
148 | |||
149 | /* Application accelerator unit 0x00000800 - 0x000008FF */ | 139 | /* Application accelerator unit 0x00000800 - 0x000008FF */ |
150 | #define IOP331_AAU_ACR (volatile u32 *)IOP331_REG_ADDR(0x00000800) | 140 | #define IOP331_AAU_ACR (volatile u32 *)IOP331_REG_ADDR(0x00000800) |
151 | #define IOP331_AAU_ASR (volatile u32 *)IOP331_REG_ADDR(0x00000804) | 141 | #define IOP331_AAU_ASR (volatile u32 *)IOP331_REG_ADDR(0x00000804) |
diff --git a/include/asm-arm/arch-iop33x/iq80331.h b/include/asm-arm/arch-iop33x/iq80331.h index bda7ab6d55cf..186762bf8944 100644 --- a/include/asm-arm/arch-iop33x/iq80331.h +++ b/include/asm-arm/arch-iop33x/iq80331.h | |||
@@ -7,17 +7,10 @@ | |||
7 | #ifndef _IQ80331_H_ | 7 | #ifndef _IQ80331_H_ |
8 | #define _IQ80331_H_ | 8 | #define _IQ80331_H_ |
9 | 9 | ||
10 | #define IQ80331_FLASHBASE 0xc0000000 /* Flash */ | ||
11 | #define IQ80331_FLASHSIZE 0x00800000 | ||
12 | #define IQ80331_FLASHWIDTH 1 | ||
13 | |||
14 | #define IQ80331_7SEG_1 0xce840000 /* 7-Segment MSB */ | 10 | #define IQ80331_7SEG_1 0xce840000 /* 7-Segment MSB */ |
15 | #define IQ80331_7SEG_0 0xce850000 /* 7-Segment LSB (WO) */ | 11 | #define IQ80331_7SEG_0 0xce850000 /* 7-Segment LSB (WO) */ |
16 | #define IQ80331_ROTARY_SW 0xce8d0000 /* Rotary Switch */ | 12 | #define IQ80331_ROTARY_SW 0xce8d0000 /* Rotary Switch */ |
17 | #define IQ80331_BATT_STAT 0xce8f0000 /* Battery Status */ | 13 | #define IQ80331_BATT_STAT 0xce8f0000 /* Battery Status */ |
18 | 14 | ||
19 | #ifndef __ASSEMBLY__ | ||
20 | extern void iq80331_map_io(void); | ||
21 | #endif | ||
22 | 15 | ||
23 | #endif // _IQ80331_H_ | 16 | #endif // _IQ80331_H_ |
diff --git a/include/asm-arm/arch-iop33x/iq80332.h b/include/asm-arm/arch-iop33x/iq80332.h index f728e04378ab..2a5d4ee01df9 100644 --- a/include/asm-arm/arch-iop33x/iq80332.h +++ b/include/asm-arm/arch-iop33x/iq80332.h | |||
@@ -7,17 +7,10 @@ | |||
7 | #ifndef _IQ80332_H_ | 7 | #ifndef _IQ80332_H_ |
8 | #define _IQ80332_H_ | 8 | #define _IQ80332_H_ |
9 | 9 | ||
10 | #define IQ80332_FLASHBASE 0xc0000000 /* Flash */ | ||
11 | #define IQ80332_FLASHSIZE 0x00800000 | ||
12 | #define IQ80332_FLASHWIDTH 1 | ||
13 | |||
14 | #define IQ80332_7SEG_1 0xce840000 /* 7-Segment MSB */ | 10 | #define IQ80332_7SEG_1 0xce840000 /* 7-Segment MSB */ |
15 | #define IQ80332_7SEG_0 0xce850000 /* 7-Segment LSB (WO) */ | 11 | #define IQ80332_7SEG_0 0xce850000 /* 7-Segment LSB (WO) */ |
16 | #define IQ80332_ROTARY_SW 0xce8d0000 /* Rotary Switch */ | 12 | #define IQ80332_ROTARY_SW 0xce8d0000 /* Rotary Switch */ |
17 | #define IQ80332_BATT_STAT 0xce8f0000 /* Battery Status */ | 13 | #define IQ80332_BATT_STAT 0xce8f0000 /* Battery Status */ |
18 | 14 | ||
19 | #ifndef __ASSEMBLY__ | ||
20 | extern void iq80332_map_io(void); | ||
21 | #endif | ||
22 | 15 | ||
23 | #endif // _IQ80332_H_ | 16 | #endif // _IQ80332_H_ |
diff --git a/include/asm-arm/arch-iop33x/irqs.h b/include/asm-arm/arch-iop33x/irqs.h index 2e3ade3b5ff9..a875404a07fc 100644 --- a/include/asm-arm/arch-iop33x/irqs.h +++ b/include/asm-arm/arch-iop33x/irqs.h | |||
@@ -57,42 +57,4 @@ | |||
57 | #define NR_IRQS 64 | 57 | #define NR_IRQS 64 |
58 | 58 | ||
59 | 59 | ||
60 | /* | ||
61 | * Interrupts available on the IQ80331 board | ||
62 | */ | ||
63 | |||
64 | /* | ||
65 | * On board devices | ||
66 | */ | ||
67 | #define IRQ_IQ80331_I82544 IRQ_IOP331_XINT0 | ||
68 | #define IRQ_IQ80331_UART0 IRQ_IOP331_UART0 | ||
69 | #define IRQ_IQ80331_UART1 IRQ_IOP331_UART1 | ||
70 | |||
71 | /* | ||
72 | * PCI interrupts | ||
73 | */ | ||
74 | #define IRQ_IQ80331_INTA IRQ_IOP331_XINT0 | ||
75 | #define IRQ_IQ80331_INTB IRQ_IOP331_XINT1 | ||
76 | #define IRQ_IQ80331_INTC IRQ_IOP331_XINT2 | ||
77 | #define IRQ_IQ80331_INTD IRQ_IOP331_XINT3 | ||
78 | |||
79 | /* | ||
80 | * Interrupts available on the IQ80332 board | ||
81 | */ | ||
82 | |||
83 | /* | ||
84 | * On board devices | ||
85 | */ | ||
86 | #define IRQ_IQ80332_I82544 IRQ_IOP331_XINT0 | ||
87 | #define IRQ_IQ80332_UART0 IRQ_IOP331_UART0 | ||
88 | #define IRQ_IQ80332_UART1 IRQ_IOP331_UART1 | ||
89 | |||
90 | /* | ||
91 | * PCI interrupts | ||
92 | */ | ||
93 | #define IRQ_IQ80332_INTA IRQ_IOP331_XINT0 | ||
94 | #define IRQ_IQ80332_INTB IRQ_IOP331_XINT1 | ||
95 | #define IRQ_IQ80332_INTC IRQ_IOP331_XINT2 | ||
96 | #define IRQ_IQ80332_INTD IRQ_IOP331_XINT3 | ||
97 | |||
98 | #endif // _IRQ_H_ | 60 | #endif // _IRQ_H_ |