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