aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2008-08-14 20:04:48 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-17 17:40:52 -0400
commita7a19fac8a9fbc0182fb1b464848a31529c39433 (patch)
tree07bfe7ff198fddd9fdd235ae8a4ffced6e855f30
parent27140219373327f2291da5d74a78db0105b15060 (diff)
usb: gadget Kconfig cleanup
This reorders the list of USB peripheral controller drivers so it's more common for the initial (default) value to be relevant: put the SOC integrated silicon up front, discrete stuff last. Alphabetize. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/Kconfig265
1 files changed, 144 insertions, 121 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index acc95b2ac6f8..5dda2dc708db 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -85,6 +85,13 @@ config USB_GADGET_SELECTED
85# 85#
86# USB Peripheral Controller Support 86# USB Peripheral Controller Support
87# 87#
88# The order here is alphabetical, except that integrated controllers go
89# before discrete ones so they will be the initial/default value:
90# - integrated/SOC controllers first
91# - licensed IP used in both SOC and discrete versions
92# - discrete ones (including all PCI-only controllers)
93# - debug/dummy gadget+hcd is last.
94#
88choice 95choice
89 prompt "USB Peripheral Controller" 96 prompt "USB Peripheral Controller"
90 depends on USB_GADGET 97 depends on USB_GADGET
@@ -94,26 +101,27 @@ choice
94 Many controller drivers are platform-specific; these 101 Many controller drivers are platform-specific; these
95 often need board-specific hooks. 102 often need board-specific hooks.
96 103
97config USB_GADGET_AMD5536UDC 104#
98 boolean "AMD5536 UDC" 105# Integrated controllers
99 depends on PCI 106#
100 select USB_GADGET_DUALSPEED 107
108config USB_GADGET_AT91
109 boolean "Atmel AT91 USB Device Port"
110 depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
111 select USB_GADGET_SELECTED
101 help 112 help
102 The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. 113 Many Atmel AT91 processors (such as the AT91RM2000) have a
103 It is a USB Highspeed DMA capable USB device controller. Beside ep0 114 full speed USB Device Port with support for five configurable
104 it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). 115 endpoints (plus endpoint zero).
105 The UDC port supports OTG operation, and may be used as a host port
106 if it's not being used to implement peripheral or OTG roles.
107 116
108 Say "y" to link the driver statically, or "m" to build a 117 Say "y" to link the driver statically, or "m" to build a
109 dynamically linked module called "amd5536udc" and force all 118 dynamically linked module called "at91_udc" and force all
110 gadget drivers to also be dynamically linked. 119 gadget drivers to also be dynamically linked.
111 120
112config USB_AMD5536UDC 121config USB_AT91
113 tristate 122 tristate
114 depends on USB_GADGET_AMD5536UDC 123 depends on USB_GADGET_AT91
115 default USB_GADGET 124 default USB_GADGET
116 select USB_GADGET_SELECTED
117 125
118config USB_GADGET_ATMEL_USBA 126config USB_GADGET_ATMEL_USBA
119 boolean "Atmel USBA" 127 boolean "Atmel USBA"
@@ -150,28 +158,50 @@ config USB_FSL_USB2
150 default USB_GADGET 158 default USB_GADGET
151 select USB_GADGET_SELECTED 159 select USB_GADGET_SELECTED
152 160
153config USB_GADGET_NET2280 161config USB_GADGET_LH7A40X
154 boolean "NetChip 228x" 162 boolean "LH7A40X"
155 depends on PCI 163 depends on ARCH_LH7A40X
156 select USB_GADGET_DUALSPEED
157 help 164 help
158 NetChip 2280 / 2282 is a PCI based USB peripheral controller which 165 This driver provides USB Device Controller driver for LH7A40x
159 supports both full and high speed USB 2.0 data transfers. 166
160 167config USB_LH7A40X
161 It has six configurable endpoints, as well as endpoint zero 168 tristate
162 (for control transfers) and several endpoints with dedicated 169 depends on USB_GADGET_LH7A40X
163 functions. 170 default USB_GADGET
171 select USB_GADGET_SELECTED
172
173config USB_GADGET_OMAP
174 boolean "OMAP USB Device Controller"
175 depends on ARCH_OMAP
176 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
177 help
178 Many Texas Instruments OMAP processors have flexible full
179 speed USB device controllers, with support for up to 30
180 endpoints (plus endpoint zero). This driver supports the
181 controller in the OMAP 1611, and should work with controllers
182 in other OMAP processors too, given minor tweaks.
164 183
165 Say "y" to link the driver statically, or "m" to build a 184 Say "y" to link the driver statically, or "m" to build a
166 dynamically linked module called "net2280" and force all 185 dynamically linked module called "omap_udc" and force all
167 gadget drivers to also be dynamically linked. 186 gadget drivers to also be dynamically linked.
168 187
169config USB_NET2280 188config USB_OMAP
170 tristate 189 tristate
171 depends on USB_GADGET_NET2280 190 depends on USB_GADGET_OMAP
172 default USB_GADGET 191 default USB_GADGET
173 select USB_GADGET_SELECTED 192 select USB_GADGET_SELECTED
174 193
194config USB_OTG
195 boolean "OTG Support"
196 depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD
197 help
198 The most notable feature of USB OTG is support for a
199 "Dual-Role" device, which can act as either a device
200 or a host. The initial role choice can be changed
201 later, when two dual-role devices talk to each other.
202
203 Select this only if your OMAP board has a Mini-AB connector.
204
175config USB_GADGET_PXA25X 205config USB_GADGET_PXA25X
176 boolean "PXA 25x or IXP 4xx" 206 boolean "PXA 25x or IXP 4xx"
177 depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX 207 depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX
@@ -203,34 +233,6 @@ config USB_PXA25X_SMALL
203 default y if USB_ETH 233 default y if USB_ETH
204 default y if USB_G_SERIAL 234 default y if USB_G_SERIAL
205 235
206config USB_GADGET_M66592
207 boolean "Renesas M66592 USB Peripheral Controller"
208 select USB_GADGET_DUALSPEED
209 help
210 M66592 is a discrete USB peripheral controller chip that
211 supports both full and high speed USB 2.0 data transfers.
212 It has seven configurable endpoints, and endpoint zero.
213
214 Say "y" to link the driver statically, or "m" to build a
215 dynamically linked module called "m66592_udc" and force all
216 gadget drivers to also be dynamically linked.
217
218config USB_M66592
219 tristate
220 depends on USB_GADGET_M66592
221 default USB_GADGET
222 select USB_GADGET_SELECTED
223
224config SUPERH_BUILT_IN_M66592
225 boolean "Enable SuperH built-in USB like the M66592"
226 depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
227 help
228 SH7722 has USB like the M66592.
229
230 The transfer rate is very slow when use "Ethernet Gadget".
231 However, this problem is improved if change a value of
232 NET_IP_ALIGN to 4.
233
234config USB_GADGET_PXA27X 236config USB_GADGET_PXA27X
235 boolean "PXA 27x" 237 boolean "PXA 27x"
236 depends on ARCH_PXA && PXA27x 238 depends on ARCH_PXA && PXA27x
@@ -251,40 +253,32 @@ config USB_PXA27X
251 default USB_GADGET 253 default USB_GADGET
252 select USB_GADGET_SELECTED 254 select USB_GADGET_SELECTED
253 255
254config USB_GADGET_GOKU 256config USB_GADGET_S3C2410
255 boolean "Toshiba TC86C001 'Goku-S'" 257 boolean "S3C2410 USB Device Controller"
256 depends on PCI 258 depends on ARCH_S3C2410
257 help 259 help
258 The Toshiba TC86C001 is a PCI device which includes controllers 260 Samsung's S3C2410 is an ARM-4 processor with an integrated
259 for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). 261 full speed USB 1.1 device controller. It has 4 configurable
260 262 endpoints, as well as endpoint zero (for control transfers).
261 The device controller has three configurable (bulk or interrupt)
262 endpoints, plus endpoint zero (for control transfers).
263 263
264 Say "y" to link the driver statically, or "m" to build a 264 This driver has been tested on the S3C2410, S3C2412, and
265 dynamically linked module called "goku_udc" and to force all 265 S3C2440 processors.
266 gadget drivers to also be dynamically linked.
267 266
268config USB_GOKU 267config USB_S3C2410
269 tristate 268 tristate
270 depends on USB_GADGET_GOKU 269 depends on USB_GADGET_S3C2410
271 default USB_GADGET 270 default USB_GADGET
272 select USB_GADGET_SELECTED 271 select USB_GADGET_SELECTED
273 272
273config USB_S3C2410_DEBUG
274 boolean "S3C2410 udc debug messages"
275 depends on USB_GADGET_S3C2410
274 276
275config USB_GADGET_LH7A40X 277#
276 boolean "LH7A40X" 278# Controllers available in both integrated and discrete versions
277 depends on ARCH_LH7A40X 279#
278 help
279 This driver provides USB Device Controller driver for LH7A40x
280
281config USB_LH7A40X
282 tristate
283 depends on USB_GADGET_LH7A40X
284 default USB_GADGET
285 select USB_GADGET_SELECTED
286 280
287# built in ../musb along with host support 281# musb builds in ../musb along with host support
288config USB_GADGET_MUSB_HDRC 282config USB_GADGET_MUSB_HDRC
289 boolean "Inventra HDRC USB Peripheral (TI, ...)" 283 boolean "Inventra HDRC USB Peripheral (TI, ...)"
290 depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG) 284 depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG)
@@ -294,76 +288,105 @@ config USB_GADGET_MUSB_HDRC
294 This OTG-capable silicon IP is used in dual designs including 288 This OTG-capable silicon IP is used in dual designs including
295 the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010. 289 the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010.
296 290
297config USB_GADGET_OMAP 291config USB_GADGET_M66592
298 boolean "OMAP USB Device Controller" 292 boolean "Renesas M66592 USB Peripheral Controller"
299 depends on ARCH_OMAP 293 select USB_GADGET_DUALSPEED
300 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
301 help 294 help
302 Many Texas Instruments OMAP processors have flexible full 295 M66592 is a discrete USB peripheral controller chip that
303 speed USB device controllers, with support for up to 30 296 supports both full and high speed USB 2.0 data transfers.
304 endpoints (plus endpoint zero). This driver supports the 297 It has seven configurable endpoints, and endpoint zero.
305 controller in the OMAP 1611, and should work with controllers
306 in other OMAP processors too, given minor tweaks.
307 298
308 Say "y" to link the driver statically, or "m" to build a 299 Say "y" to link the driver statically, or "m" to build a
309 dynamically linked module called "omap_udc" and force all 300 dynamically linked module called "m66592_udc" and force all
310 gadget drivers to also be dynamically linked. 301 gadget drivers to also be dynamically linked.
311 302
312config USB_OMAP 303config USB_M66592
313 tristate 304 tristate
314 depends on USB_GADGET_OMAP 305 depends on USB_GADGET_M66592
315 default USB_GADGET 306 default USB_GADGET
316 select USB_GADGET_SELECTED 307 select USB_GADGET_SELECTED
317 308
318config USB_OTG 309config SUPERH_BUILT_IN_M66592
319 boolean "OTG Support" 310 boolean "Enable SuperH built-in USB like the M66592"
320 depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD 311 depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
321 help 312 help
322 The most notable feature of USB OTG is support for a 313 SH7722 has USB like the M66592.
323 "Dual-Role" device, which can act as either a device
324 or a host. The initial role choice can be changed
325 later, when two dual-role devices talk to each other.
326 314
327 Select this only if your OMAP board has a Mini-AB connector. 315 The transfer rate is very slow when use "Ethernet Gadget".
316 However, this problem is improved if change a value of
317 NET_IP_ALIGN to 4.
328 318
329config USB_GADGET_S3C2410 319#
330 boolean "S3C2410 USB Device Controller" 320# Controllers available only in discrete form (and all PCI controllers)
331 depends on ARCH_S3C2410 321#
322
323config USB_GADGET_AMD5536UDC
324 boolean "AMD5536 UDC"
325 depends on PCI
326 select USB_GADGET_DUALSPEED
332 help 327 help
333 Samsung's S3C2410 is an ARM-4 processor with an integrated 328 The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
334 full speed USB 1.1 device controller. It has 4 configurable 329 It is a USB Highspeed DMA capable USB device controller. Beside ep0
335 endpoints, as well as endpoint zero (for control transfers). 330 it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
331 The UDC port supports OTG operation, and may be used as a host port
332 if it's not being used to implement peripheral or OTG roles.
336 333
337 This driver has been tested on the S3C2410, S3C2412, and 334 Say "y" to link the driver statically, or "m" to build a
338 S3C2440 processors. 335 dynamically linked module called "amd5536udc" and force all
336 gadget drivers to also be dynamically linked.
339 337
340config USB_S3C2410 338config USB_AMD5536UDC
341 tristate 339 tristate
342 depends on USB_GADGET_S3C2410 340 depends on USB_GADGET_AMD5536UDC
343 default USB_GADGET 341 default USB_GADGET
344 select USB_GADGET_SELECTED 342 select USB_GADGET_SELECTED
345 343
346config USB_S3C2410_DEBUG 344config USB_GADGET_NET2280
347 boolean "S3C2410 udc debug messages" 345 boolean "NetChip 228x"
348 depends on USB_GADGET_S3C2410 346 depends on PCI
347 select USB_GADGET_DUALSPEED
348 help
349 NetChip 2280 / 2282 is a PCI based USB peripheral controller which
350 supports both full and high speed USB 2.0 data transfers.
349 351
350config USB_GADGET_AT91 352 It has six configurable endpoints, as well as endpoint zero
351 boolean "AT91 USB Device Port" 353 (for control transfers) and several endpoints with dedicated
352 depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 354 functions.
355
356 Say "y" to link the driver statically, or "m" to build a
357 dynamically linked module called "net2280" and force all
358 gadget drivers to also be dynamically linked.
359
360config USB_NET2280
361 tristate
362 depends on USB_GADGET_NET2280
363 default USB_GADGET
353 select USB_GADGET_SELECTED 364 select USB_GADGET_SELECTED
365
366config USB_GADGET_GOKU
367 boolean "Toshiba TC86C001 'Goku-S'"
368 depends on PCI
354 help 369 help
355 Many Atmel AT91 processors (such as the AT91RM2000) have a 370 The Toshiba TC86C001 is a PCI device which includes controllers
356 full speed USB Device Port with support for five configurable 371 for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
357 endpoints (plus endpoint zero). 372
373 The device controller has three configurable (bulk or interrupt)
374 endpoints, plus endpoint zero (for control transfers).
358 375
359 Say "y" to link the driver statically, or "m" to build a 376 Say "y" to link the driver statically, or "m" to build a
360 dynamically linked module called "at91_udc" and force all 377 dynamically linked module called "goku_udc" and to force all
361 gadget drivers to also be dynamically linked. 378 gadget drivers to also be dynamically linked.
362 379
363config USB_AT91 380config USB_GOKU
364 tristate 381 tristate
365 depends on USB_GADGET_AT91 382 depends on USB_GADGET_GOKU
366 default USB_GADGET 383 default USB_GADGET
384 select USB_GADGET_SELECTED
385
386
387#
388# LAST -- dummy/emulated controller
389#
367 390
368config USB_GADGET_DUMMY_HCD 391config USB_GADGET_DUMMY_HCD
369 boolean "Dummy HCD (DEVELOPMENT)" 392 boolean "Dummy HCD (DEVELOPMENT)"