xref: /openbmc/linux/arch/arm/mach-ixp4xx/Kconfig (revision 06ce83a4)
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_AVILA
21	bool "Avila"
22	depends on IXP4XX_PCI_LEGACY
23	help
24	  Say 'Y' here if you want your kernel to support the Gateworks
25	  Avila Network Platform. For more information on this platform,
26	  see <file:Documentation/arm/ixp4xx.rst>.
27
28config MACH_LOFT
29    bool "Loft"
30    depends on MACH_AVILA
31    help
32	  Say 'Y' here if you want your kernel to support the Giant
33	  Shoulder Inc Loft board (a minor variation on the standard
34	  Gateworks Avila Network Platform).
35
36config ARCH_ADI_COYOTE
37	bool "Coyote"
38	depends on IXP4XX_PCI_LEGACY
39	help
40	  Say 'Y' here if you want your kernel to support the ADI
41	  Engineering Coyote Gateway Reference Platform. For more
42	  information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
43
44config MACH_GATEWAY7001
45	bool "Gateway 7001"
46	depends on IXP4XX_PCI_LEGACY
47	help
48	  Say 'Y' here if you want your kernel to support Gateway's
49	  7001 Access Point. For more information on this platform,
50	  see http://openwrt.org
51
52config MACH_WG302V2
53	bool "Netgear WG302 v2 / WAG302 v2"
54	depends on IXP4XX_PCI_LEGACY
55	help
56	  Say 'Y' here if you want your kernel to support Netgear's
57	  WG302 v2 or WAG302 v2 Access Points. For more information
58	  on this platform, see http://openwrt.org
59
60config ARCH_IXDP425
61	bool "IXDP425"
62	depends on IXP4XX_PCI_LEGACY
63	help
64	  Say 'Y' here if you want your kernel to support Intel's
65	  IXDP425 Development Platform (Also known as Richfield).
66	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
67
68config MACH_IXDPG425
69	bool "IXDPG425"
70	depends on IXP4XX_PCI_LEGACY
71	help
72	  Say 'Y' here if you want your kernel to support Intel's
73	  IXDPG425 Development Platform (Also known as Montajade).
74	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
75
76config MACH_IXDP465
77	bool "IXDP465"
78	help
79	  Say 'Y' here if you want your kernel to support Intel's
80	  IXDP465 Development Platform (Also known as BMP).
81	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
82
83config MACH_GORAMO_MLR
84	bool "GORAMO Multi Link Router"
85	help
86	  Say 'Y' here if you want your kernel to support GORAMO
87	  MultiLink router.
88
89config MACH_KIXRP435
90	bool "KIXRP435"
91	help
92	  Say 'Y' here if you want your kernel to support Intel's
93	  KIXRP435 Reference Platform.
94	  For more information on this platform, see <file:Documentation/arm/ixp4xx.rst>.
95
96#
97# IXCDP1100 is the exact same HW as IXDP425, but with a different machine
98# number from the bootloader due to marketing monkeys, so we just enable it
99# by default if IXDP425 is enabled.
100#
101config ARCH_IXCDP1100
102	bool
103	depends on ARCH_IXDP425
104	default y
105
106config ARCH_PRPMC1100
107	bool "PrPMC1100"
108	help
109	  Say 'Y' here if you want your kernel to support the Motorola
110	  PrPCM1100 Processor Mezanine Module. For more information on
111	  this platform, see <file:Documentation/arm/ixp4xx.rst>.
112
113config MACH_NAS100D
114	bool
115	prompt "NAS100D"
116	depends on IXP4XX_PCI_LEGACY
117	help
118	  Say 'Y' here if you want your kernel to support Iomega's
119	  NAS 100d device. For more information on this platform,
120	  see http://www.nslu2-linux.org/wiki/NAS100d/HomePage
121
122config MACH_DSMG600
123	bool
124	prompt "D-Link DSM-G600 RevA"
125	depends on IXP4XX_PCI_LEGACY
126	help
127	  Say 'Y' here if you want your kernel to support D-Link's
128	  DSM-G600 RevA device. For more information on this platform,
129	  see http://www.nslu2-linux.org/wiki/DSMG600/HomePage
130
131config	ARCH_IXDP4XX
132	bool
133	depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
134	default y
135
136config MACH_FSG
137	bool
138	prompt "Freecom FSG-3"
139	depends on IXP4XX_PCI_LEGACY
140	help
141	  Say 'Y' here if you want your kernel to support Freecom's
142	  FSG-3 device. For more information on this platform,
143	  see http://www.nslu2-linux.org/wiki/FSG3/HomePage
144
145config MACH_ARCOM_VULCAN
146	bool
147	prompt "Arcom/Eurotech Vulcan"
148	depends on IXP4XX_PCI_LEGACY
149	help
150	  Say 'Y' here if you want your kernel to support Arcom's
151	  Vulcan board.
152
153#
154# Certain registers and IRQs are only enabled if supporting IXP465 CPUs
155#
156config CPU_IXP46X
157	bool
158	depends on MACH_IXDP465
159	default y
160
161config CPU_IXP43X
162	bool
163	depends on MACH_KIXRP435
164	default y
165
166config MACH_GTWX5715
167	bool "Gemtek WX5715 (Linksys WRV54G)"
168	depends on ARCH_IXP4XX
169	depends on IXP4XX_PCI_LEGACY
170	help
171		This board is currently inside the Linksys WRV54G Gateways.
172
173		IXP425 - 266mhz
174		32mb SDRAM
175		8mb Flash
176		miniPCI slot 0 does not have a card connector soldered to the board
177		miniPCI slot 1 has an ISL3880 802.11g card (Prism54)
178		npe0 is connected to a Kendin KS8995M Switch (4 ports)
179		npe1 is the "wan" port
180		"Console" UART is available on J11 as console
181		"High Speed" UART is n/c (as far as I can tell)
182		20 Pin ARM/Xscale JTAG interface on J2
183
184config MACH_DEVIXP
185	bool "Omicron DEVIXP"
186	help
187	  Say 'Y' here if you want your kernel to support the DEVIXP
188	  board from OMICRON electronics GmbH.
189
190config MACH_MICCPT
191	bool "Omicron MICCPT"
192	depends on IXP4XX_PCI_LEGACY
193	help
194	  Say 'Y' here if you want your kernel to support the MICCPT
195	  board from OMICRON electronics GmbH.
196
197config MACH_MIC256
198	bool "Omicron MIC256"
199	help
200	  Say 'Y' here if you want your kernel to support the MIC256
201	  board from OMICRON electronics GmbH.
202
203comment "IXP4xx Options"
204
205config IXP4XX_PCI_LEGACY
206	bool "IXP4xx legacy PCI driver support"
207	depends on PCI
208	help
209	  Selects legacy PCI driver.
210	  Not recommended for new development.
211
212config IXP4XX_INDIRECT_PCI
213	bool "Use indirect PCI memory access"
214	depends on IXP4XX_PCI_LEGACY
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