xref: /linux/arch/arm/mach-ixp4xx/Kconfig (revision 8afecfb0ec961e37e61b2d19c4fa71617a9482de)
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 "Devce 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 SERIAL_OF_PLATFORM
17	select TIMER_OF
18	select USE_OF
19	help
20	  Say 'Y' here to support Device Tree-based IXP4xx platforms.
21
22config MACH_NSLU2
23	bool
24	prompt "Linksys NSLU2"
25	select FORCE_PCI
26	help
27	  Say 'Y' here if you want your kernel to support Linksys's
28	  NSLU2 NAS device. For more information on this platform,
29	  see http://www.nslu2-linux.org
30
31config MACH_AVILA
32	bool "Avila"
33	select FORCE_PCI
34	help
35	  Say 'Y' here if you want your kernel to support the Gateworks
36	  Avila Network Platform. For more information on this platform,
37	  see <file:Documentation/arm/IXP4xx>.
38
39config MACH_LOFT
40    bool "Loft"
41    depends on MACH_AVILA
42    help
43	  Say 'Y' here if you want your kernel to support the Giant
44	  Shoulder Inc Loft board (a minor variation on the standard
45	  Gateworks Avila Network Platform).
46
47config ARCH_ADI_COYOTE
48	bool "Coyote"
49	select FORCE_PCI
50	help
51	  Say 'Y' here if you want your kernel to support the ADI
52	  Engineering Coyote Gateway Reference Platform. For more
53	  information on this platform, see <file:Documentation/arm/IXP4xx>.
54
55config MACH_GATEWAY7001
56	bool "Gateway 7001"
57	select FORCE_PCI
58	help
59	  Say 'Y' here if you want your kernel to support Gateway's
60	  7001 Access Point. For more information on this platform,
61	  see http://openwrt.org
62
63config MACH_WG302V2
64	bool "Netgear WG302 v2 / WAG302 v2"
65	select FORCE_PCI
66	help
67	  Say 'Y' here if you want your kernel to support Netgear's
68	  WG302 v2 or WAG302 v2 Access Points. For more information
69	  on this platform, see http://openwrt.org
70
71config ARCH_IXDP425
72	bool "IXDP425"
73	help
74	  Say 'Y' here if you want your kernel to support Intel's
75	  IXDP425 Development Platform (Also known as Richfield).
76	  For more information on this platform, see <file:Documentation/arm/IXP4xx>.
77
78config MACH_IXDPG425
79	bool "IXDPG425"
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>.
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>.
91
92config MACH_GORAMO_MLR
93	bool "GORAMO Multi Link Router"
94	help
95	  Say 'Y' here if you want your kernel to support GORAMO
96	  MultiLink router.
97
98config MACH_KIXRP435
99	bool "KIXRP435"
100	help
101	  Say 'Y' here if you want your kernel to support Intel's
102	  KIXRP435 Reference Platform.
103	  For more information on this platform, see <file:Documentation/arm/IXP4xx>.
104
105#
106# IXCDP1100 is the exact same HW as IXDP425, but with a different machine
107# number from the bootloader due to marketing monkeys, so we just enable it
108# by default if IXDP425 is enabled.
109#
110config ARCH_IXCDP1100
111	bool
112	depends on ARCH_IXDP425
113	default y
114
115config ARCH_PRPMC1100
116	bool "PrPMC1100"
117	help
118	  Say 'Y' here if you want your kernel to support the Motorola
119	  PrPCM1100 Processor Mezanine Module. For more information on
120	  this platform, see <file:Documentation/arm/IXP4xx>.
121
122config MACH_NAS100D
123	bool
124	prompt "NAS100D"
125	select FORCE_PCI
126	help
127	  Say 'Y' here if you want your kernel to support Iomega's
128	  NAS 100d device. For more information on this platform,
129	  see http://www.nslu2-linux.org/wiki/NAS100d/HomePage
130
131config MACH_DSMG600
132	bool
133	prompt "D-Link DSM-G600 RevA"
134	select FORCE_PCI
135	help
136	  Say 'Y' here if you want your kernel to support D-Link's
137	  DSM-G600 RevA device. For more information on this platform,
138	  see http://www.nslu2-linux.org/wiki/DSMG600/HomePage
139
140config	ARCH_IXDP4XX
141	bool
142	depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
143	default y
144
145config MACH_FSG
146	bool
147	prompt "Freecom FSG-3"
148	select FORCE_PCI
149	help
150	  Say 'Y' here if you want your kernel to support Freecom's
151	  FSG-3 device. For more information on this platform,
152	  see http://www.nslu2-linux.org/wiki/FSG3/HomePage
153
154config MACH_ARCOM_VULCAN
155	bool
156	prompt "Arcom/Eurotech Vulcan"
157	select FORCE_PCI
158	help
159	  Say 'Y' here if you want your kernel to support Arcom's
160	  Vulcan board.
161
162#
163# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
164#
165config CPU_IXP46X
166	bool
167	depends on MACH_IXDP465
168	default y
169
170config CPU_IXP43X
171	bool
172	depends on MACH_KIXRP435
173	default y
174
175config MACH_GTWX5715
176	bool "Gemtek WX5715 (Linksys WRV54G)"
177	depends on ARCH_IXP4XX
178	select FORCE_PCI
179	help
180		This board is currently inside the Linksys WRV54G Gateways.
181
182		IXP425 - 266mhz
183		32mb SDRAM
184		8mb Flash
185		miniPCI slot 0 does not have a card connector soldered to the board
186		miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
187		npe0 is connected to a Kendin KS8995M Switch (4 ports)
188		npe1 is the "wan" port
189		"Console" UART is available on J11 as console
190		"High Speed" UART is n/c (as far as I can tell)
191		20 Pin ARM/Xscale JTAG interface on J2
192
193config MACH_DEVIXP
194	bool "Omicron DEVIXP"
195	help
196	  Say 'Y' here if you want your kernel to support the DEVIXP
197	  board from OMICRON electronics GmbH.
198
199config MACH_MICCPT
200	bool "Omicron MICCPT"
201	select FORCE_PCI
202	help
203	  Say 'Y' here if you want your kernel to support the MICCPT
204	  board from OMICRON electronics GmbH.
205
206config MACH_MIC256
207	bool "Omicron MIC256"
208	help
209	  Say 'Y' here if you want your kernel to support the MIC256
210	  board from OMICRON electronics GmbH.
211
212comment "IXP4xx Options"
213
214config IXP4XX_INDIRECT_PCI
215	bool "Use indirect PCI memory access"
216	depends on PCI
217	help
218          IXP4xx provides two methods of accessing PCI memory space:
219
220          1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB).
221             To access PCI via this space, we simply ioremap() the BAR
222             into the kernel and we can use the standard read[bwl]/write[bwl]
223             macros. This is the preferred method due to speed but it
224             limits the system to just 64MB of PCI memory. This can be
225             problematic if using video cards and other memory-heavy devices.
226
227	  2) If > 64MB of memory space is required, the IXP4xx can be
228	     configured to use indirect registers to access the whole PCI
229	     memory space. This currently allows for up to 1 GB (0x10000000
230	     to 0x4FFFFFFF) of memory on the bus. The disadvantage of this
231	     is that every PCI access requires three local register accesses
232	     plus a spinlock, but in some cases the performance hit is
233	     acceptable. In addition, you cannot mmap() PCI devices in this
234	     case due to the indirect nature of the PCI window.
235
236	  By default, the direct method is used. Choose this option if you
237	  need to use the indirect method instead. If you don't know
238	  what you need, leave this option unselected.
239
240endmenu
241
242endif
243