aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig20
-rw-r--r--arch/arm/Makefile3
-rw-r--r--arch/arm/configs/ep80219_defconfig5
-rw-r--r--arch/arm/configs/iq31244_defconfig5
-rw-r--r--arch/arm/configs/iq80321_defconfig5
-rw-r--r--arch/arm/configs/iq80331_defconfig4
-rw-r--r--arch/arm/configs/iq80332_defconfig4
-rw-r--r--arch/arm/mach-iop32x/Kconfig28
-rw-r--r--arch/arm/mach-iop32x/Makefile11
-rw-r--r--arch/arm/mach-iop32x/Makefile.boot3
-rw-r--r--arch/arm/mach-iop32x/common.c (renamed from arch/arm/mach-iop3xx/common.c)2
-rw-r--r--arch/arm/mach-iop32x/iq31244-mm.c (renamed from arch/arm/mach-iop3xx/iq31244-mm.c)2
-rw-r--r--arch/arm/mach-iop32x/iq31244-pci.c (renamed from arch/arm/mach-iop3xx/iq31244-pci.c)4
-rw-r--r--arch/arm/mach-iop32x/iq80321-mm.c (renamed from arch/arm/mach-iop3xx/iq80321-mm.c)2
-rw-r--r--arch/arm/mach-iop32x/iq80321-pci.c (renamed from arch/arm/mach-iop3xx/iq80321-pci.c)2
-rw-r--r--arch/arm/mach-iop32x/irq.c (renamed from arch/arm/mach-iop3xx/iop321-irq.c)6
-rw-r--r--arch/arm/mach-iop32x/pci.c (renamed from arch/arm/mach-iop3xx/iop321-pci.c)2
-rw-r--r--arch/arm/mach-iop32x/setup.c (renamed from arch/arm/mach-iop3xx/iop321-setup.c)2
-rw-r--r--arch/arm/mach-iop32x/time.c (renamed from arch/arm/mach-iop3xx/iop321-time.c)2
-rw-r--r--arch/arm/mach-iop33x/Kconfig27
-rw-r--r--arch/arm/mach-iop33x/Makefile11
-rw-r--r--arch/arm/mach-iop33x/Makefile.boot3
-rw-r--r--arch/arm/mach-iop33x/common.c22
-rw-r--r--arch/arm/mach-iop33x/iq80331-mm.c (renamed from arch/arm/mach-iop3xx/iq80331-mm.c)2
-rw-r--r--arch/arm/mach-iop33x/iq80331-pci.c (renamed from arch/arm/mach-iop3xx/iq80331-pci.c)2
-rw-r--r--arch/arm/mach-iop33x/iq80332-mm.c (renamed from arch/arm/mach-iop3xx/iq80332-mm.c)2
-rw-r--r--arch/arm/mach-iop33x/iq80332-pci.c (renamed from arch/arm/mach-iop3xx/iq80332-pci.c)2
-rw-r--r--arch/arm/mach-iop33x/irq.c (renamed from arch/arm/mach-iop3xx/iop331-irq.c)4
-rw-r--r--arch/arm/mach-iop33x/pci.c (renamed from arch/arm/mach-iop3xx/iop331-pci.c)2
-rw-r--r--arch/arm/mach-iop33x/setup.c (renamed from arch/arm/mach-iop3xx/iop331-setup.c)2
-rw-r--r--arch/arm/mach-iop33x/time.c (renamed from arch/arm/mach-iop3xx/iop331-time.c)2
-rw-r--r--arch/arm/mach-iop3xx/Kconfig66
-rw-r--r--arch/arm/mach-iop3xx/Makefile23
-rw-r--r--arch/arm/mach-iop3xx/Makefile.boot9
-rw-r--r--arch/arm/mm/Kconfig2
35 files changed, 154 insertions, 139 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index d9376f048ed7..0fb17bbb86bc 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -202,12 +202,20 @@ config ARCH_IMX
202 help 202 help
203 Support for Motorola's i.MX family of processors (MX1, MXL). 203 Support for Motorola's i.MX family of processors (MX1, MXL).
204 204
205config ARCH_IOP3XX 205config ARCH_IOP32X
206 bool "IOP3xx-based" 206 bool "IOP32x-based"
207 depends on MMU 207 depends on MMU
208 select PCI 208 select PCI
209 help 209 help
210 Support for Intel's IOP3XX (XScale) family of processors. 210 Support for Intel's 80219 and IOP32X (XScale) family of
211 processors.
212
213config ARCH_IOP33X
214 bool "IOP33x-based"
215 depends on MMU
216 select PCI
217 help
218 Support for Intel's IOP33X (XScale) family of processors.
211 219
212config ARCH_IXP4XX 220config ARCH_IXP4XX
213 bool "IXP4xx-based" 221 bool "IXP4xx-based"
@@ -312,7 +320,9 @@ source "arch/arm/mach-footbridge/Kconfig"
312 320
313source "arch/arm/mach-integrator/Kconfig" 321source "arch/arm/mach-integrator/Kconfig"
314 322
315source "arch/arm/mach-iop3xx/Kconfig" 323source "arch/arm/mach-iop32x/Kconfig"
324
325source "arch/arm/mach-iop33x/Kconfig"
316 326
317source "arch/arm/mach-ixp4xx/Kconfig" 327source "arch/arm/mach-ixp4xx/Kconfig"
318 328
@@ -848,7 +858,7 @@ source "drivers/block/Kconfig"
848 858
849source "drivers/acorn/block/Kconfig" 859source "drivers/acorn/block/Kconfig"
850 860
851if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \ 861if PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
852 || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \ 862 || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
853 || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \ 863 || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
854 || ARCH_IXP23XX 864 || ARCH_IXP23XX
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 92873cdee31f..ac786bf0f546 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -101,7 +101,8 @@ endif
101 machine-$(CONFIG_ARCH_INTEGRATOR) := integrator 101 machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
102 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 102 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000
103 machine-$(CONFIG_ARCH_CLPS711X) := clps711x 103 machine-$(CONFIG_ARCH_CLPS711X) := clps711x
104 machine-$(CONFIG_ARCH_IOP3XX) := iop3xx 104 machine-$(CONFIG_ARCH_IOP32X) := iop32x
105 machine-$(CONFIG_ARCH_IOP33X) := iop33x
105 machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx 106 machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx
106 machine-$(CONFIG_ARCH_IXP2000) := ixp2000 107 machine-$(CONFIG_ARCH_IXP2000) := ixp2000
107 machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx 108 machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx
diff --git a/arch/arm/configs/ep80219_defconfig b/arch/arm/configs/ep80219_defconfig
index 199f1567345d..f91cf8ff359d 100644
--- a/arch/arm/configs/ep80219_defconfig
+++ b/arch/arm/configs/ep80219_defconfig
@@ -66,7 +66,8 @@ CONFIG_KMOD=y
66# CONFIG_ARCH_EBSA110 is not set 66# CONFIG_ARCH_EBSA110 is not set
67# CONFIG_ARCH_FOOTBRIDGE is not set 67# CONFIG_ARCH_FOOTBRIDGE is not set
68# CONFIG_ARCH_INTEGRATOR is not set 68# CONFIG_ARCH_INTEGRATOR is not set
69CONFIG_ARCH_IOP3XX=y 69CONFIG_ARCH_IOP32X=y
70# CONFIG_ARCH_IOP33X is not set
70# CONFIG_ARCH_IXP4XX is not set 71# CONFIG_ARCH_IXP4XX is not set
71# CONFIG_ARCH_IXP2000 is not set 72# CONFIG_ARCH_IXP2000 is not set
72# CONFIG_ARCH_L7200 is not set 73# CONFIG_ARCH_L7200 is not set
@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ31244=y
93# CONFIG_ARCH_IQ80331 is not set 94# CONFIG_ARCH_IQ80331 is not set
94# CONFIG_MACH_IQ80332 is not set 95# CONFIG_MACH_IQ80332 is not set
95CONFIG_ARCH_EP80219=y 96CONFIG_ARCH_EP80219=y
96CONFIG_ARCH_IOP32X=y
97# CONFIG_ARCH_IOP33X is not set
98 97
99# 98#
100# IOP3xx Chipset Features 99# IOP3xx Chipset Features
diff --git a/arch/arm/configs/iq31244_defconfig b/arch/arm/configs/iq31244_defconfig
index 27f884417b90..ce1b1f20b763 100644
--- a/arch/arm/configs/iq31244_defconfig
+++ b/arch/arm/configs/iq31244_defconfig
@@ -67,7 +67,8 @@ CONFIG_KMOD=y
67# CONFIG_ARCH_EBSA110 is not set 67# CONFIG_ARCH_EBSA110 is not set
68# CONFIG_ARCH_FOOTBRIDGE is not set 68# CONFIG_ARCH_FOOTBRIDGE is not set
69# CONFIG_ARCH_INTEGRATOR is not set 69# CONFIG_ARCH_INTEGRATOR is not set
70CONFIG_ARCH_IOP3XX=y 70CONFIG_ARCH_IOP32X=y
71# CONFIG_ARCH_IOP33X is not set
71# CONFIG_ARCH_IXP4XX is not set 72# CONFIG_ARCH_IXP4XX is not set
72# CONFIG_ARCH_IXP2000 is not set 73# CONFIG_ARCH_IXP2000 is not set
73# CONFIG_ARCH_L7200 is not set 74# CONFIG_ARCH_L7200 is not set
@@ -94,8 +95,6 @@ CONFIG_ARCH_IQ31244=y
94# CONFIG_ARCH_IQ80331 is not set 95# CONFIG_ARCH_IQ80331 is not set
95# CONFIG_MACH_IQ80332 is not set 96# CONFIG_MACH_IQ80332 is not set
96# CONFIG_ARCH_EP80219 is not set 97# CONFIG_ARCH_EP80219 is not set
97CONFIG_ARCH_IOP32X=y
98# CONFIG_ARCH_IOP33X is not set
99 98
100# 99#
101# IOP3xx Chipset Features 100# IOP3xx Chipset Features
diff --git a/arch/arm/configs/iq80321_defconfig b/arch/arm/configs/iq80321_defconfig
index 33f21a24cf4e..f00b0d2159dd 100644
--- a/arch/arm/configs/iq80321_defconfig
+++ b/arch/arm/configs/iq80321_defconfig
@@ -66,7 +66,8 @@ CONFIG_KMOD=y
66# CONFIG_ARCH_EBSA110 is not set 66# CONFIG_ARCH_EBSA110 is not set
67# CONFIG_ARCH_FOOTBRIDGE is not set 67# CONFIG_ARCH_FOOTBRIDGE is not set
68# CONFIG_ARCH_INTEGRATOR is not set 68# CONFIG_ARCH_INTEGRATOR is not set
69CONFIG_ARCH_IOP3XX=y 69CONFIG_ARCH_IOP32X=y
70# CONFIG_ARCH_IOP33X is not set
70# CONFIG_ARCH_IXP4XX is not set 71# CONFIG_ARCH_IXP4XX is not set
71# CONFIG_ARCH_IXP2000 is not set 72# CONFIG_ARCH_IXP2000 is not set
72# CONFIG_ARCH_L7200 is not set 73# CONFIG_ARCH_L7200 is not set
@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ80321=y
93# CONFIG_ARCH_IQ80331 is not set 94# CONFIG_ARCH_IQ80331 is not set
94# CONFIG_MACH_IQ80332 is not set 95# CONFIG_MACH_IQ80332 is not set
95# CONFIG_ARCH_EP80219 is not set 96# CONFIG_ARCH_EP80219 is not set
96CONFIG_ARCH_IOP32X=y
97# CONFIG_ARCH_IOP33X is not set
98 97
99# 98#
100# IOP3xx Chipset Features 99# IOP3xx Chipset Features
diff --git a/arch/arm/configs/iq80331_defconfig b/arch/arm/configs/iq80331_defconfig
index 67a8bd7dba29..af3a87e469d5 100644
--- a/arch/arm/configs/iq80331_defconfig
+++ b/arch/arm/configs/iq80331_defconfig
@@ -66,7 +66,8 @@ CONFIG_KMOD=y
66# CONFIG_ARCH_EBSA110 is not set 66# CONFIG_ARCH_EBSA110 is not set
67# CONFIG_ARCH_FOOTBRIDGE is not set 67# CONFIG_ARCH_FOOTBRIDGE is not set
68# CONFIG_ARCH_INTEGRATOR is not set 68# CONFIG_ARCH_INTEGRATOR is not set
69CONFIG_ARCH_IOP3XX=y 69# CONFIG_ARCH_IOP32X is not set
70CONFIG_ARCH_IOP33X=y
70# CONFIG_ARCH_IXP4XX is not set 71# CONFIG_ARCH_IXP4XX is not set
71# CONFIG_ARCH_IXP2000 is not set 72# CONFIG_ARCH_IXP2000 is not set
72# CONFIG_ARCH_L7200 is not set 73# CONFIG_ARCH_L7200 is not set
@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
93CONFIG_ARCH_IQ80331=y 94CONFIG_ARCH_IQ80331=y
94# CONFIG_MACH_IQ80332 is not set 95# CONFIG_MACH_IQ80332 is not set
95# CONFIG_ARCH_EP80219 is not set 96# CONFIG_ARCH_EP80219 is not set
96CONFIG_ARCH_IOP33X=y
97 97
98# 98#
99# IOP3xx Chipset Features 99# IOP3xx Chipset Features
diff --git a/arch/arm/configs/iq80332_defconfig b/arch/arm/configs/iq80332_defconfig
index c8dea45cb017..931c78755a30 100644
--- a/arch/arm/configs/iq80332_defconfig
+++ b/arch/arm/configs/iq80332_defconfig
@@ -66,7 +66,8 @@ CONFIG_KMOD=y
66# CONFIG_ARCH_EBSA110 is not set 66# CONFIG_ARCH_EBSA110 is not set
67# CONFIG_ARCH_FOOTBRIDGE is not set 67# CONFIG_ARCH_FOOTBRIDGE is not set
68# CONFIG_ARCH_INTEGRATOR is not set 68# CONFIG_ARCH_INTEGRATOR is not set
69CONFIG_ARCH_IOP3XX=y 69# CONFIG_ARCH_IOP32X is not set
70CONFIG_ARCH_IOP33X=y
70# CONFIG_ARCH_IXP4XX is not set 71# CONFIG_ARCH_IXP4XX is not set
71# CONFIG_ARCH_IXP2000 is not set 72# CONFIG_ARCH_IXP2000 is not set
72# CONFIG_ARCH_L7200 is not set 73# CONFIG_ARCH_L7200 is not set
@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
93# CONFIG_ARCH_IQ80331 is not set 94# CONFIG_ARCH_IQ80331 is not set
94CONFIG_MACH_IQ80332=y 95CONFIG_MACH_IQ80332=y
95# CONFIG_ARCH_EP80219 is not set 96# CONFIG_ARCH_EP80219 is not set
96CONFIG_ARCH_IOP33X=y
97 97
98# 98#
99# IOP3xx Chipset Features 99# IOP3xx Chipset Features
diff --git a/arch/arm/mach-iop32x/Kconfig b/arch/arm/mach-iop32x/Kconfig
new file mode 100644
index 000000000000..21e3e8c8c2ad
--- /dev/null
+++ b/arch/arm/mach-iop32x/Kconfig
@@ -0,0 +1,28 @@
1if ARCH_IOP32X
2
3menu "IOP32x Implementation Options"
4
5comment "IOP32x Platform Types"
6
7config ARCH_IQ80321
8 bool "Enable support for IQ80321"
9 help
10 Say Y here if you want to run your kernel on the Intel IQ80321
11 evaluation kit for the IOP321 chipset.
12
13config ARCH_IQ31244
14 bool "Enable support for IQ31244"
15 help
16 Say Y here if you want to run your kernel on the Intel IQ31244
17 evaluation kit for the IOP321 chipset.
18
19config ARCH_EP80219
20 bool "Enable support for EP80219"
21 select ARCH_IQ31244
22 help
23 Say Y here if you want to run your kernel on the Intel EP80219
24 evaluation kit for the Intel 80219 chipset (a IOP321 variant).
25
26endmenu
27
28endif
diff --git a/arch/arm/mach-iop32x/Makefile b/arch/arm/mach-iop32x/Makefile
new file mode 100644
index 000000000000..94144f7efa6c
--- /dev/null
+++ b/arch/arm/mach-iop32x/Makefile
@@ -0,0 +1,11 @@
1#
2# Makefile for the linux kernel.
3#
4
5obj-y := common.o setup.o irq.o pci.o time.o
6obj-m :=
7obj-n :=
8obj- :=
9
10obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o
11obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o
diff --git a/arch/arm/mach-iop32x/Makefile.boot b/arch/arm/mach-iop32x/Makefile.boot
new file mode 100644
index 000000000000..47000dccd61f
--- /dev/null
+++ b/arch/arm/mach-iop32x/Makefile.boot
@@ -0,0 +1,3 @@
1 zreladdr-y := 0xa0008000
2params_phys-y := 0xa0000100
3initrd_phys-y := 0xa0800000
diff --git a/arch/arm/mach-iop3xx/common.c b/arch/arm/mach-iop32x/common.c
index d7f50e57e753..8044af6a54e1 100644
--- a/arch/arm/mach-iop3xx/common.c
+++ b/arch/arm/mach-iop32x/common.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/common.c 2 * arch/arm/mach-iop32x/common.c
3 * 3 *
4 * Common routines shared across all IOP3xx implementations 4 * Common routines shared across all IOP3xx implementations
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq31244-mm.c b/arch/arm/mach-iop32x/iq31244-mm.c
index e874b54eefe3..ffc6692c95ad 100644
--- a/arch/arm/mach-iop3xx/iq31244-mm.c
+++ b/arch/arm/mach-iop32x/iq31244-mm.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/mm.c 2 * linux/arch/arm/mach-iop32x/iq31244-mm.c
3 * 3 *
4 * Low level memory initialization for iq80321 platform 4 * Low level memory initialization for iq80321 platform
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq31244-pci.c b/arch/arm/mach-iop32x/iq31244-pci.c
index f3c6413fa5bd..e447c8103ecd 100644
--- a/arch/arm/mach-iop3xx/iq31244-pci.c
+++ b/arch/arm/mach-iop32x/iq31244-pci.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iq80321-pci.c 2 * arch/arm/mach-iop32x/iq31244-pci.c
3 * 3 *
4 * PCI support for the Intel IQ80321 reference board 4 * PCI support for the Intel IQ31244 reference board
5 * 5 *
6 * Author: Rory Bolt <rorybolt@pacbell.net> 6 * Author: Rory Bolt <rorybolt@pacbell.net>
7 * Copyright (C) 2002 Rory Bolt 7 * Copyright (C) 2002 Rory Bolt
diff --git a/arch/arm/mach-iop3xx/iq80321-mm.c b/arch/arm/mach-iop32x/iq80321-mm.c
index d9cac5e1fc3d..5f702a7ff622 100644
--- a/arch/arm/mach-iop3xx/iq80321-mm.c
+++ b/arch/arm/mach-iop32x/iq80321-mm.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/mm.c 2 * linux/arch/arm/mach-iop32x/iq80321-mm.c
3 * 3 *
4 * Low level memory initialization for iq80321 platform 4 * Low level memory initialization for iq80321 platform
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq80321-pci.c b/arch/arm/mach-iop32x/iq80321-pci.c
index d9758d3f6e7f..8767950e131f 100644
--- a/arch/arm/mach-iop3xx/iq80321-pci.c
+++ b/arch/arm/mach-iop32x/iq80321-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iq80321-pci.c 2 * arch/arm/mach-iop32x/iq80321-pci.c
3 * 3 *
4 * PCI support for the Intel IQ80321 reference board 4 * PCI support for the Intel IQ80321 reference board
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iop321-irq.c b/arch/arm/mach-iop32x/irq.c
index 88ac333472c8..c5f633d2d632 100644
--- a/arch/arm/mach-iop3xx/iop321-irq.c
+++ b/arch/arm/mach-iop32x/irq.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/iop321-irq.c 2 * linux/arch/arm/mach-iop32x/irq.c
3 * 3 *
4 * Generic IOP321 IRQ handling functionality 4 * Generic IOP32X IRQ handling functionality
5 * 5 *
6 * Author: Rory Bolt <rorybolt@pacbell.net> 6 * Author: Rory Bolt <rorybolt@pacbell.net>
7 * Copyright (C) 2002 Rory Bolt 7 * Copyright (C) 2002 Rory Bolt
@@ -86,7 +86,7 @@ void __init iop321_init_irq(void)
86 machine_is_iq31244()) // all interrupts are inputs to chip 86 machine_is_iq31244()) // all interrupts are inputs to chip
87 *IOP321_PCIIRSR = 0x0f; 87 *IOP321_PCIIRSR = 0x0f;
88 88
89 for(i = IOP321_IRQ_OFS; i < NR_IOP321_IRQS; i++) 89 for(i = IOP321_IRQ_OFS; i < NR_IRQS; i++)
90 { 90 {
91 set_irq_chip(i, &ext_chip); 91 set_irq_chip(i, &ext_chip);
92 set_irq_handler(i, do_level_IRQ); 92 set_irq_handler(i, do_level_IRQ);
diff --git a/arch/arm/mach-iop3xx/iop321-pci.c b/arch/arm/mach-iop32x/pci.c
index 8ba6a0e23134..1a7c683673f2 100644
--- a/arch/arm/mach-iop3xx/iop321-pci.c
+++ b/arch/arm/mach-iop32x/pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iop321-pci.c 2 * arch/arm/mach-iop32x/pci.c
3 * 3 *
4 * PCI support for the Intel IOP321 chipset 4 * PCI support for the Intel IOP321 chipset
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iop321-setup.c b/arch/arm/mach-iop32x/setup.c
index b6d096903c4a..729678799271 100644
--- a/arch/arm/mach-iop3xx/iop321-setup.c
+++ b/arch/arm/mach-iop32x/setup.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/iop321-setup.c 2 * linux/arch/arm/mach-iop32x/setup.c
3 * 3 *
4 * Author: Nicolas Pitre <nico@cam.org> 4 * Author: Nicolas Pitre <nico@cam.org>
5 * Copyright (C) 2001 MontaVista Software, Inc. 5 * Copyright (C) 2001 MontaVista Software, Inc.
diff --git a/arch/arm/mach-iop3xx/iop321-time.c b/arch/arm/mach-iop32x/time.c
index 04b1a6f7ebae..3cabbbca0a02 100644
--- a/arch/arm/mach-iop3xx/iop321-time.c
+++ b/arch/arm/mach-iop32x/time.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iop321-time.c 2 * arch/arm/mach-iop32x/time.c
3 * 3 *
4 * Timer code for IOP321 based systems 4 * Timer code for IOP321 based systems
5 * 5 *
diff --git a/arch/arm/mach-iop33x/Kconfig b/arch/arm/mach-iop33x/Kconfig
new file mode 100644
index 000000000000..410df546e954
--- /dev/null
+++ b/arch/arm/mach-iop33x/Kconfig
@@ -0,0 +1,27 @@
1if ARCH_IOP33X
2
3menu "IOP33x Implementation Options"
4
5comment "IOP33x Platform Types"
6
7config ARCH_IQ80331
8 bool "Enable support for IQ80331"
9 help
10 Say Y here if you want to run your kernel on the Intel IQ80331
11 evaluation kit for the IOP331 chipset.
12
13config MACH_IQ80332
14 bool "Enable support for IQ80332"
15 help
16 Say Y here if you want to run your kernel on the Intel IQ80332
17 evaluation kit for the IOP332 chipset.
18
19config IOP331_STEPD
20 bool "Chip stepping D of the IOP80331 processor or IOP80333"
21 help
22 Say Y here if you have StepD of the IOP80331 or IOP8033
23 based platforms.
24
25endmenu
26
27endif
diff --git a/arch/arm/mach-iop33x/Makefile b/arch/arm/mach-iop33x/Makefile
new file mode 100644
index 000000000000..0f1a8fffe187
--- /dev/null
+++ b/arch/arm/mach-iop33x/Makefile
@@ -0,0 +1,11 @@
1#
2# Makefile for the linux kernel.
3#
4
5obj-y := common.o setup.o irq.o pci.o time.o
6obj-m :=
7obj-n :=
8obj- :=
9
10obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
11obj-$(CONFIG_MACH_IQ80332) += iq80332-mm.o iq80332-pci.o
diff --git a/arch/arm/mach-iop33x/Makefile.boot b/arch/arm/mach-iop33x/Makefile.boot
new file mode 100644
index 000000000000..67039c3e0c48
--- /dev/null
+++ b/arch/arm/mach-iop33x/Makefile.boot
@@ -0,0 +1,3 @@
1 zreladdr-y := 0x00008000
2params_phys-y := 0x00000100
3initrd_phys-y := 0x00800000
diff --git a/arch/arm/mach-iop33x/common.c b/arch/arm/mach-iop33x/common.c
new file mode 100644
index 000000000000..dd75f2b8e74f
--- /dev/null
+++ b/arch/arm/mach-iop33x/common.c
@@ -0,0 +1,22 @@
1/*
2 * arch/arm/mach-iop33x/common.c
3 *
4 * Common routines shared across all IOP3xx implementations
5 *
6 * Author: Deepak Saxena <dsaxena@mvista.com>
7 *
8 * Copyright 2003 (c) MontaVista, Software, Inc.
9 *
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without any
12 * warranty of any kind, whether express or implied.
13 */
14
15#include <linux/delay.h>
16#include <asm/hardware.h>
17
18/*
19 * Shared variables
20 */
21unsigned long iop3xx_pcibios_min_io = 0;
22unsigned long iop3xx_pcibios_min_mem = 0;
diff --git a/arch/arm/mach-iop3xx/iq80331-mm.c b/arch/arm/mach-iop33x/iq80331-mm.c
index 129eb49b0670..eb59445a0fca 100644
--- a/arch/arm/mach-iop3xx/iq80331-mm.c
+++ b/arch/arm/mach-iop33x/iq80331-mm.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/mm.c 2 * linux/arch/arm/mach-iop33x/iq80331-mm.c
3 * 3 *
4 * Low level memory initialization for iq80331 platform 4 * Low level memory initialization for iq80331 platform
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq80331-pci.c b/arch/arm/mach-iop33x/iq80331-pci.c
index 40d861002492..71adb12a9421 100644
--- a/arch/arm/mach-iop3xx/iq80331-pci.c
+++ b/arch/arm/mach-iop33x/iq80331-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iq80331-pci.c 2 * arch/arm/mach-iop33x/iq80331-pci.c
3 * 3 *
4 * PCI support for the Intel IQ80331 reference board 4 * PCI support for the Intel IQ80331 reference board
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq80332-mm.c b/arch/arm/mach-iop33x/iq80332-mm.c
index 2feaf7591f53..f7bc73113ea8 100644
--- a/arch/arm/mach-iop3xx/iq80332-mm.c
+++ b/arch/arm/mach-iop33x/iq80332-mm.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/mm.c 2 * linux/arch/arm/mach-iop33x/iq80332-mm.c
3 * 3 *
4 * Low level memory initialization for iq80332 platform 4 * Low level memory initialization for iq80332 platform
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iq80332-pci.c b/arch/arm/mach-iop33x/iq80332-pci.c
index afc0676318e4..f3010f85b1a2 100644
--- a/arch/arm/mach-iop3xx/iq80332-pci.c
+++ b/arch/arm/mach-iop33x/iq80332-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iq80332-pci.c 2 * arch/arm/mach-iop33x/iq80332-pci.c
3 * 3 *
4 * PCI support for the Intel IQ80332 reference board 4 * PCI support for the Intel IQ80332 reference board
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iop331-irq.c b/arch/arm/mach-iop33x/irq.c
index cab11722ced2..029fa78876a5 100644
--- a/arch/arm/mach-iop3xx/iop331-irq.c
+++ b/arch/arm/mach-iop33x/irq.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/iop331-irq.c 2 * linux/arch/arm/mach-iop33x/irq.c
3 * 3 *
4 * Generic IOP331 IRQ handling functionality 4 * Generic IOP331 IRQ handling functionality
5 * 5 *
@@ -119,7 +119,7 @@ void __init iop331_init_irq(void)
119 if(machine_is_iq80331()) // all interrupts are inputs to chip 119 if(machine_is_iq80331()) // all interrupts are inputs to chip
120 *IOP331_PCIIRSR = 0x0f; 120 *IOP331_PCIIRSR = 0x0f;
121 121
122 for(i = IOP331_IRQ_OFS; i < NR_IOP331_IRQS; i++) 122 for(i = IOP331_IRQ_OFS; i < NR_IRQS; i++)
123 { 123 {
124 set_irq_chip(i, (i < 32) ? &iop331_irqchip1 : &iop331_irqchip2); 124 set_irq_chip(i, (i < 32) ? &iop331_irqchip1 : &iop331_irqchip2);
125 set_irq_handler(i, do_level_IRQ); 125 set_irq_handler(i, do_level_IRQ);
diff --git a/arch/arm/mach-iop3xx/iop331-pci.c b/arch/arm/mach-iop33x/pci.c
index 44dd213b48a3..bf6aba91b47d 100644
--- a/arch/arm/mach-iop3xx/iop331-pci.c
+++ b/arch/arm/mach-iop33x/pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iop331-pci.c 2 * arch/arm/mach-iop33x/pci.c
3 * 3 *
4 * PCI support for the Intel IOP331 chipset 4 * PCI support for the Intel IOP331 chipset
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/iop331-setup.c b/arch/arm/mach-iop33x/setup.c
index b2f24931d143..c14c7da5ec4c 100644
--- a/arch/arm/mach-iop3xx/iop331-setup.c
+++ b/arch/arm/mach-iop33x/setup.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-iop3xx/iop331-setup.c 2 * linux/arch/arm/mach-iop33x/setup.c
3 * 3 *
4 * Author: Dave Jiang (dave.jiang@intel.com) 4 * Author: Dave Jiang (dave.jiang@intel.com)
5 * Copyright (C) 2004 Intel Corporation. 5 * Copyright (C) 2004 Intel Corporation.
diff --git a/arch/arm/mach-iop3xx/iop331-time.c b/arch/arm/mach-iop33x/time.c
index 0c09e74c5740..d839cd0d926e 100644
--- a/arch/arm/mach-iop3xx/iop331-time.c
+++ b/arch/arm/mach-iop33x/time.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-iop3xx/iop331-time.c 2 * arch/arm/mach-iop33x/time.c
3 * 3 *
4 * Timer code for IOP331 based systems 4 * Timer code for IOP331 based systems
5 * 5 *
diff --git a/arch/arm/mach-iop3xx/Kconfig b/arch/arm/mach-iop3xx/Kconfig
deleted file mode 100644
index 887c3753727f..000000000000
--- a/arch/arm/mach-iop3xx/Kconfig
+++ /dev/null
@@ -1,66 +0,0 @@
1if ARCH_IOP3XX
2
3menu "IOP3xx Implementation Options"
4
5comment "IOP3xx Platform Types"
6
7config ARCH_IQ80321
8 bool "Enable support for IQ80321"
9 select ARCH_IOP32X
10 help
11 Say Y here if you want to run your kernel on the Intel IQ80321
12 evaluation kit for the IOP321 chipset.
13
14config ARCH_IQ31244
15 bool "Enable support for IQ31244"
16 select ARCH_IOP32X
17 help
18 Say Y here if you want to run your kernel on the Intel IQ31244
19 evaluation kit for the IOP321 chipset.
20
21config ARCH_IQ80331
22 bool "Enable support for IQ80331"
23 select ARCH_IOP33X
24 help
25 Say Y here if you want to run your kernel on the Intel IQ80331
26 evaluation kit for the IOP331 chipset.
27
28config MACH_IQ80332
29 bool "Enable support for IQ80332"
30 select ARCH_IOP33X
31 help
32 Say Y here if you want to run your kernel on the Intel IQ80332
33 evaluation kit for the IOP332 chipset.
34
35config ARCH_EP80219
36 bool "Enable support for EP80219"
37 select ARCH_IOP32X
38 select ARCH_IQ31244
39 help
40 Say Y here if you want to run your kernel on the Intel EP80219
41 evaluation kit for the Intel 80219 chipset (a IOP321 variant).
42
43# Which IOP variant are we running?
44config ARCH_IOP32X
45 bool
46 help
47 The IQ80321 uses the IOP321 variant.
48 The IQ31244 and EP80219 uses the IOP321 variant.
49
50config ARCH_IOP33X
51 bool
52 default ARCH_IQ80331
53 help
54 The IQ80331, IQ80332, and IQ80333 uses the IOP331 variant.
55
56comment "IOP3xx Chipset Features"
57
58config IOP331_STEPD
59 bool "Chip stepping D of the IOP80331 processor or IOP80333"
60 depends on ARCH_IOP33X
61 help
62 Say Y here if you have StepD of the IOP80331 or IOP8033
63 based platforms.
64
65endmenu
66endif
diff --git a/arch/arm/mach-iop3xx/Makefile b/arch/arm/mach-iop3xx/Makefile
deleted file mode 100644
index ad3051524480..000000000000
--- a/arch/arm/mach-iop3xx/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Makefile for the linux kernel.
3#
4
5# Object file lists.
6
7obj-y := common.o
8
9obj-m :=
10obj-n :=
11obj- :=
12
13obj-$(CONFIG_ARCH_IOP32X) += iop321-setup.o iop321-irq.o iop321-pci.o iop321-time.o
14
15obj-$(CONFIG_ARCH_IOP33X) += iop331-setup.o iop331-irq.o iop331-pci.o iop331-time.o
16
17obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o
18
19obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o
20
21obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
22
23obj-$(CONFIG_MACH_IQ80332) += iq80332-mm.o iq80332-pci.o
diff --git a/arch/arm/mach-iop3xx/Makefile.boot b/arch/arm/mach-iop3xx/Makefile.boot
deleted file mode 100644
index e120c233b706..000000000000
--- a/arch/arm/mach-iop3xx/Makefile.boot
+++ /dev/null
@@ -1,9 +0,0 @@
1 zreladdr-y := 0xa0008000
2params_phys-y := 0xa0000100
3initrd_phys-y := 0xa0800000
4ifeq ($(CONFIG_ARCH_IOP33X),y)
5 zreladdr-y := 0x00008000
6params_phys-y := 0x00000100
7initrd_phys-y := 0x00800000
8endif
9
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index b4f220dd5eb8..b59c74100a84 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -232,7 +232,7 @@ config CPU_SA1100
232# XScale 232# XScale
233config CPU_XSCALE 233config CPU_XSCALE
234 bool 234 bool
235 depends on ARCH_IOP3XX || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000 235 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000
236 default y 236 default y
237 select CPU_32v5 237 select CPU_32v5
238 select CPU_ABRT_EV5T 238 select CPU_ABRT_EV5T