diff options
-rw-r--r-- | arch/arm/Kconfig | 20 | ||||
-rw-r--r-- | arch/arm/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/configs/ep80219_defconfig | 5 | ||||
-rw-r--r-- | arch/arm/configs/iq31244_defconfig | 5 | ||||
-rw-r--r-- | arch/arm/configs/iq80321_defconfig | 5 | ||||
-rw-r--r-- | arch/arm/configs/iq80331_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/configs/iq80332_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/Kconfig | 28 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/Makefile | 11 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/Makefile.boot | 3 | ||||
-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/Kconfig | 27 | ||||
-rw-r--r-- | arch/arm/mach-iop33x/Makefile | 11 | ||||
-rw-r--r-- | arch/arm/mach-iop33x/Makefile.boot | 3 | ||||
-rw-r--r-- | arch/arm/mach-iop33x/common.c | 22 | ||||
-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/Kconfig | 66 | ||||
-rw-r--r-- | arch/arm/mach-iop3xx/Makefile | 23 | ||||
-rw-r--r-- | arch/arm/mach-iop3xx/Makefile.boot | 9 | ||||
-rw-r--r-- | arch/arm/mm/Kconfig | 2 | ||||
-rw-r--r-- | drivers/i2c/busses/Kconfig | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/debug-macro.S | 20 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/dma.h (renamed from include/asm-arm/arch-iop3xx/dma.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/entry-macro.S | 28 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/hardware.h (renamed from include/asm-arm/arch-iop3xx/hardware.h) | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/io.h (renamed from include/asm-arm/arch-iop3xx/io.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/iop321.h (renamed from include/asm-arm/arch-iop3xx/iop321.h) | 8 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/iq31244.h (renamed from include/asm-arm/arch-iop3xx/iq31244.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/iq80321.h (renamed from include/asm-arm/arch-iop3xx/iq80321.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/irqs.h (renamed from include/asm-arm/arch-iop3xx/iop321-irqs.h) | 12 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/memory.h (renamed from include/asm-arm/arch-iop3xx/memory.h) | 13 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/system.h (renamed from include/asm-arm/arch-iop3xx/system.h) | 8 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/timex.h | 8 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/uncompress.h | 38 | ||||
-rw-r--r-- | include/asm-arm/arch-iop32x/vmalloc.h (renamed from include/asm-arm/arch-iop3xx/vmalloc.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/debug-macro.S | 24 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/dma.h | 9 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/entry-macro.S (renamed from include/asm-arm/arch-iop3xx/entry-macro.S) | 29 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/hardware.h | 54 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/io.h | 21 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iop331.h (renamed from include/asm-arm/arch-iop3xx/iop331.h) | 9 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iq80331.h (renamed from include/asm-arm/arch-iop3xx/iq80331.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/iq80332.h (renamed from include/asm-arm/arch-iop3xx/iq80332.h) | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/irqs.h (renamed from include/asm-arm/arch-iop3xx/iop331-irqs.h) | 12 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/memory.h | 26 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/system.h | 29 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/timex.h | 8 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/uncompress.h | 36 | ||||
-rw-r--r-- | include/asm-arm/arch-iop33x/vmalloc.h | 16 | ||||
-rw-r--r-- | include/asm-arm/arch-iop3xx/debug-macro.S | 35 | ||||
-rw-r--r-- | include/asm-arm/arch-iop3xx/irqs.h | 21 | ||||
-rw-r--r-- | include/asm-arm/arch-iop3xx/timex.h | 20 | ||||
-rw-r--r-- | include/asm-arm/arch-iop3xx/uncompress.h | 48 |
68 files changed, 499 insertions, 347 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 | ||
205 | config ARCH_IOP3XX | 205 | config 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 | |||
213 | config 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 | ||
212 | config ARCH_IXP4XX | 220 | config ARCH_IXP4XX |
213 | bool "IXP4xx-based" | 221 | bool "IXP4xx-based" |
@@ -312,7 +320,9 @@ source "arch/arm/mach-footbridge/Kconfig" | |||
312 | 320 | ||
313 | source "arch/arm/mach-integrator/Kconfig" | 321 | source "arch/arm/mach-integrator/Kconfig" |
314 | 322 | ||
315 | source "arch/arm/mach-iop3xx/Kconfig" | 323 | source "arch/arm/mach-iop32x/Kconfig" |
324 | |||
325 | source "arch/arm/mach-iop33x/Kconfig" | ||
316 | 326 | ||
317 | source "arch/arm/mach-ixp4xx/Kconfig" | 327 | source "arch/arm/mach-ixp4xx/Kconfig" |
318 | 328 | ||
@@ -848,7 +858,7 @@ source "drivers/block/Kconfig" | |||
848 | 858 | ||
849 | source "drivers/acorn/block/Kconfig" | 859 | source "drivers/acorn/block/Kconfig" |
850 | 860 | ||
851 | if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \ | 861 | if 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 |
69 | CONFIG_ARCH_IOP3XX=y | 69 | CONFIG_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 |
95 | CONFIG_ARCH_EP80219=y | 96 | CONFIG_ARCH_EP80219=y |
96 | CONFIG_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 |
70 | CONFIG_ARCH_IOP3XX=y | 70 | CONFIG_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 |
97 | CONFIG_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 |
69 | CONFIG_ARCH_IOP3XX=y | 69 | CONFIG_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 |
96 | CONFIG_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 |
69 | CONFIG_ARCH_IOP3XX=y | 69 | # CONFIG_ARCH_IOP32X is not set |
70 | CONFIG_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=y | 94 | CONFIG_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 |
96 | CONFIG_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 |
69 | CONFIG_ARCH_IOP3XX=y | 69 | # CONFIG_ARCH_IOP32X is not set |
70 | CONFIG_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 |
94 | CONFIG_MACH_IQ80332=y | 95 | CONFIG_MACH_IQ80332=y |
95 | # CONFIG_ARCH_EP80219 is not set | 96 | # CONFIG_ARCH_EP80219 is not set |
96 | CONFIG_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 @@ | |||
1 | if ARCH_IOP32X | ||
2 | |||
3 | menu "IOP32x Implementation Options" | ||
4 | |||
5 | comment "IOP32x Platform Types" | ||
6 | |||
7 | config 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 | |||
13 | config 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 | |||
19 | config 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 | |||
26 | endmenu | ||
27 | |||
28 | 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 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | obj-y := common.o setup.o irq.o pci.o time.o | ||
6 | obj-m := | ||
7 | obj-n := | ||
8 | obj- := | ||
9 | |||
10 | obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o | ||
11 | 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 @@ | |||
1 | zreladdr-y := 0xa0008000 | ||
2 | params_phys-y := 0xa0000100 | ||
3 | 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 @@ | |||
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 @@ | |||
1 | if ARCH_IOP33X | ||
2 | |||
3 | menu "IOP33x Implementation Options" | ||
4 | |||
5 | comment "IOP33x Platform Types" | ||
6 | |||
7 | config 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 | |||
13 | config 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 | |||
19 | config 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 | |||
25 | endmenu | ||
26 | |||
27 | 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 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | obj-y := common.o setup.o irq.o pci.o time.o | ||
6 | obj-m := | ||
7 | obj-n := | ||
8 | obj- := | ||
9 | |||
10 | obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o | ||
11 | 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 @@ | |||
1 | zreladdr-y := 0x00008000 | ||
2 | params_phys-y := 0x00000100 | ||
3 | 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 @@ | |||
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 | */ | ||
21 | unsigned long iop3xx_pcibios_min_io = 0; | ||
22 | 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 @@ | |||
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 @@ | |||
1 | if ARCH_IOP3XX | ||
2 | |||
3 | menu "IOP3xx Implementation Options" | ||
4 | |||
5 | comment "IOP3xx Platform Types" | ||
6 | |||
7 | config 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 | |||
14 | config 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 | |||
21 | config 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 | |||
28 | config 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 | |||
35 | config 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? | ||
44 | config ARCH_IOP32X | ||
45 | bool | ||
46 | help | ||
47 | The IQ80321 uses the IOP321 variant. | ||
48 | The IQ31244 and EP80219 uses the IOP321 variant. | ||
49 | |||
50 | config ARCH_IOP33X | ||
51 | bool | ||
52 | default ARCH_IQ80331 | ||
53 | help | ||
54 | The IQ80331, IQ80332, and IQ80333 uses the IOP331 variant. | ||
55 | |||
56 | comment "IOP3xx Chipset Features" | ||
57 | |||
58 | config 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 | |||
65 | endmenu | ||
66 | 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 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | # Object file lists. | ||
6 | |||
7 | obj-y := common.o | ||
8 | |||
9 | obj-m := | ||
10 | obj-n := | ||
11 | obj- := | ||
12 | |||
13 | obj-$(CONFIG_ARCH_IOP32X) += iop321-setup.o iop321-irq.o iop321-pci.o iop321-time.o | ||
14 | |||
15 | obj-$(CONFIG_ARCH_IOP33X) += iop331-setup.o iop331-irq.o iop331-pci.o iop331-time.o | ||
16 | |||
17 | obj-$(CONFIG_ARCH_IQ80321) += iq80321-mm.o iq80321-pci.o | ||
18 | |||
19 | obj-$(CONFIG_ARCH_IQ31244) += iq31244-mm.o iq31244-pci.o | ||
20 | |||
21 | obj-$(CONFIG_ARCH_IQ80331) += iq80331-mm.o iq80331-pci.o | ||
22 | |||
23 | 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 @@ | |||
1 | zreladdr-y := 0xa0008000 | ||
2 | params_phys-y := 0xa0000100 | ||
3 | initrd_phys-y := 0xa0800000 | ||
4 | ifeq ($(CONFIG_ARCH_IOP33X),y) | ||
5 | zreladdr-y := 0x00008000 | ||
6 | params_phys-y := 0x00000100 | ||
7 | initrd_phys-y := 0x00800000 | ||
8 | endif | ||
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 |
233 | config CPU_XSCALE | 233 | config 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 |
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index 884320e70403..a843d6b10a0c 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig | |||
@@ -196,7 +196,7 @@ config I2C_IBM_IIC | |||
196 | 196 | ||
197 | config I2C_IOP3XX | 197 | config I2C_IOP3XX |
198 | tristate "Intel IOP3xx and IXP4xx on-chip I2C interface" | 198 | tristate "Intel IOP3xx and IXP4xx on-chip I2C interface" |
199 | depends on (ARCH_IOP3XX || ARCH_IXP4XX) && I2C | 199 | depends on (ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX) && I2C |
200 | help | 200 | help |
201 | Say Y here if you want to use the IIC bus controller on | 201 | Say Y here if you want to use the IIC bus controller on |
202 | the Intel IOP3xx I/O Processors or IXP4xx Network Processors. | 202 | the Intel IOP3xx I/O Processors or IXP4xx Network Processors. |
diff --git a/include/asm-arm/arch-iop32x/debug-macro.S b/include/asm-arm/arch-iop32x/debug-macro.S new file mode 100644 index 000000000000..75ab2e0d8c67 --- /dev/null +++ b/include/asm-arm/arch-iop32x/debug-macro.S | |||
@@ -0,0 +1,20 @@ | |||
1 | /* linux/include/asm-arm/arch-iop32x/debug-macro.S | ||
2 | * | ||
3 | * Debugging macro include header | ||
4 | * | ||
5 | * Copyright (C) 1994-1999 Russell King | ||
6 | * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | .macro addruart,rx | ||
15 | mov \rx, #0xfe000000 @ physical | ||
16 | orr \rx, \rx, #0x00800000 @ location of the UART | ||
17 | .endm | ||
18 | |||
19 | #define UART_SHIFT 0 | ||
20 | #include <asm/hardware/debug-8250.S> | ||
diff --git a/include/asm-arm/arch-iop3xx/dma.h b/include/asm-arm/arch-iop32x/dma.h index 1e808db8af2a..5be36676e58f 100644 --- a/include/asm-arm/arch-iop3xx/dma.h +++ b/include/asm-arm/arch-iop32x/dma.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/dma.h | 2 | * linux/include/asm-arm/arch-iop32x/dma.h |
3 | * | 3 | * |
4 | * Copyright (C) 2004 Intel Corp. | 4 | * Copyright (C) 2004 Intel Corp. |
5 | * | 5 | * |
diff --git a/include/asm-arm/arch-iop32x/entry-macro.S b/include/asm-arm/arch-iop32x/entry-macro.S new file mode 100644 index 000000000000..52d9435c6a34 --- /dev/null +++ b/include/asm-arm/arch-iop32x/entry-macro.S | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * include/asm-arm/arch-iop32x/entry-macro.S | ||
3 | * | ||
4 | * Low-level IRQ helper macros for IOP32x-based platforms | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | #include <asm/arch/irqs.h> | ||
11 | |||
12 | .macro disable_fiq | ||
13 | .endm | ||
14 | |||
15 | /* | ||
16 | * Note: only deal with normal interrupts, not FIQ | ||
17 | */ | ||
18 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
19 | mov \irqnr, #0 | ||
20 | mrc p6, 0, \irqstat, c8, c0, 0 @ Read IINTSRC | ||
21 | cmp \irqstat, #0 | ||
22 | beq 1001f | ||
23 | clz \irqnr, \irqstat | ||
24 | mov \base, #31 | ||
25 | subs \irqnr,\base,\irqnr | ||
26 | add \irqnr,\irqnr,#IRQ_IOP321_DMA0_EOT | ||
27 | 1001: | ||
28 | .endm | ||
diff --git a/include/asm-arm/arch-iop3xx/hardware.h b/include/asm-arm/arch-iop32x/hardware.h index 3b138171d086..8fb10134a107 100644 --- a/include/asm-arm/arch-iop3xx/hardware.h +++ b/include/asm-arm/arch-iop32x/hardware.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/hardware.h | 2 | * linux/include/asm-arm/arch-iop32x/hardware.h |
3 | */ | 3 | */ |
4 | #ifndef __ASM_ARCH_HARDWARE_H | 4 | #ifndef __ASM_ARCH_HARDWARE_H |
5 | #define __ASM_ARCH_HARDWARE_H | 5 | #define __ASM_ARCH_HARDWARE_H |
@@ -44,14 +44,11 @@ extern unsigned int processor_id; | |||
44 | * | 44 | * |
45 | */ | 45 | */ |
46 | #include "iop321.h" | 46 | #include "iop321.h" |
47 | #include "iop331.h" | ||
48 | 47 | ||
49 | /* | 48 | /* |
50 | * Board specific bits | 49 | * Board specific bits |
51 | */ | 50 | */ |
52 | #include "iq80321.h" | 51 | #include "iq80321.h" |
53 | #include "iq31244.h" | 52 | #include "iq31244.h" |
54 | #include "iq80331.h" | ||
55 | #include "iq80332.h" | ||
56 | 53 | ||
57 | #endif /* _ASM_ARCH_HARDWARE_H */ | 54 | #endif /* _ASM_ARCH_HARDWARE_H */ |
diff --git a/include/asm-arm/arch-iop3xx/io.h b/include/asm-arm/arch-iop32x/io.h index 36adbdf5055a..36d05ada12c4 100644 --- a/include/asm-arm/arch-iop3xx/io.h +++ b/include/asm-arm/arch-iop32x/io.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/io.h | 2 | * linux/include/asm-arm/arch-iop32x/io.h |
3 | * | 3 | * |
4 | * Copyright (C) 2001 MontaVista Software, Inc. | 4 | * Copyright (C) 2001 MontaVista Software, Inc. |
5 | * | 5 | * |
diff --git a/include/asm-arm/arch-iop3xx/iop321.h b/include/asm-arm/arch-iop32x/iop321.h index d198d72a50a4..7ba93faf8da4 100644 --- a/include/asm-arm/arch-iop3xx/iop321.h +++ b/include/asm-arm/arch-iop32x/iop321.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iop321.h | 2 | * linux/include/asm/arch-iop32x/iop321.h |
3 | * | 3 | * |
4 | * Intel IOP321 Chip definitions | 4 | * Intel IOP321 Chip definitions |
5 | * | 5 | * |
@@ -21,11 +21,7 @@ | |||
21 | * IOP3xx variants but behave slightly differently on each. | 21 | * IOP3xx variants but behave slightly differently on each. |
22 | */ | 22 | */ |
23 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
24 | #ifdef CONFIG_ARCH_IOP32X | 24 | #define iop_is_321() 1 |
25 | #define iop_is_321() (((processor_id & 0xfffff5e0) == 0x69052420)) | ||
26 | #else | ||
27 | #define iop_is_321() 0 | ||
28 | #endif | ||
29 | #endif | 25 | #endif |
30 | 26 | ||
31 | /* | 27 | /* |
diff --git a/include/asm-arm/arch-iop3xx/iq31244.h b/include/asm-arm/arch-iop32x/iq31244.h index 4177cfa8100f..f490063d2156 100644 --- a/include/asm-arm/arch-iop3xx/iq31244.h +++ b/include/asm-arm/arch-iop32x/iq31244.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iq31244.h | 2 | * linux/include/asm/arch-iop32x/iq31244.h |
3 | * | 3 | * |
4 | * Intel IQ31244 evaluation board registers | 4 | * Intel IQ31244 evaluation board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-iop3xx/iq80321.h b/include/asm-arm/arch-iop32x/iq80321.h index cb8725979ffa..7015a605ab64 100644 --- a/include/asm-arm/arch-iop3xx/iq80321.h +++ b/include/asm-arm/arch-iop32x/iq80321.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iq80321.h | 2 | * linux/include/asm/arch-iop32x/iq80321.h |
3 | * | 3 | * |
4 | * Intel IQ80321 evaluation board registers | 4 | * Intel IQ80321 evaluation board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-iop3xx/iop321-irqs.h b/include/asm-arm/arch-iop32x/irqs.h index 2fcc1654cb9d..4b0c82711f96 100644 --- a/include/asm-arm/arch-iop3xx/iop321-irqs.h +++ b/include/asm-arm/arch-iop32x/irqs.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/irqs.h | 2 | * linux/include/asm-arm/arch-iop32x/irqs.h |
3 | * | 3 | * |
4 | * Author: Rory Bolt <rorybolt@pacbell.net> | 4 | * Author: Rory Bolt <rorybolt@pacbell.net> |
5 | * Copyright: (C) 2002 Rory Bolt | 5 | * Copyright: (C) 2002 Rory Bolt |
@@ -9,8 +9,8 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | * | 10 | * |
11 | */ | 11 | */ |
12 | #ifndef _IOP321_IRQS_H_ | 12 | #ifndef _IRQS_H_ |
13 | #define _IOP321_IRQS_H_ | 13 | #define _IRQS_H_ |
14 | 14 | ||
15 | /* | 15 | /* |
16 | * IOP80321 chipset interrupts | 16 | * IOP80321 chipset interrupts |
@@ -54,9 +54,7 @@ | |||
54 | #define IRQ_IOP321_XINT3 IOP321_IRQ(30) | 54 | #define IRQ_IOP321_XINT3 IOP321_IRQ(30) |
55 | #define IRQ_IOP321_HPI IOP321_IRQ(31) | 55 | #define IRQ_IOP321_HPI IOP321_IRQ(31) |
56 | 56 | ||
57 | #define NR_IOP321_IRQS (IOP321_IRQ(31) + 1) | 57 | #define NR_IRQS (IOP321_IRQ(31) + 1) |
58 | |||
59 | #define NR_IRQS NR_IOP321_IRQS | ||
60 | 58 | ||
61 | 59 | ||
62 | /* | 60 | /* |
@@ -97,4 +95,4 @@ | |||
97 | #define IRQ_IQ31244_INTC IRQ_IOP321_XINT2 | 95 | #define IRQ_IQ31244_INTC IRQ_IOP321_XINT2 |
98 | #define IRQ_IQ31244_INTD IRQ_IOP321_XINT3 | 96 | #define IRQ_IQ31244_INTD IRQ_IOP321_XINT3 |
99 | 97 | ||
100 | #endif // _IOP321_IRQ_H_ | 98 | #endif // _IRQ_H_ |
diff --git a/include/asm-arm/arch-iop3xx/memory.h b/include/asm-arm/arch-iop32x/memory.h index 25666184e8fc..b4073f15b405 100644 --- a/include/asm-arm/arch-iop3xx/memory.h +++ b/include/asm-arm/arch-iop32x/memory.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/memory.h | 2 | * linux/include/asm-arm/arch-iop32x/memory.h |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #ifndef __ASM_ARCH_MEMORY_H | 5 | #ifndef __ASM_ARCH_MEMORY_H |
@@ -10,11 +10,7 @@ | |||
10 | /* | 10 | /* |
11 | * Physical DRAM offset. | 11 | * Physical DRAM offset. |
12 | */ | 12 | */ |
13 | #ifndef CONFIG_ARCH_IOP33X | ||
14 | #define PHYS_OFFSET UL(0xa0000000) | 13 | #define PHYS_OFFSET UL(0xa0000000) |
15 | #else | ||
16 | #define PHYS_OFFSET UL(0x00000000) | ||
17 | #endif | ||
18 | 14 | ||
19 | /* | 15 | /* |
20 | * Virtual view <-> PCI DMA view memory address translations | 16 | * Virtual view <-> PCI DMA view memory address translations |
@@ -23,16 +19,9 @@ | |||
23 | * bus_to_virt: Used to convert an address for DMA operations | 19 | * bus_to_virt: Used to convert an address for DMA operations |
24 | * to an address that the kernel can use. | 20 | * to an address that the kernel can use. |
25 | */ | 21 | */ |
26 | #if defined(CONFIG_ARCH_IOP32X) | ||
27 | 22 | ||
28 | #define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP321_IATVR2)) | ((*IOP321_IABAR2) & 0xfffffff0)) | 23 | #define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP321_IATVR2)) | ((*IOP321_IABAR2) & 0xfffffff0)) |
29 | #define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP321_IALR2)) | ( *IOP321_IATVR2))) | 24 | #define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP321_IALR2)) | ( *IOP321_IATVR2))) |
30 | 25 | ||
31 | #elif defined(CONFIG_ARCH_IOP33X) | ||
32 | |||
33 | #define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP331_IATVR2)) | ((*IOP331_IABAR2) & 0xfffffff0)) | ||
34 | #define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP331_IALR2)) | ( *IOP331_IATVR2))) | ||
35 | |||
36 | #endif | ||
37 | 26 | ||
38 | #endif | 27 | #endif |
diff --git a/include/asm-arm/arch-iop3xx/system.h b/include/asm-arm/arch-iop32x/system.h index a16cbb77a7f6..d4c8d691e1b0 100644 --- a/include/asm-arm/arch-iop3xx/system.h +++ b/include/asm-arm/arch-iop32x/system.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/system.h | 2 | * linux/include/asm-arm/arch-iop32x/system.h |
3 | * | 3 | * |
4 | * Copyright (C) 2001 MontaVista Software, Inc. | 4 | * Copyright (C) 2001 MontaVista Software, Inc. |
5 | * | 5 | * |
@@ -16,13 +16,7 @@ static inline void arch_idle(void) | |||
16 | 16 | ||
17 | static inline void arch_reset(char mode) | 17 | static inline void arch_reset(char mode) |
18 | { | 18 | { |
19 | #ifdef CONFIG_ARCH_IOP32X | ||
20 | *IOP321_PCSR = 0x30; | 19 | *IOP321_PCSR = 0x30; |
21 | #endif | ||
22 | |||
23 | #ifdef CONFIG_ARCH_IOP33X | ||
24 | *IOP331_PCSR = 0x30; | ||
25 | #endif | ||
26 | 20 | ||
27 | if ( 1 && mode == 's') { | 21 | if ( 1 && mode == 's') { |
28 | /* Jump into ROM at address 0 */ | 22 | /* Jump into ROM at address 0 */ |
diff --git a/include/asm-arm/arch-iop32x/timex.h b/include/asm-arm/arch-iop32x/timex.h new file mode 100644 index 000000000000..08badde2e820 --- /dev/null +++ b/include/asm-arm/arch-iop32x/timex.h | |||
@@ -0,0 +1,8 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop32x/timex.h | ||
3 | * | ||
4 | * IOP3xx architecture timex specifications | ||
5 | */ | ||
6 | #include <asm/hardware.h> | ||
7 | |||
8 | #define CLOCK_TICK_RATE IOP321_TICK_RATE | ||
diff --git a/include/asm-arm/arch-iop32x/uncompress.h b/include/asm-arm/arch-iop32x/uncompress.h new file mode 100644 index 000000000000..4a85f20c796f --- /dev/null +++ b/include/asm-arm/arch-iop32x/uncompress.h | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop32x/uncompress.h | ||
3 | */ | ||
4 | #include <asm/types.h> | ||
5 | #include <asm/mach-types.h> | ||
6 | #include <linux/serial_reg.h> | ||
7 | #include <asm/hardware.h> | ||
8 | |||
9 | static volatile u8 *uart_base; | ||
10 | |||
11 | #define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) | ||
12 | |||
13 | static inline void putc(char c) | ||
14 | { | ||
15 | while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) | ||
16 | barrier(); | ||
17 | *uart_base = c; | ||
18 | } | ||
19 | |||
20 | static inline void flush(void) | ||
21 | { | ||
22 | } | ||
23 | |||
24 | static __inline__ void __arch_decomp_setup(unsigned long arch_id) | ||
25 | { | ||
26 | if (machine_is_iq80321()) | ||
27 | uart_base = (volatile u8 *)IQ80321_UART; | ||
28 | else if (machine_is_iq31244()) | ||
29 | uart_base = (volatile u8 *)IQ31244_UART; | ||
30 | else | ||
31 | uart_base = (volatile u8 *)0xfe800000; | ||
32 | } | ||
33 | |||
34 | /* | ||
35 | * nothing to do | ||
36 | */ | ||
37 | #define arch_decomp_setup() __arch_decomp_setup(arch_id) | ||
38 | #define arch_decomp_wdog() | ||
diff --git a/include/asm-arm/arch-iop3xx/vmalloc.h b/include/asm-arm/arch-iop32x/vmalloc.h index 0f2f6847f93c..8492e1708a63 100644 --- a/include/asm-arm/arch-iop3xx/vmalloc.h +++ b/include/asm-arm/arch-iop32x/vmalloc.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/vmalloc.h | 2 | * linux/include/asm-arm/arch-iop32x/vmalloc.h |
3 | */ | 3 | */ |
4 | 4 | ||
5 | /* | 5 | /* |
diff --git a/include/asm-arm/arch-iop33x/debug-macro.S b/include/asm-arm/arch-iop33x/debug-macro.S new file mode 100644 index 000000000000..b647edff475d --- /dev/null +++ b/include/asm-arm/arch-iop33x/debug-macro.S | |||
@@ -0,0 +1,24 @@ | |||
1 | /* linux/include/asm-arm/arch-iop33x/debug-macro.S | ||
2 | * | ||
3 | * Debugging macro include header | ||
4 | * | ||
5 | * Copyright (C) 1994-1999 Russell King | ||
6 | * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | .macro addruart,rx | ||
15 | mrc p15, 0, \rx, c1, c0 | ||
16 | tst \rx, #1 @ mmu enabled? | ||
17 | moveq \rx, #0xff000000 @ physical | ||
18 | movne \rx, #0xfe000000 @ virtual | ||
19 | orr \rx, \rx, #0x00ff0000 | ||
20 | orr \rx, \rx, #0x0000f700 | ||
21 | .endm | ||
22 | |||
23 | #define UART_SHIFT 2 | ||
24 | #include <asm/hardware/debug-8250.S> | ||
diff --git a/include/asm-arm/arch-iop33x/dma.h b/include/asm-arm/arch-iop33x/dma.h new file mode 100644 index 000000000000..d577ca59f4b0 --- /dev/null +++ b/include/asm-arm/arch-iop33x/dma.h | |||
@@ -0,0 +1,9 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/dma.h | ||
3 | * | ||
4 | * Copyright (C) 2004 Intel Corp. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
diff --git a/include/asm-arm/arch-iop3xx/entry-macro.S b/include/asm-arm/arch-iop33x/entry-macro.S index f3db54637ad3..980ec9b1ac83 100644 --- a/include/asm-arm/arch-iop3xx/entry-macro.S +++ b/include/asm-arm/arch-iop33x/entry-macro.S | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-arm/arch-iop3xx/entry-macro.S | 2 | * include/asm-arm/arch-iop33x/entry-macro.S |
3 | * | 3 | * |
4 | * Low-level IRQ helper macros for IOP3xx-based platforms | 4 | * Low-level IRQ helper macros for IOP33x-based platforms |
5 | * | 5 | * |
6 | * This file is licensed under the terms of the GNU General Public | 6 | * This file is licensed under the terms of the GNU General Public |
7 | * License version 2. This program is licensed "as is" without any | 7 | * License version 2. This program is licensed "as is" without any |
@@ -9,26 +9,6 @@ | |||
9 | */ | 9 | */ |
10 | #include <asm/arch/irqs.h> | 10 | #include <asm/arch/irqs.h> |
11 | 11 | ||
12 | #if defined(CONFIG_ARCH_IOP32X) | ||
13 | .macro disable_fiq | ||
14 | .endm | ||
15 | |||
16 | /* | ||
17 | * Note: only deal with normal interrupts, not FIQ | ||
18 | */ | ||
19 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
20 | mov \irqnr, #0 | ||
21 | mrc p6, 0, \irqstat, c8, c0, 0 @ Read IINTSRC | ||
22 | cmp \irqstat, #0 | ||
23 | beq 1001f | ||
24 | clz \irqnr, \irqstat | ||
25 | mov \base, #31 | ||
26 | subs \irqnr,\base,\irqnr | ||
27 | add \irqnr,\irqnr,#IRQ_IOP321_DMA0_EOT | ||
28 | 1001: | ||
29 | .endm | ||
30 | |||
31 | #elif defined(CONFIG_ARCH_IOP33X) | ||
32 | .macro disable_fiq | 12 | .macro disable_fiq |
33 | .endm | 13 | .endm |
34 | 14 | ||
@@ -47,11 +27,8 @@ | |||
47 | rsbs \irqnr,\irqnr,#31 @ recommend by RMK | 27 | rsbs \irqnr,\irqnr,#31 @ recommend by RMK |
48 | add \irqnr,\irqnr,#IRQ_IOP331_XINT8 | 28 | add \irqnr,\irqnr,#IRQ_IOP331_XINT8 |
49 | b 1001f | 29 | b 1001f |
50 | 1002: clz \irqnr, \irqstat | 30 | 1002: clz \irqnr, \irqstat |
51 | rsbs \irqnr,\irqnr,#31 @ recommend by RMK | 31 | rsbs \irqnr,\irqnr,#31 @ recommend by RMK |
52 | add \irqnr,\irqnr,#IRQ_IOP331_DMA0_EOT | 32 | add \irqnr,\irqnr,#IRQ_IOP331_DMA0_EOT |
53 | 1001: | 33 | 1001: |
54 | .endm | 34 | .endm |
55 | |||
56 | #endif | ||
57 | |||
diff --git a/include/asm-arm/arch-iop33x/hardware.h b/include/asm-arm/arch-iop33x/hardware.h new file mode 100644 index 000000000000..4a457084c5c6 --- /dev/null +++ b/include/asm-arm/arch-iop33x/hardware.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/hardware.h | ||
3 | */ | ||
4 | #ifndef __ASM_ARCH_HARDWARE_H | ||
5 | #define __ASM_ARCH_HARDWARE_H | ||
6 | |||
7 | #include <asm/types.h> | ||
8 | |||
9 | /* | ||
10 | * Note about PCI IO space mappings | ||
11 | * | ||
12 | * To make IO space accesses efficient, we store virtual addresses in | ||
13 | * the IO resources. | ||
14 | * | ||
15 | * The PCI IO space is located at virtual 0xfe000000 from physical | ||
16 | * 0x90000000. The PCI BARs must be programmed with physical addresses, | ||
17 | * but when we read them, we convert them to virtual addresses. See | ||
18 | * arch/arm/mach-iop33x/pci.c | ||
19 | */ | ||
20 | |||
21 | #define pcibios_assign_all_busses() 1 | ||
22 | |||
23 | |||
24 | /* | ||
25 | * The min PCI I/O and MEM space are dependent on what specific | ||
26 | * chipset/platform we are running on, so instead of hardcoding with | ||
27 | * #ifdefs, we just fill these in the platform level PCI init code. | ||
28 | */ | ||
29 | #ifndef __ASSEMBLY__ | ||
30 | extern unsigned long iop3xx_pcibios_min_io; | ||
31 | extern unsigned long iop3xx_pcibios_min_mem; | ||
32 | |||
33 | extern unsigned int processor_id; | ||
34 | #endif | ||
35 | |||
36 | /* | ||
37 | * We just set these to zero since they are really bogus anyways | ||
38 | */ | ||
39 | #define PCIBIOS_MIN_IO (iop3xx_pcibios_min_io) | ||
40 | #define PCIBIOS_MIN_MEM (iop3xx_pcibios_min_mem) | ||
41 | |||
42 | /* | ||
43 | * Generic chipset bits | ||
44 | * | ||
45 | */ | ||
46 | #include "iop331.h" | ||
47 | |||
48 | /* | ||
49 | * Board specific bits | ||
50 | */ | ||
51 | #include "iq80331.h" | ||
52 | #include "iq80332.h" | ||
53 | |||
54 | #endif /* _ASM_ARCH_HARDWARE_H */ | ||
diff --git a/include/asm-arm/arch-iop33x/io.h b/include/asm-arm/arch-iop33x/io.h new file mode 100644 index 000000000000..a9949d5d4953 --- /dev/null +++ b/include/asm-arm/arch-iop33x/io.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/io.h | ||
3 | * | ||
4 | * Copyright (C) 2001 MontaVista Software, Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARM_ARCH_IO_H | ||
12 | #define __ASM_ARM_ARCH_IO_H | ||
13 | |||
14 | #include <asm/hardware.h> | ||
15 | |||
16 | #define IO_SPACE_LIMIT 0xffffffff | ||
17 | |||
18 | #define __io(p) ((void __iomem *)(p)) | ||
19 | #define __mem_pci(a) (a) | ||
20 | |||
21 | #endif | ||
diff --git a/include/asm-arm/arch-iop3xx/iop331.h b/include/asm-arm/arch-iop33x/iop331.h index 4d7bcc62cb3e..780b707edb1e 100644 --- a/include/asm-arm/arch-iop3xx/iop331.h +++ b/include/asm-arm/arch-iop33x/iop331.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iop331.h | 2 | * linux/include/asm/arch-iop33x/iop331.h |
3 | * | 3 | * |
4 | * Intel IOP331 Chip definitions | 4 | * Intel IOP331 Chip definitions |
5 | * | 5 | * |
@@ -20,12 +20,7 @@ | |||
20 | * IOP3xx variants but behave slightly differently on each. | 20 | * IOP3xx variants but behave slightly differently on each. |
21 | */ | 21 | */ |
22 | #ifndef __ASSEMBLY__ | 22 | #ifndef __ASSEMBLY__ |
23 | #ifdef CONFIG_ARCH_IOP33X | 23 | #define iop_is_331() 1 |
24 | /*#define iop_is_331() ((processor_id & 0xffffffb0) == 0x69054090) */ | ||
25 | #define iop_is_331() ((processor_id & 0xffffff30) == 0x69054010) | ||
26 | #else | ||
27 | #define iop_is_331() 0 | ||
28 | #endif | ||
29 | #endif | 24 | #endif |
30 | 25 | ||
31 | /* | 26 | /* |
diff --git a/include/asm-arm/arch-iop3xx/iq80331.h b/include/asm-arm/arch-iop33x/iq80331.h index 0668e78d483e..bda7ab6d55cf 100644 --- a/include/asm-arm/arch-iop3xx/iq80331.h +++ b/include/asm-arm/arch-iop33x/iq80331.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iq80331.h | 2 | * linux/include/asm/arch-iop33x/iq80331.h |
3 | * | 3 | * |
4 | * Intel IQ80331 evaluation board registers | 4 | * Intel IQ80331 evaluation board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-iop3xx/iq80332.h b/include/asm-arm/arch-iop33x/iq80332.h index e5fff1775d1a..f728e04378ab 100644 --- a/include/asm-arm/arch-iop3xx/iq80332.h +++ b/include/asm-arm/arch-iop33x/iq80332.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/arch-iop3xx/iq80332.h | 2 | * linux/include/asm/arch-iop33x/iq80332.h |
3 | * | 3 | * |
4 | * Intel IQ80332 evaluation board registers | 4 | * Intel IQ80332 evaluation board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-iop3xx/iop331-irqs.h b/include/asm-arm/arch-iop33x/irqs.h index 7135ad7e335e..45856a12815a 100644 --- a/include/asm-arm/arch-iop3xx/iop331-irqs.h +++ b/include/asm-arm/arch-iop33x/irqs.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-iop3xx/irqs.h | 2 | * linux/include/asm-arm/arch-iop33x/irqs.h |
3 | * | 3 | * |
4 | * Author: Dave Jiang (dave.jiang@intel.com) | 4 | * Author: Dave Jiang (dave.jiang@intel.com) |
5 | * Copyright: (C) 2003 Intel Corp. | 5 | * Copyright: (C) 2003 Intel Corp. |
@@ -9,8 +9,8 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | * | 10 | * |
11 | */ | 11 | */ |
12 | #ifndef _IOP331_IRQS_H_ | 12 | #ifndef _IRQS_H_ |
13 | #define _IOP331_IRQS_H_ | 13 | #define _IRQS_H_ |
14 | 14 | ||
15 | /* | 15 | /* |
16 | * IOP80331 chipset interrupts | 16 | * IOP80331 chipset interrupts |
@@ -86,9 +86,7 @@ | |||
86 | #define IRQ_IOP331_MSG_ERR IOP331_IRQ(62) // 30 | 86 | #define IRQ_IOP331_MSG_ERR IOP331_IRQ(62) // 30 |
87 | #define IRQ_IOP331_HPI IOP331_IRQ(63) // 31 | 87 | #define IRQ_IOP331_HPI IOP331_IRQ(63) // 31 |
88 | 88 | ||
89 | #define NR_IOP331_IRQS (IOP331_IRQ(63) + 1) | 89 | #define NR_IRQS (IOP331_IRQ(63) + 1) |
90 | |||
91 | #define NR_IRQS NR_IOP331_IRQS | ||
92 | 90 | ||
93 | 91 | ||
94 | /* | 92 | /* |
@@ -129,4 +127,4 @@ | |||
129 | #define IRQ_IQ80332_INTC IRQ_IOP331_XINT2 | 127 | #define IRQ_IQ80332_INTC IRQ_IOP331_XINT2 |
130 | #define IRQ_IQ80332_INTD IRQ_IOP331_XINT3 | 128 | #define IRQ_IQ80332_INTD IRQ_IOP331_XINT3 |
131 | 129 | ||
132 | #endif // _IOP331_IRQ_H_ | 130 | #endif // _IRQ_H_ |
diff --git a/include/asm-arm/arch-iop33x/memory.h b/include/asm-arm/arch-iop33x/memory.h new file mode 100644 index 000000000000..5e47164934ce --- /dev/null +++ b/include/asm-arm/arch-iop33x/memory.h | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/memory.h | ||
3 | */ | ||
4 | |||
5 | #ifndef __ASM_ARCH_MEMORY_H | ||
6 | #define __ASM_ARCH_MEMORY_H | ||
7 | |||
8 | #include <asm/hardware.h> | ||
9 | |||
10 | /* | ||
11 | * Physical DRAM offset. | ||
12 | */ | ||
13 | #define PHYS_OFFSET UL(0x00000000) | ||
14 | |||
15 | /* | ||
16 | * Virtual view <-> PCI DMA view memory address translations | ||
17 | * virt_to_bus: Used to translate the virtual address to an | ||
18 | * address suitable to be passed to set_dma_addr | ||
19 | * bus_to_virt: Used to convert an address for DMA operations | ||
20 | * to an address that the kernel can use. | ||
21 | */ | ||
22 | #define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP331_IATVR2)) | ((*IOP331_IABAR2) & 0xfffffff0)) | ||
23 | #define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP331_IALR2)) | ( *IOP331_IATVR2))) | ||
24 | |||
25 | |||
26 | #endif | ||
diff --git a/include/asm-arm/arch-iop33x/system.h b/include/asm-arm/arch-iop33x/system.h new file mode 100644 index 000000000000..43cc787ea629 --- /dev/null +++ b/include/asm-arm/arch-iop33x/system.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/system.h | ||
3 | * | ||
4 | * Copyright (C) 2001 MontaVista Software, Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | static inline void arch_idle(void) | ||
12 | { | ||
13 | cpu_do_idle(); | ||
14 | } | ||
15 | |||
16 | |||
17 | static inline void arch_reset(char mode) | ||
18 | { | ||
19 | *IOP331_PCSR = 0x30; | ||
20 | |||
21 | if ( 1 && mode == 's') { | ||
22 | /* Jump into ROM at address 0 */ | ||
23 | cpu_reset(0); | ||
24 | } else { | ||
25 | /* No on-chip reset capability */ | ||
26 | cpu_reset(0); | ||
27 | } | ||
28 | } | ||
29 | |||
diff --git a/include/asm-arm/arch-iop33x/timex.h b/include/asm-arm/arch-iop33x/timex.h new file mode 100644 index 000000000000..cc8085fa2a1e --- /dev/null +++ b/include/asm-arm/arch-iop33x/timex.h | |||
@@ -0,0 +1,8 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/timex.h | ||
3 | * | ||
4 | * IOP3xx architecture timex specifications | ||
5 | */ | ||
6 | #include <asm/hardware.h> | ||
7 | |||
8 | #define CLOCK_TICK_RATE IOP331_TICK_RATE | ||
diff --git a/include/asm-arm/arch-iop33x/uncompress.h b/include/asm-arm/arch-iop33x/uncompress.h new file mode 100644 index 000000000000..62904ae3b038 --- /dev/null +++ b/include/asm-arm/arch-iop33x/uncompress.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/uncompress.h | ||
3 | */ | ||
4 | #include <asm/types.h> | ||
5 | #include <asm/mach-types.h> | ||
6 | #include <linux/serial_reg.h> | ||
7 | #include <asm/hardware.h> | ||
8 | |||
9 | static volatile u32 *uart_base; | ||
10 | |||
11 | #define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) | ||
12 | |||
13 | static inline void putc(char c) | ||
14 | { | ||
15 | while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) | ||
16 | barrier(); | ||
17 | *uart_base = c; | ||
18 | } | ||
19 | |||
20 | static inline void flush(void) | ||
21 | { | ||
22 | } | ||
23 | |||
24 | static __inline__ void __arch_decomp_setup(unsigned long arch_id) | ||
25 | { | ||
26 | if (machine_is_iq80331() || machine_is_iq80332()) | ||
27 | uart_base = (volatile u32 *)IOP331_UART0_PHYS; | ||
28 | else | ||
29 | uart_base = (volatile u32 *)0xfe800000; | ||
30 | } | ||
31 | |||
32 | /* | ||
33 | * nothing to do | ||
34 | */ | ||
35 | #define arch_decomp_setup() __arch_decomp_setup(arch_id) | ||
36 | #define arch_decomp_wdog() | ||
diff --git a/include/asm-arm/arch-iop33x/vmalloc.h b/include/asm-arm/arch-iop33x/vmalloc.h new file mode 100644 index 000000000000..b5092027449e --- /dev/null +++ b/include/asm-arm/arch-iop33x/vmalloc.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop33x/vmalloc.h | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * Just any arbitrary offset to the start of the vmalloc VM area: the | ||
7 | * current 8MB value just means that there will be a 8MB "hole" after the | ||
8 | * physical memory until the kernel virtual memory starts. That means that | ||
9 | * any out-of-bounds memory accesses will hopefully be caught. | ||
10 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced | ||
11 | * area for the same reason. ;) | ||
12 | */ | ||
13 | //#define VMALLOC_END (0xe8000000) | ||
14 | /* increase usable physical RAM to ~992M per RMK */ | ||
15 | #define VMALLOC_END (0xfe000000) | ||
16 | |||
diff --git a/include/asm-arm/arch-iop3xx/debug-macro.S b/include/asm-arm/arch-iop3xx/debug-macro.S deleted file mode 100644 index dcc6856d14ff..000000000000 --- a/include/asm-arm/arch-iop3xx/debug-macro.S +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* linux/include/asm-arm/arch-iop3xx/debug-macro.S | ||
2 | * | ||
3 | * Debugging macro include header | ||
4 | * | ||
5 | * Copyright (C) 1994-1999 Russell King | ||
6 | * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | .macro addruart,rx | ||
15 | mov \rx, #0xfe000000 @ physical | ||
16 | #if defined(CONFIG_ARCH_IQ80321) || defined(CONFIG_ARCH_IQ31244) | ||
17 | orr \rx, \rx, #0x00800000 @ location of the UART | ||
18 | #elif defined(CONFIG_ARCH_IOP33X) | ||
19 | mrc p15, 0, \rx, c1, c0 | ||
20 | tst \rx, #1 @ MMU enabled? | ||
21 | moveq \rx, #0x000fe000 @ Physical Base | ||
22 | movne \rx, #0 | ||
23 | orr \rx, \rx, #0xfe000000 | ||
24 | orr \rx, \rx, #0x00f00000 @ Virtual Base | ||
25 | orr \rx, \rx, #0x00001700 @ location of the UART | ||
26 | #else | ||
27 | #error Unknown IOP3XX implementation | ||
28 | #endif | ||
29 | .endm | ||
30 | |||
31 | #if !defined(CONFIG_ARCH_IQ80321) || !defined(CONFIG_ARCH_IQ31244) || !defined(CONFIG_ARCH_IQ80331) | ||
32 | #define FLOW_CONTROL | ||
33 | #endif | ||
34 | #define UART_SHIFT 0 | ||
35 | #include <asm/hardware/debug-8250.S> | ||
diff --git a/include/asm-arm/arch-iop3xx/irqs.h b/include/asm-arm/arch-iop3xx/irqs.h deleted file mode 100644 index 4f7c7aa87b4a..000000000000 --- a/include/asm-arm/arch-iop3xx/irqs.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop3xx/irqs.h | ||
3 | * | ||
4 | * Copyright: (C) 2001-2003 MontaVista Software Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | /* | ||
13 | * Chipset-specific bits | ||
14 | */ | ||
15 | #ifdef CONFIG_ARCH_IOP32X | ||
16 | #include "iop321-irqs.h" | ||
17 | #endif | ||
18 | |||
19 | #ifdef CONFIG_ARCH_IOP33X | ||
20 | #include "iop331-irqs.h" | ||
21 | #endif | ||
diff --git a/include/asm-arm/arch-iop3xx/timex.h b/include/asm-arm/arch-iop3xx/timex.h deleted file mode 100644 index 14ca8d0f7b29..000000000000 --- a/include/asm-arm/arch-iop3xx/timex.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop3xx/timex.h | ||
3 | * | ||
4 | * IOP3xx architecture timex specifications | ||
5 | */ | ||
6 | #include <asm/hardware.h> | ||
7 | |||
8 | #if defined(CONFIG_ARCH_IQ80321) || defined(CONFIG_ARCH_IQ31244) | ||
9 | |||
10 | #define CLOCK_TICK_RATE IOP321_TICK_RATE | ||
11 | |||
12 | #elif defined(CONFIG_ARCH_IQ80331) || defined(CONFIG_MACH_IQ80332) | ||
13 | |||
14 | #define CLOCK_TICK_RATE IOP331_TICK_RATE | ||
15 | |||
16 | #else | ||
17 | |||
18 | #error "No IOP3xx timex information for this architecture" | ||
19 | |||
20 | #endif | ||
diff --git a/include/asm-arm/arch-iop3xx/uncompress.h b/include/asm-arm/arch-iop3xx/uncompress.h deleted file mode 100644 index 066c16bc1250..000000000000 --- a/include/asm-arm/arch-iop3xx/uncompress.h +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-iop3xx/uncompress.h | ||
3 | */ | ||
4 | #include <asm/types.h> | ||
5 | #include <asm/mach-types.h> | ||
6 | #include <linux/serial_reg.h> | ||
7 | #include <asm/hardware.h> | ||
8 | |||
9 | #ifdef CONFIG_ARCH_IOP32X | ||
10 | #define UTYPE unsigned char * | ||
11 | #elif defined(CONFIG_ARCH_IOP33X) | ||
12 | #define UTYPE u32 * | ||
13 | #else | ||
14 | #error "Missing IOP3xx arch type def" | ||
15 | #endif | ||
16 | |||
17 | static volatile UTYPE uart_base; | ||
18 | |||
19 | #define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) | ||
20 | |||
21 | static inline void putc(char c) | ||
22 | { | ||
23 | while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) | ||
24 | barrier(); | ||
25 | *uart_base = c; | ||
26 | } | ||
27 | |||
28 | static inline void flush(void) | ||
29 | { | ||
30 | } | ||
31 | |||
32 | static __inline__ void __arch_decomp_setup(unsigned long arch_id) | ||
33 | { | ||
34 | if(machine_is_iq80321()) | ||
35 | uart_base = (volatile UTYPE)IQ80321_UART; | ||
36 | else if(machine_is_iq31244()) | ||
37 | uart_base = (volatile UTYPE)IQ31244_UART; | ||
38 | else if(machine_is_iq80331() || machine_is_iq80332()) | ||
39 | uart_base = (volatile UTYPE)IOP331_UART0_PHYS; | ||
40 | else | ||
41 | uart_base = (volatile UTYPE)0xfe800000; | ||
42 | } | ||
43 | |||
44 | /* | ||
45 | * nothing to do | ||
46 | */ | ||
47 | #define arch_decomp_setup() __arch_decomp_setup(arch_id) | ||
48 | #define arch_decomp_wdog() | ||