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