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