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