diff options
-rw-r--r-- | arch/arm/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/Kconfig | 15 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/Makefile | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/io.h | 7 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/memory.h | 2 |
5 files changed, 24 insertions, 5 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1dbf6ddb300d..08b7cc900cae 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -150,8 +150,6 @@ config ARCH_IOP3XX | |||
150 | 150 | ||
151 | config ARCH_IXP4XX | 151 | config ARCH_IXP4XX |
152 | bool "IXP4xx-based" | 152 | bool "IXP4xx-based" |
153 | select DMABOUNCE | ||
154 | select PCI | ||
155 | help | 153 | help |
156 | Support for Intel's IXP4XX (XScale) family of processors. | 154 | Support for Intel's IXP4XX (XScale) family of processors. |
157 | 155 | ||
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig index 5bf50a2a737d..2a39f9e481ad 100644 --- a/arch/arm/mach-ixp4xx/Kconfig +++ b/arch/arm/mach-ixp4xx/Kconfig | |||
@@ -11,6 +11,7 @@ comment "IXP4xx Platforms" | |||
11 | config MACH_NSLU2 | 11 | config MACH_NSLU2 |
12 | bool | 12 | bool |
13 | prompt "Linksys NSLU2" | 13 | prompt "Linksys NSLU2" |
14 | select PCI | ||
14 | help | 15 | help |
15 | Say 'Y' here if you want your kernel to support Linksys's | 16 | Say 'Y' here if you want your kernel to support Linksys's |
16 | NSLU2 NAS device. For more information on this platform, | 17 | NSLU2 NAS device. For more information on this platform, |
@@ -18,6 +19,7 @@ config MACH_NSLU2 | |||
18 | 19 | ||
19 | config ARCH_AVILA | 20 | config ARCH_AVILA |
20 | bool "Avila" | 21 | bool "Avila" |
22 | select PCI | ||
21 | help | 23 | help |
22 | Say 'Y' here if you want your kernel to support the Gateworks | 24 | Say 'Y' here if you want your kernel to support the Gateworks |
23 | Avila Network Platform. For more information on this platform, | 25 | Avila Network Platform. For more information on this platform, |
@@ -25,6 +27,7 @@ config ARCH_AVILA | |||
25 | 27 | ||
26 | config ARCH_ADI_COYOTE | 28 | config ARCH_ADI_COYOTE |
27 | bool "Coyote" | 29 | bool "Coyote" |
30 | select PCI | ||
28 | help | 31 | help |
29 | Say 'Y' here if you want your kernel to support the ADI | 32 | Say 'Y' here if you want your kernel to support the ADI |
30 | Engineering Coyote Gateway Reference Platform. For more | 33 | Engineering Coyote Gateway Reference Platform. For more |
@@ -32,6 +35,7 @@ config ARCH_ADI_COYOTE | |||
32 | 35 | ||
33 | config ARCH_IXDP425 | 36 | config ARCH_IXDP425 |
34 | bool "IXDP425" | 37 | bool "IXDP425" |
38 | select PCI | ||
35 | help | 39 | help |
36 | Say 'Y' here if you want your kernel to support Intel's | 40 | Say 'Y' here if you want your kernel to support Intel's |
37 | IXDP425 Development Platform (Also known as Richfield). | 41 | IXDP425 Development Platform (Also known as Richfield). |
@@ -39,6 +43,7 @@ config ARCH_IXDP425 | |||
39 | 43 | ||
40 | config MACH_IXDPG425 | 44 | config MACH_IXDPG425 |
41 | bool "IXDPG425" | 45 | bool "IXDPG425" |
46 | select PCI | ||
42 | help | 47 | help |
43 | Say 'Y' here if you want your kernel to support Intel's | 48 | Say 'Y' here if you want your kernel to support Intel's |
44 | IXDPG425 Development Platform (Also known as Montajade). | 49 | IXDPG425 Development Platform (Also known as Montajade). |
@@ -46,6 +51,7 @@ config MACH_IXDPG425 | |||
46 | 51 | ||
47 | config MACH_IXDP465 | 52 | config MACH_IXDP465 |
48 | bool "IXDP465" | 53 | bool "IXDP465" |
54 | select PCI | ||
49 | help | 55 | help |
50 | Say 'Y' here if you want your kernel to support Intel's | 56 | Say 'Y' here if you want your kernel to support Intel's |
51 | IXDP465 Development Platform (Also known as BMP). | 57 | IXDP465 Development Platform (Also known as BMP). |
@@ -72,6 +78,7 @@ config ARCH_PRPMC1100 | |||
72 | config MACH_NAS100D | 78 | config MACH_NAS100D |
73 | bool | 79 | bool |
74 | prompt "NAS100D" | 80 | prompt "NAS100D" |
81 | select PCI | ||
75 | help | 82 | help |
76 | Say 'Y' here if you want your kernel to support Iomega's | 83 | Say 'Y' here if you want your kernel to support Iomega's |
77 | NAS 100d device. For more information on this platform, | 84 | NAS 100d device. For more information on this platform, |
@@ -96,6 +103,7 @@ config CPU_IXP46X | |||
96 | config MACH_GTWX5715 | 103 | config MACH_GTWX5715 |
97 | bool "Gemtek WX5715 (Linksys WRV54G)" | 104 | bool "Gemtek WX5715 (Linksys WRV54G)" |
98 | depends on ARCH_IXP4XX | 105 | depends on ARCH_IXP4XX |
106 | select PCI | ||
99 | help | 107 | help |
100 | This board is currently inside the Linksys WRV54G Gateways. | 108 | This board is currently inside the Linksys WRV54G Gateways. |
101 | 109 | ||
@@ -110,11 +118,16 @@ config MACH_GTWX5715 | |||
110 | "High Speed" UART is n/c (as far as I can tell) | 118 | "High Speed" UART is n/c (as far as I can tell) |
111 | 20 Pin ARM/Xscale JTAG interface on J2 | 119 | 20 Pin ARM/Xscale JTAG interface on J2 |
112 | 120 | ||
113 | |||
114 | comment "IXP4xx Options" | 121 | comment "IXP4xx Options" |
115 | 122 | ||
123 | config DMABOUNCE | ||
124 | bool | ||
125 | default y | ||
126 | depends on PCI | ||
127 | |||
116 | config IXP4XX_INDIRECT_PCI | 128 | config IXP4XX_INDIRECT_PCI |
117 | bool "Use indirect PCI memory access" | 129 | bool "Use indirect PCI memory access" |
130 | depends on PCI | ||
118 | help | 131 | help |
119 | IXP4xx provides two methods of accessing PCI memory space: | 132 | IXP4xx provides two methods of accessing PCI memory space: |
120 | 133 | ||
diff --git a/arch/arm/mach-ixp4xx/Makefile b/arch/arm/mach-ixp4xx/Makefile index 0471044fa179..5a4aaa0e0a09 100644 --- a/arch/arm/mach-ixp4xx/Makefile +++ b/arch/arm/mach-ixp4xx/Makefile | |||
@@ -2,8 +2,9 @@ | |||
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += common.o common-pci.o | 5 | obj-y += common.o |
6 | 6 | ||
7 | obj-$(CONFIG_PCI) += common-pci.o | ||
7 | obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o ixdp425-setup.o | 8 | obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o ixdp425-setup.o |
8 | obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o | 9 | obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o |
9 | obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o | 10 | obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o |
diff --git a/include/asm-arm/arch-ixp4xx/io.h b/include/asm-arm/arch-ixp4xx/io.h index 942b622455bc..b59520e56fc7 100644 --- a/include/asm-arm/arch-ixp4xx/io.h +++ b/include/asm-arm/arch-ixp4xx/io.h | |||
@@ -260,6 +260,12 @@ out: | |||
260 | 260 | ||
261 | #endif | 261 | #endif |
262 | 262 | ||
263 | #ifndef CONFIG_PCI | ||
264 | |||
265 | #define __io(v) v | ||
266 | |||
267 | #else | ||
268 | |||
263 | /* | 269 | /* |
264 | * IXP4xx does not have a transparent cpu -> PCI I/O translation | 270 | * IXP4xx does not have a transparent cpu -> PCI I/O translation |
265 | * window. Instead, it has a set of registers that must be tweaked | 271 | * window. Instead, it has a set of registers that must be tweaked |
@@ -578,6 +584,7 @@ __ixp4xx_iowrite32_rep(void __iomem *addr, const void *vaddr, u32 count) | |||
578 | 584 | ||
579 | #define ioport_map(port, nr) ((void __iomem*)(port + PIO_OFFSET)) | 585 | #define ioport_map(port, nr) ((void __iomem*)(port + PIO_OFFSET)) |
580 | #define ioport_unmap(addr) | 586 | #define ioport_unmap(addr) |
587 | #endif // !CONFIG_PCI | ||
581 | 588 | ||
582 | #endif // __ASM_ARM_ARCH_IO_H | 589 | #endif // __ASM_ARM_ARCH_IO_H |
583 | 590 | ||
diff --git a/include/asm-arm/arch-ixp4xx/memory.h b/include/asm-arm/arch-ixp4xx/memory.h index ee211d28a3ef..af9667b57ab3 100644 --- a/include/asm-arm/arch-ixp4xx/memory.h +++ b/include/asm-arm/arch-ixp4xx/memory.h | |||
@@ -14,7 +14,7 @@ | |||
14 | */ | 14 | */ |
15 | #define PHYS_OFFSET UL(0x00000000) | 15 | #define PHYS_OFFSET UL(0x00000000) |
16 | 16 | ||
17 | #ifndef __ASSEMBLY__ | 17 | #if !defined(__ASSEMBLY__) && defined(CONFIG_PCI) |
18 | 18 | ||
19 | void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes); | 19 | void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes); |
20 | 20 | ||