xref: /linux/arch/arm/mach-ixp4xx/Kconfig (revision c87866ede44ad7da6b296d732221dc34ce1b154d)
1# SPDX-License-Identifier: GPL-2.0-only
2if ARCH_IXP4XX
3
4menu "Intel IXP4xx Implementation Options"
5
6comment "IXP4xx Platforms"
7
8config MACH_IXP4XX_OF
9	bool
10	prompt "Device Tree IXP4xx boards"
11	default y
12	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
13	select I2C
14	select I2C_IOP3XX
15	select PCI
16	select USE_OF
17	help
18	  Say 'Y' here to support Device Tree-based IXP4xx platforms.
19
20config MACH_NSLU2
21	bool
22	prompt "Linksys NSLU2"
23	depends on IXP4XX_PCI_LEGACY
24	help
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
28
29config MACH_AVILA
30	bool "Avila"
31	depends on IXP4XX_PCI_LEGACY
32	help
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>.
36
37config MACH_LOFT
38    bool "Loft"
39    depends on MACH_AVILA
40    help
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).
44
45config ARCH_ADI_COYOTE
46	bool "Coyote"
47	depends on IXP4XX_PCI_LEGACY
48	help
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>.
52
53config MACH_GATEWAY7001
54	bool "Gateway 7001"
55	depends on IXP4XX_PCI_LEGACY
56	help
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
60
61config MACH_WG302V2
62	bool "Netgear WG302 v2 / WAG302 v2"
63	depends on IXP4XX_PCI_LEGACY
64	help
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
68
69config ARCH_IXDP425
70	bool "IXDP425"
71	depends on IXP4XX_PCI_LEGACY
72	help
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>.
76
77config MACH_IXDPG425
78	bool "IXDPG425"
79	depends on IXP4XX_PCI_LEGACY
80	help
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>.
84
85config MACH_IXDP465
86	bool "IXDP465"
87	help
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>.
91
92config MACH_GORAMO_MLR
93	bool "GORAMO Multi Link Router"
94	depends on IXP4XX_PCI_LEGACY
95	help
96	  Say 'Y' here if you want your kernel to support GORAMO
97	  MultiLink router.
98
99config MACH_KIXRP435
100	bool "KIXRP435"
101	help
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>.
105
106#
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.
110#
111config ARCH_IXCDP1100
112	bool
113	depends on ARCH_IXDP425
114	default y
115
116config ARCH_PRPMC1100
117	bool "PrPMC1100"
118	help
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>.
122
123config MACH_NAS100D
124	bool
125	prompt "NAS100D"
126	depends on IXP4XX_PCI_LEGACY
127	help
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
131
132config MACH_DSMG600
133	bool
134	prompt "D-Link DSM-G600 RevA"
135	depends on IXP4XX_PCI_LEGACY
136	help
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
140
141config	ARCH_IXDP4XX
142	bool
143	depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
144	default y
145
146config MACH_FSG
147	bool
148	prompt "Freecom FSG-3"
149	depends on IXP4XX_PCI_LEGACY
150	help
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
154
155config MACH_ARCOM_VULCAN
156	bool
157	prompt "Arcom/Eurotech Vulcan"
158	depends on IXP4XX_PCI_LEGACY
159	help
160	  Say 'Y' here if you want your kernel to support Arcom's
161	  Vulcan board.
162
163#
164# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
165#
166config CPU_IXP46X
167	bool
168	depends on MACH_IXDP465
169	default y
170
171config CPU_IXP43X
172	bool
173	depends on MACH_KIXRP435
174	default y
175
176config MACH_GTWX5715
177	bool "Gemtek WX5715 (Linksys WRV54G)"
178	depends on ARCH_IXP4XX
179	depends on IXP4XX_PCI_LEGACY
180	help
181		This board is currently inside the Linksys WRV54G Gateways.
182
183		IXP425 - 266mhz
184		32mb SDRAM
185		8mb Flash
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
193
194config MACH_DEVIXP
195	bool "Omicron DEVIXP"
196	help
197	  Say 'Y' here if you want your kernel to support the DEVIXP
198	  board from OMICRON electronics GmbH.
199
200config MACH_MICCPT
201	bool "Omicron MICCPT"
202	depends on IXP4XX_PCI_LEGACY
203	help
204	  Say 'Y' here if you want your kernel to support the MICCPT
205	  board from OMICRON electronics GmbH.
206
207config MACH_MIC256
208	bool "Omicron MIC256"
209	help
210	  Say 'Y' here if you want your kernel to support the MIC256
211	  board from OMICRON electronics GmbH.
212
213comment "IXP4xx Options"
214
215config IXP4XX_PCI_LEGACY
216	bool "IXP4xx legacy PCI driver support"
217	depends on PCI
218	help
219	  Selects legacy PCI driver.
220	  Not recommended for new development.
221
222config IXP4XX_INDIRECT_PCI
223	bool "Use indirect PCI memory access"
224	depends on IXP4XX_PCI_LEGACY
225	help
226          IXP4xx provides two methods of accessing PCI memory space:
227
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.
234
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.
243
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.
247
248endmenu
249
250endif
251