summary refs log tree commit diff
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
 	help
 	  Support for Motorola's i.MX family of processors (MX1, MXL).
 
-config ARCH_IOP3XX
-	bool "IOP3xx-based"
+config ARCH_IOP32X
+	bool "IOP32x-based"
 	depends on MMU
 	select PCI
 	help
-	  Support for Intel's IOP3XX (XScale) family of processors.
+	  Support for Intel's 80219 and IOP32X (XScale) family of
+	  processors.
+
+config ARCH_IOP33X
+	bool "IOP33x-based"
+	depends on MMU
+	select PCI
+	help
+	  Support for Intel's IOP33X (XScale) family of processors.
 
 config ARCH_IXP4XX
 	bool "IXP4xx-based"
@@ -312,7 +320,9 @@ source "arch/arm/mach-footbridge/Kconfig"
 
 source "arch/arm/mach-integrator/Kconfig"
 
-source "arch/arm/mach-iop3xx/Kconfig"
+source "arch/arm/mach-iop32x/Kconfig"
+
+source "arch/arm/mach-iop33x/Kconfig"
 
 source "arch/arm/mach-ixp4xx/Kconfig"
 
@@ -848,7 +858,7 @@ source "drivers/block/Kconfig"
 
 source "drivers/acorn/block/Kconfig"
 
-if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
+if PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
 	|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
 	|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
 	|| 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
  machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
  textofs-$(CONFIG_ARCH_CLPS711X)   := 0x00028000
  machine-$(CONFIG_ARCH_CLPS711X)   := clps711x
- machine-$(CONFIG_ARCH_IOP3XX)	   := iop3xx
+ machine-$(CONFIG_ARCH_IOP32X)	   := iop32x
+ machine-$(CONFIG_ARCH_IOP33X)	   := iop33x
  machine-$(CONFIG_ARCH_IXP4XX)	   := ixp4xx
  machine-$(CONFIG_ARCH_IXP2000)    := ixp2000
  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
 # CONFIG_ARCH_EBSA110 is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
-CONFIG_ARCH_IOP3XX=y
+CONFIG_ARCH_IOP32X=y
+# CONFIG_ARCH_IOP33X is not set
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_L7200 is not set
@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ31244=y
 # CONFIG_ARCH_IQ80331 is not set
 # CONFIG_MACH_IQ80332 is not set
 CONFIG_ARCH_EP80219=y
-CONFIG_ARCH_IOP32X=y
-# CONFIG_ARCH_IOP33X is not set
 
 #
 # 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
 # CONFIG_ARCH_EBSA110 is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
-CONFIG_ARCH_IOP3XX=y
+CONFIG_ARCH_IOP32X=y
+# CONFIG_ARCH_IOP33X is not set
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_L7200 is not set
@@ -94,8 +95,6 @@ CONFIG_ARCH_IQ31244=y
 # CONFIG_ARCH_IQ80331 is not set
 # CONFIG_MACH_IQ80332 is not set
 # CONFIG_ARCH_EP80219 is not set
-CONFIG_ARCH_IOP32X=y
-# CONFIG_ARCH_IOP33X is not set
 
 #
 # 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
 # CONFIG_ARCH_EBSA110 is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
-CONFIG_ARCH_IOP3XX=y
+CONFIG_ARCH_IOP32X=y
+# CONFIG_ARCH_IOP33X is not set
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_L7200 is not set
@@ -93,8 +94,6 @@ CONFIG_ARCH_IQ80321=y
 # CONFIG_ARCH_IQ80331 is not set
 # CONFIG_MACH_IQ80332 is not set
 # CONFIG_ARCH_EP80219 is not set
-CONFIG_ARCH_IOP32X=y
-# CONFIG_ARCH_IOP33X is not set
 
 #
 # 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
 # CONFIG_ARCH_EBSA110 is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
-CONFIG_ARCH_IOP3XX=y
+# CONFIG_ARCH_IOP32X is not set
+CONFIG_ARCH_IOP33X=y
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_L7200 is not set
@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
 CONFIG_ARCH_IQ80331=y
 # CONFIG_MACH_IQ80332 is not set
 # CONFIG_ARCH_EP80219 is not set
-CONFIG_ARCH_IOP33X=y
 
 #
 # 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
 # CONFIG_ARCH_EBSA110 is not set
 # CONFIG_ARCH_FOOTBRIDGE is not set
 # CONFIG_ARCH_INTEGRATOR is not set
-CONFIG_ARCH_IOP3XX=y
+# CONFIG_ARCH_IOP32X is not set
+CONFIG_ARCH_IOP33X=y
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_L7200 is not set
@@ -93,7 +94,6 @@ CONFIG_ARCH_IOP3XX=y
 # CONFIG_ARCH_IQ80331 is not set
 CONFIG_MACH_IQ80332=y
 # CONFIG_ARCH_EP80219 is not set
-CONFIG_ARCH_IOP33X=y
 
 #
 # 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 @@
+if ARCH_IOP32X
+
+menu "IOP32x Implementation Options"
+
+comment "IOP32x Platform Types"
+
+config ARCH_IQ80321
+	bool "Enable support for IQ80321"
+	help
+	  Say Y here if you want to run your kernel on the Intel IQ80321
+	  evaluation kit for the IOP321 chipset.
+
+config ARCH_IQ31244
+	bool "Enable support for IQ31244"
+	help
+	  Say Y here if you want to run your kernel on the Intel IQ31244
+	  evaluation kit for the IOP321 chipset.
+
+config ARCH_EP80219
+	bool "Enable support for EP80219"
+	select ARCH_IQ31244
+	help
+	  Say Y here if you want to run your kernel on the Intel EP80219
+	  evaluation kit for the Intel 80219 chipset (a IOP321 variant).
+
+endmenu
+
+endif
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 @@
+#
+# Makefile for the linux kernel.
+#
+
+obj-y			:= common.o setup.o irq.o pci.o time.o
+obj-m			:=
+obj-n			:=
+obj-			:=
+
+obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o
+obj-$(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 @@
+   zreladdr-y	:= 0xa0008000
+params_phys-y	:= 0xa0000100
+initrd_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 @@
 /*
- * arch/arm/mach-iop3xx/common.c
+ * arch/arm/mach-iop32x/common.c
  *
  * Common routines shared across all IOP3xx implementations
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/mm.c
+ * linux/arch/arm/mach-iop32x/iq31244-mm.c
  *
  * Low level memory initialization for iq80321 platform
  *
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 @@
 /*
- * arch/arm/mach-iop3xx/iq80321-pci.c
+ * arch/arm/mach-iop32x/iq31244-pci.c
  *
- * PCI support for the Intel IQ80321 reference board
+ * PCI support for the Intel IQ31244 reference board
  *
  * Author: Rory Bolt <rorybolt@pacbell.net>
  * 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 @@
 /*
- * linux/arch/arm/mach-iop3xx/mm.c
+ * linux/arch/arm/mach-iop32x/iq80321-mm.c
  *
  * Low level memory initialization for iq80321 platform
  *
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 @@
 /*
- * arch/arm/mach-iop3xx/iq80321-pci.c
+ * arch/arm/mach-iop32x/iq80321-pci.c
  *
  * PCI support for the Intel IQ80321 reference board
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/iop321-irq.c
+ * linux/arch/arm/mach-iop32x/irq.c
  *
- * Generic IOP321 IRQ handling functionality
+ * Generic IOP32X IRQ handling functionality
  *
  * Author: Rory Bolt <rorybolt@pacbell.net>
  * Copyright (C) 2002 Rory Bolt
@@ -86,7 +86,7 @@ void __init iop321_init_irq(void)
 	   machine_is_iq31244()) 	// all interrupts are inputs to chip
 		*IOP321_PCIIRSR = 0x0f;
 
-	for(i = IOP321_IRQ_OFS; i < NR_IOP321_IRQS; i++)
+	for(i = IOP321_IRQ_OFS; i < NR_IRQS; i++)
 	{
 		set_irq_chip(i, &ext_chip);
 		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 @@
 /*
- * arch/arm/mach-iop3xx/iop321-pci.c
+ * arch/arm/mach-iop32x/pci.c
  *
  * PCI support for the Intel IOP321 chipset
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/iop321-setup.c
+ * linux/arch/arm/mach-iop32x/setup.c
  *
  * Author: Nicolas Pitre <nico@cam.org>
  * 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 @@
 /*
- * arch/arm/mach-iop3xx/iop321-time.c
+ * arch/arm/mach-iop32x/time.c
  *
  * Timer code for IOP321 based systems
  *
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 @@
+if ARCH_IOP33X
+
+menu "IOP33x Implementation Options"
+
+comment "IOP33x Platform Types"
+
+config ARCH_IQ80331
+	bool "Enable support for IQ80331"
+	help
+	  Say Y here if you want to run your kernel on the Intel IQ80331
+	  evaluation kit for the IOP331 chipset.
+
+config MACH_IQ80332
+	bool "Enable support for IQ80332"
+	help
+	  Say Y here if you want to run your kernel on the Intel IQ80332
+	  evaluation kit for the IOP332 chipset.
+
+config IOP331_STEPD
+	bool "Chip stepping D of the IOP80331 processor or IOP80333"
+	help
+	  Say Y here if you have StepD of the IOP80331 or IOP8033
+	  based platforms.
+
+endmenu
+
+endif
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 @@
+#
+# Makefile for the linux kernel.
+#
+
+obj-y			:= common.o setup.o irq.o pci.o time.o
+obj-m			:=
+obj-n			:=
+obj-			:=
+
+obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
+obj-$(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 @@
+   zreladdr-y	:= 0x00008000
+params_phys-y	:= 0x00000100
+initrd_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 @@
+/*
+ * arch/arm/mach-iop33x/common.c
+ *
+ * Common routines shared across all IOP3xx implementations
+ *
+ * Author: Deepak Saxena <dsaxena@mvista.com>
+ *
+ * Copyright 2003 (c) MontaVista, Software, Inc.
+ *
+ * This file is licensed under  the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/delay.h>
+#include <asm/hardware.h>
+
+/*
+ * Shared variables
+ */
+unsigned long iop3xx_pcibios_min_io = 0;
+unsigned 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 @@
 /*
- * linux/arch/arm/mach-iop3xx/mm.c
+ * linux/arch/arm/mach-iop33x/iq80331-mm.c
  *
  * Low level memory initialization for iq80331 platform
  *
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 @@
 /*
- * arch/arm/mach-iop3xx/iq80331-pci.c
+ * arch/arm/mach-iop33x/iq80331-pci.c
  *
  * PCI support for the Intel IQ80331 reference board
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/mm.c
+ * linux/arch/arm/mach-iop33x/iq80332-mm.c
  *
  * Low level memory initialization for iq80332 platform
  *
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 @@
 /*
- * arch/arm/mach-iop3xx/iq80332-pci.c
+ * arch/arm/mach-iop33x/iq80332-pci.c
  *
  * PCI support for the Intel IQ80332 reference board
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/iop331-irq.c
+ * linux/arch/arm/mach-iop33x/irq.c
  *
  * Generic IOP331 IRQ handling functionality
  *
@@ -119,7 +119,7 @@ void __init iop331_init_irq(void)
 	if(machine_is_iq80331()) 	// all interrupts are inputs to chip
 		*IOP331_PCIIRSR = 0x0f;
 
-	for(i = IOP331_IRQ_OFS; i < NR_IOP331_IRQS; i++)
+	for(i = IOP331_IRQ_OFS; i < NR_IRQS; i++)
 	{
 		set_irq_chip(i, (i < 32) ? &iop331_irqchip1 : &iop331_irqchip2);
 		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 @@
 /*
- * arch/arm/mach-iop3xx/iop331-pci.c
+ * arch/arm/mach-iop33x/pci.c
  *
  * PCI support for the Intel IOP331 chipset
  *
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 @@
 /*
- * linux/arch/arm/mach-iop3xx/iop331-setup.c
+ * linux/arch/arm/mach-iop33x/setup.c
  *
  * Author: Dave Jiang (dave.jiang@intel.com)
  * 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 @@
 /*
- * arch/arm/mach-iop3xx/iop331-time.c
+ * arch/arm/mach-iop33x/time.c
  *
  * Timer code for IOP331 based systems
  *
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 @@
-if ARCH_IOP3XX
-
-menu "IOP3xx Implementation Options"
-
-comment "IOP3xx Platform Types"
-
-config ARCH_IQ80321
-	bool "Enable support for IQ80321"
-	select ARCH_IOP32X
-	help
-	  Say Y here if you want to run your kernel on the Intel IQ80321
-	  evaluation kit for the IOP321 chipset.
-
-config ARCH_IQ31244
-	bool "Enable support for IQ31244"
-	select ARCH_IOP32X
-	help
-	  Say Y here if you want to run your kernel on the Intel IQ31244
-	  evaluation kit for the IOP321 chipset.
-
-config ARCH_IQ80331
-	bool "Enable support for IQ80331"
-	select ARCH_IOP33X
-	help
-	  Say Y here if you want to run your kernel on the Intel IQ80331
-	  evaluation kit for the IOP331 chipset.
-
-config MACH_IQ80332
-	bool "Enable support for IQ80332"
-	select ARCH_IOP33X
-	help
-	  Say Y here if you want to run your kernel on the Intel IQ80332
-	  evaluation kit for the IOP332 chipset.
-
-config ARCH_EP80219
-	bool "Enable support for EP80219"
-	select ARCH_IOP32X
-	select ARCH_IQ31244
-	help
-	  Say Y here if you want to run your kernel on the Intel EP80219
-	  evaluation kit for the Intel 80219 chipset (a IOP321 variant).
-
-# Which IOP variant are we running?
-config ARCH_IOP32X
-	bool
-	help
-	  The IQ80321 uses the IOP321 variant.
-	  The IQ31244 and EP80219 uses the IOP321 variant.
-
-config ARCH_IOP33X
-	bool
-	default ARCH_IQ80331
-	help
-	  The IQ80331, IQ80332, and IQ80333 uses the IOP331 variant.
-
-comment "IOP3xx Chipset Features"
-
-config IOP331_STEPD
-	bool "Chip stepping D of the IOP80331 processor or IOP80333"
-	depends on ARCH_IOP33X
-	help
-	  Say Y here if you have StepD of the IOP80331 or IOP8033
-	  based platforms.
-
-endmenu
-endif
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 @@
-#
-# Makefile for the linux kernel.
-#
-
-# Object file lists.
-
-obj-y			:= common.o
-
-obj-m			:=
-obj-n			:=
-obj-			:=
-
-obj-$(CONFIG_ARCH_IOP32X)  += iop321-setup.o iop321-irq.o iop321-pci.o iop321-time.o
-
-obj-$(CONFIG_ARCH_IOP33X)  += iop331-setup.o iop331-irq.o iop331-pci.o iop331-time.o
-
-obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o
-
-obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o
-
-obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o
-
-obj-$(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 @@
-   zreladdr-y	:= 0xa0008000
-params_phys-y	:= 0xa0000100
-initrd_phys-y	:= 0xa0800000
-ifeq ($(CONFIG_ARCH_IOP33X),y)
-   zreladdr-y	:= 0x00008000
-params_phys-y	:= 0x00000100
-initrd_phys-y	:= 0x00800000
-endif
-
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
 # XScale
 config CPU_XSCALE
 	bool
-	depends on ARCH_IOP3XX || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000
+	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000
 	default y
 	select CPU_32v5
 	select CPU_ABRT_EV5T