aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2006-09-18 18:24:52 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-25 05:25:50 -0400
commitc680b77efe4542830bb170e1cc40db1c47c569bc (patch)
treeed79bf5cb4bab39e694690747c34cee8798c6d02 /include
parent7412b10f7967ef4210ed6f793004d23642dc5140 (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')
-rw-r--r--include/asm-arm/arch-iop32x/iop321.h12
-rw-r--r--include/asm-arm/arch-iop32x/iq31244.h7
-rw-r--r--include/asm-arm/arch-iop32x/iq80321.h7
-rw-r--r--include/asm-arm/arch-iop32x/irqs.h38
-rw-r--r--include/asm-arm/arch-iop33x/hardware.h5
-rw-r--r--include/asm-arm/arch-iop33x/iop331.h10
-rw-r--r--include/asm-arm/arch-iop33x/iq80331.h7
-rw-r--r--include/asm-arm/arch-iop33x/iq80332.h7
-rw-r--r--include/asm-arm/arch-iop33x/irqs.h38
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__
21extern 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__
21extern 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__
26extern struct platform_device iop33x_uart0_device;
27extern 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__
20extern 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__
20extern 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_