1 # SPDX-License-Identifier: GPL-2.0-only
4 menu "Intel IXP4xx Implementation Options"
6 comment "IXP4xx Platforms"
10 prompt "Device Tree IXP4xx boards"
12 select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
18 Say 'Y' here to support Device Tree-based IXP4xx platforms.
22 prompt "Linksys NSLU2"
23 depends on IXP4XX_PCI_LEGACY
25 Say 'Y' here if you want your kernel to support Linksys's
26 NSLU2 NAS device. For more information on this platform,
27 see http://www.nslu2-linux.org
31 depends on IXP4XX_PCI_LEGACY
33 Say 'Y' here if you want your kernel to support the Gateworks
34 Avila Network Platform. For more information on this platform,
35 see <file:Documentation/arm/ixp4xx.rst>.
41 Say 'Y' here if you want your kernel to support the Giant
42 Shoulder Inc Loft board (a minor variation on the standard
43 Gateworks Avila Network Platform).
45 config ARCH_ADI_COYOTE
47 depends on IXP4XX_PCI_LEGACY
49 Say 'Y' here if you want your kernel to support the ADI
50 Engineering Coyote Gateway Reference Platform. For more
51 information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
53 config MACH_GATEWAY7001
55 depends on IXP4XX_PCI_LEGACY
57 Say 'Y' here if you want your kernel to support Gateway's
58 7001 Access Point. For more information on this platform,
59 see http://openwrt.org
62 bool "Netgear WG302 v2 / WAG302 v2"
63 depends on IXP4XX_PCI_LEGACY
65 Say 'Y' here if you want your kernel to support Netgear's
66 WG302 v2 or WAG302 v2 Access Points. For more information
67 on this platform, see http://openwrt.org
71 depends on IXP4XX_PCI_LEGACY
73 Say 'Y' here if you want your kernel to support Intel's
74 IXDP425 Development Platform (Also known as Richfield).
75 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
79 depends on IXP4XX_PCI_LEGACY
81 Say 'Y' here if you want your kernel to support Intel's
82 IXDPG425 Development Platform (Also known as Montajade).
83 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
88 Say 'Y' here if you want your kernel to support Intel's
89 IXDP465 Development Platform (Also known as BMP).
90 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
92 config MACH_GORAMO_MLR
93 bool "GORAMO Multi Link Router"
94 depends on IXP4XX_PCI_LEGACY
96 Say 'Y' here if you want your kernel to support GORAMO
102 Say 'Y' here if you want your kernel to support Intel's
103 KIXRP435 Reference Platform.
104 For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
107 # IXCDP1100 is the exact same HW as IXDP425, but with a different machine
108 # number from the bootloader due to marketing monkeys, so we just enable it
109 # by default if IXDP425 is enabled.
111 config ARCH_IXCDP1100
113 depends on ARCH_IXDP425
116 config ARCH_PRPMC1100
119 Say 'Y' here if you want your kernel to support the Motorola
120 PrPCM1100 Processor Mezanine Module. For more information on
121 this platform, see <file:Documentation/arm/ixp4xx.rst>.
126 depends on IXP4XX_PCI_LEGACY
128 Say 'Y' here if you want your kernel to support Iomega's
129 NAS 100d device. For more information on this platform,
130 see http://www.nslu2-linux.org/wiki/NAS100d/HomePage
134 prompt "D-Link DSM-G600 RevA"
135 depends on IXP4XX_PCI_LEGACY
137 Say 'Y' here if you want your kernel to support D-Link's
138 DSM-G600 RevA device. For more information on this platform,
139 see http://www.nslu2-linux.org/wiki/DSMG600/HomePage
143 depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
148 prompt "Freecom FSG-3"
149 depends on IXP4XX_PCI_LEGACY
151 Say 'Y' here if you want your kernel to support Freecom's
152 FSG-3 device. For more information on this platform,
153 see http://www.nslu2-linux.org/wiki/FSG3/HomePage
155 config MACH_ARCOM_VULCAN
157 prompt "Arcom/Eurotech Vulcan"
158 depends on IXP4XX_PCI_LEGACY
160 Say 'Y' here if you want your kernel to support Arcom's
164 # Certain registers and IRQs are only enabled if supporting IXP465 CPUs
168 depends on MACH_IXDP465
173 depends on MACH_KIXRP435
177 bool "Gemtek WX5715 (Linksys WRV54G)"
178 depends on ARCH_IXP4XX
179 depends on IXP4XX_PCI_LEGACY
181 This board is currently inside the Linksys WRV54G Gateways.
186 miniPCI slot 0 does not have a card connector soldered to the board
187 miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
188 npe0 is connected to a Kendin KS8995M Switch (4 ports)
189 npe1 is the "wan" port
190 "Console" UART is available on J11 as console
191 "High Speed" UART is n/c (as far as I can tell)
192 20 Pin ARM/Xscale JTAG interface on J2
195 bool "Omicron DEVIXP"
197 Say 'Y' here if you want your kernel to support the DEVIXP
198 board from OMICRON electronics GmbH.
201 bool "Omicron MICCPT"
202 depends on IXP4XX_PCI_LEGACY
204 Say 'Y' here if you want your kernel to support the MICCPT
205 board from OMICRON electronics GmbH.
208 bool "Omicron MIC256"
210 Say 'Y' here if you want your kernel to support the MIC256
211 board from OMICRON electronics GmbH.
213 comment "IXP4xx Options"
215 config IXP4XX_PCI_LEGACY
216 bool "IXP4xx legacy PCI driver support"
219 Selects legacy PCI driver.
220 Not recommended for new development.
222 config IXP4XX_INDIRECT_PCI
223 bool "Use indirect PCI memory access"
224 depends on IXP4XX_PCI_LEGACY
226 IXP4xx provides two methods of accessing PCI memory space:
228 1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
229 To access PCI via this space, we simply ioremap() the BAR
230 into the kernel and we can use the standard read[bwl]/write[bwl]
231 macros. This is the preferred method due to speed but it
232 limits the system to just 64MB of PCI memory. This can be
233 problematic if using video cards and other memory-heavy devices.
235 2) If > 64MB of memory space is required, the IXP4xx can be
236 configured to use indirect registers to access the whole PCI
237 memory space. This currently allows for up to 1 GB (0x10000000
238 to 0x4FFFFFFF) of memory on the bus. The disadvantage of this
239 is that every PCI access requires three local register accesses
240 plus a spinlock, but in some cases the performance hit is
241 acceptable. In addition, you cannot mmap() PCI devices in this
242 case due to the indirect nature of the PCI window.
244 By default, the direct method is used. Choose this option if you
245 need to use the indirect method instead. If you don't know
246 what you need, leave this option unselected.