diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-08-14 20:04:48 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-17 17:40:52 -0400 |
commit | a7a19fac8a9fbc0182fb1b464848a31529c39433 (patch) | |
tree | 07bfe7ff198fddd9fdd235ae8a4ffced6e855f30 /drivers/usb/gadget | |
parent | 27140219373327f2291da5d74a78db0105b15060 (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>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/Kconfig | 265 |
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 | # | ||
88 | choice | 95 | choice |
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 | ||
97 | config USB_GADGET_AMD5536UDC | 104 | # |
98 | boolean "AMD5536 UDC" | 105 | # Integrated controllers |
99 | depends on PCI | 106 | # |
100 | select USB_GADGET_DUALSPEED | 107 | |
108 | config 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 | ||
112 | config USB_AMD5536UDC | 121 | config 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 | ||
118 | config USB_GADGET_ATMEL_USBA | 126 | config 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 | ||
153 | config USB_GADGET_NET2280 | 161 | config 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 | 167 | config 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 | |||
173 | config 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 | ||
169 | config USB_NET2280 | 188 | config 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 | ||
194 | config 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 | |||
175 | config USB_GADGET_PXA25X | 205 | config 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 | ||
206 | config 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 | |||
218 | config USB_M66592 | ||
219 | tristate | ||
220 | depends on USB_GADGET_M66592 | ||
221 | default USB_GADGET | ||
222 | select USB_GADGET_SELECTED | ||
223 | |||
224 | config 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 | |||
234 | config USB_GADGET_PXA27X | 236 | config 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 | ||
254 | config USB_GADGET_GOKU | 256 | config 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 | ||
268 | config USB_GOKU | 267 | config 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 | ||
273 | config USB_S3C2410_DEBUG | ||
274 | boolean "S3C2410 udc debug messages" | ||
275 | depends on USB_GADGET_S3C2410 | ||
274 | 276 | ||
275 | config 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 | |||
281 | config 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 |
288 | config USB_GADGET_MUSB_HDRC | 282 | config 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 | ||
297 | config USB_GADGET_OMAP | 291 | config 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 | ||
312 | config USB_OMAP | 303 | config 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 | ||
318 | config USB_OTG | 309 | config 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 | ||
329 | config 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 | |||
323 | config 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 | ||
340 | config USB_S3C2410 | 338 | config 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 | ||
346 | config USB_S3C2410_DEBUG | 344 | config 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 | ||
350 | config 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 | |||
360 | config 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 | |||
366 | config 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 | ||
363 | config USB_AT91 | 380 | config 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 | ||
368 | config USB_GADGET_DUMMY_HCD | 391 | config USB_GADGET_DUMMY_HCD |
369 | boolean "Dummy HCD (DEVELOPMENT)" | 392 | boolean "Dummy HCD (DEVELOPMENT)" |