Merge tag 'for-linus-5.12b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm / mach-ixp4xx / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 if ARCH_IXP4XX
3
4 menu "Intel IXP4xx Implementation Options"
5
6 comment "IXP4xx Platforms"
7
8 config 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
20 config 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
29 config 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
37 config 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
45 config 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
53 config 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
61 config 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
69 config 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
76 config 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
83 config 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
90 config 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
96 config 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 #
108 config ARCH_IXCDP1100
109         bool 
110         depends on ARCH_IXDP425
111         default y
112
113 config 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
120 config 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
129 config 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
138 config  ARCH_IXDP4XX
139         bool
140         depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
141         default y
142
143 config 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
152 config 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 #
163 config CPU_IXP46X
164         bool
165         depends on MACH_IXDP465
166         default y
167
168 config CPU_IXP43X
169         bool
170         depends on MACH_KIXRP435
171         default y
172
173 config 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
191 config 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
197 config 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
204 config 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
210 comment "IXP4xx Options"
211
212 config 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
238 endmenu
239
240 endif