rMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[linux-2.6-microblaze.git] / drivers / usb / host / Kconfig
1 #
2 # USB Host Controller Drivers
3 #
4 comment "USB Host Controller Drivers"
5
6 config USB_C67X00_HCD
7         tristate "Cypress C67x00 HCD support"
8         depends on HAS_IOMEM
9         help
10           The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
11           host/peripheral/OTG USB controllers.
12
13           Enable this option to support this chip in host controller mode.
14           If unsure, say N.
15
16           To compile this driver as a module, choose M here: the
17           module will be called c67x00.
18
19 config USB_XHCI_HCD
20         tristate "xHCI HCD (USB 3.0) support"
21         depends on HAS_DMA && HAS_IOMEM
22         ---help---
23           The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
24           "SuperSpeed" host controller hardware.
25
26           To compile this driver as a module, choose M here: the
27           module will be called xhci-hcd.
28
29 if USB_XHCI_HCD
30 config USB_XHCI_DBGCAP
31         bool "xHCI support for debug capability"
32         depends on TTY
33         ---help---
34           Say 'Y' to enable the support for the xHCI debug capability. Make
35           sure that your xHCI host supports the extended debug capability and
36           you want a TTY serial device based on the xHCI debug capability
37           before enabling this option. If unsure, say 'N'.
38
39 config USB_XHCI_PCI
40        tristate
41        depends on USB_PCI
42        default y
43
44 config USB_XHCI_PLATFORM
45         tristate "Generic xHCI driver for a platform device"
46         select USB_XHCI_RCAR if ARCH_RENESAS
47         ---help---
48           Adds an xHCI host driver for a generic platform device, which
49           provides a memory space and an irq.
50           It is also a prerequisite for platform specific drivers that
51           implement some extra quirks.
52
53           If unsure, say N.
54
55 config USB_XHCI_MTK
56         tristate "xHCI support for MediaTek SoCs"
57         select MFD_SYSCON
58         depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
59         ---help---
60           Say 'Y' to enable the support for the xHCI host controller
61           found in MediaTek SoCs.
62           If unsure, say N.
63
64 config USB_XHCI_MVEBU
65         tristate "xHCI support for Marvell Armada 375/38x"
66         select USB_XHCI_PLATFORM
67         depends on HAS_IOMEM
68         depends on ARCH_MVEBU || COMPILE_TEST
69         ---help---
70           Say 'Y' to enable the support for the xHCI host controller
71           found in Marvell Armada 375/38x ARM SOCs.
72
73 config USB_XHCI_RCAR
74         tristate "xHCI support for Renesas R-Car SoCs"
75         depends on USB_XHCI_PLATFORM
76         depends on ARCH_RENESAS || COMPILE_TEST
77         ---help---
78           Say 'Y' to enable the support for the xHCI host controller
79           found in Renesas R-Car ARM SoCs.
80
81 config USB_XHCI_TEGRA
82         tristate "xHCI support for NVIDIA Tegra SoCs"
83         depends on PHY_TEGRA_XUSB
84         depends on RESET_CONTROLLER
85         select FW_LOADER
86         ---help---
87           Say 'Y' to enable the support for the xHCI host controller
88           found in NVIDIA Tegra124 and later SoCs.
89
90 endif # USB_XHCI_HCD
91
92 config USB_EHCI_HCD
93         tristate "EHCI HCD (USB 2.0) support"
94         depends on HAS_DMA && HAS_IOMEM
95         ---help---
96           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
97           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
98           If your USB host controller supports USB 2.0, you will likely want to
99           configure this Host Controller Driver.
100
101           EHCI controllers are packaged with "companion" host controllers (OHCI
102           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
103           will connect to EHCI if the device is high speed, otherwise they
104           connect to a companion controller.  If you configure EHCI, you should
105           probably configure the OHCI (for NEC and some other vendors) USB Host
106           Controller Driver or UHCI (for Via motherboards) Host Controller
107           Driver too.
108
109           You may want to read <file:Documentation/usb/ehci.txt>.
110
111           To compile this driver as a module, choose M here: the
112           module will be called ehci-hcd.
113
114 config USB_EHCI_ROOT_HUB_TT
115         bool "Root Hub Transaction Translators"
116         depends on USB_EHCI_HCD
117         ---help---
118           Some EHCI chips have vendor-specific extensions to integrate
119           transaction translators, so that no OHCI or UHCI companion
120           controller is needed.  It's safe to say "y" even if your
121           controller doesn't support this feature.
122
123           This supports the EHCI implementation that's originally
124           from ARC, and has since changed hands a few times.
125
126 config USB_EHCI_TT_NEWSCHED
127         bool "Improved Transaction Translator scheduling"
128         depends on USB_EHCI_HCD
129         default y
130         ---help---
131           This changes the periodic scheduling code to fill more of the low
132           and full speed bandwidth available from the Transaction Translator
133           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
134           issued in each microframe, significantly reducing the number of
135           periodic low/fullspeed transfers possible.
136
137           If you have multiple periodic low/fullspeed devices connected to a
138           highspeed USB hub which is connected to a highspeed USB Host
139           Controller, and some of those devices will not work correctly
140           (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
141           you have only one such device and it doesn't work, you could try
142           saying N.
143
144           If unsure, say Y.
145
146 if USB_EHCI_HCD
147
148 config USB_EHCI_PCI
149         tristate
150         depends on USB_PCI
151         default y
152
153 config USB_EHCI_HCD_PMC_MSP
154         tristate "EHCI support for on-chip PMC MSP71xx USB controller"
155         depends on MSP_HAS_USB
156         default n
157         select USB_EHCI_BIG_ENDIAN_DESC
158         select USB_EHCI_BIG_ENDIAN_MMIO
159         ---help---
160                 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
161                 If unsure, say N.
162
163 config XPS_USB_HCD_XILINX
164         bool "Use Xilinx usb host EHCI controller core"
165         depends on (PPC32 || MICROBLAZE)
166         select USB_EHCI_BIG_ENDIAN_DESC
167         select USB_EHCI_BIG_ENDIAN_MMIO
168         ---help---
169                 Xilinx xps USB host controller core is EHCI compliant and has
170                 transaction translator built-in. It can be configured to either
171                 support both high speed and full speed devices, or high speed
172                 devices only.
173
174 config USB_EHCI_FSL
175         tristate "Support for Freescale PPC on-chip EHCI USB controller"
176         depends on FSL_SOC
177         select USB_EHCI_ROOT_HUB_TT
178         ---help---
179           Variation of ARC USB block used in some Freescale chips.
180
181 config USB_EHCI_MXC
182         tristate "Support for Freescale i.MX on-chip EHCI USB controller"
183         depends on ARCH_MXC
184         select USB_EHCI_ROOT_HUB_TT
185         ---help---
186           Variation of ARC USB block used in some Freescale chips.
187
188 config USB_EHCI_HCD_OMAP
189         tristate "EHCI support for OMAP3 and later chips"
190         depends on ARCH_OMAP
191         depends on NOP_USB_XCEIV
192         default y
193         ---help---
194           Enables support for the on-chip EHCI controller on
195           OMAP3 and later chips.
196
197 config USB_EHCI_HCD_ORION
198         tristate  "Support for Marvell EBU on-chip EHCI USB controller"
199         depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU)
200         default y
201         ---help---
202           Enables support for the on-chip EHCI controller on Marvell's
203           embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
204           Armada 370.  This is different from the EHCI implementation
205           on Marvell's mobile PXA and MMP SoC, see "EHCI support for
206           Marvell PXA/MMP USB controller" for those.
207
208 config USB_EHCI_HCD_SPEAR
209         tristate "Support for ST SPEAr on-chip EHCI USB controller"
210         depends on USB_EHCI_HCD && PLAT_SPEAR
211         default y
212         ---help---
213           Enables support for the on-chip EHCI controller on
214           ST SPEAr chips.
215
216 config USB_EHCI_HCD_STI
217         tristate "Support for ST STiHxxx on-chip EHCI USB controller"
218         depends on ARCH_STI && OF
219         select GENERIC_PHY
220         select USB_EHCI_HCD_PLATFORM
221         help
222           Enable support for the on-chip EHCI controller found on
223           STMicroelectronics consumer electronics SoC's.
224
225 config USB_EHCI_HCD_AT91
226         tristate  "Support for Atmel on-chip EHCI USB controller"
227         depends on USB_EHCI_HCD && ARCH_AT91
228         default y
229         ---help---
230           Enables support for the on-chip EHCI controller on
231           Atmel chips.
232
233 config USB_EHCI_TEGRA
234        tristate "NVIDIA Tegra HCD support"
235        depends on ARCH_TEGRA
236        select USB_EHCI_ROOT_HUB_TT
237        select USB_PHY
238         select USB_ULPI
239         select USB_ULPI_VIEWPORT
240        help
241          This driver enables support for the internal USB Host Controllers
242          found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
243
244 config USB_EHCI_HCD_PPC_OF
245         bool "EHCI support for PPC USB controller on OF platform bus"
246         depends on PPC
247         default y
248         ---help---
249           Enables support for the USB controller present on the PowerPC
250           OpenFirmware platform bus.
251
252 config USB_EHCI_SH
253         bool "EHCI support for SuperH USB controller"
254         depends on SUPERH
255         ---help---
256           Enables support for the on-chip EHCI controller on the SuperH.
257           If you use the PCI EHCI controller, this option is not necessary.
258
259 config USB_EHCI_EXYNOS
260        tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
261        depends on ARCH_S5PV210 || ARCH_EXYNOS
262        help
263         Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
264
265 config USB_EHCI_MV
266         bool "EHCI support for Marvell PXA/MMP USB controller"
267         depends on (ARCH_PXA || ARCH_MMP)
268         select USB_EHCI_ROOT_HUB_TT
269         ---help---
270           Enables support for Marvell (including PXA and MMP series) on-chip
271           USB SPH and OTG controller. SPH is a single port host, and it can
272           only be EHCI host. OTG is controller that can switch to host mode.
273           Note that this driver will not work on Marvell's other EHCI
274           controller used by the EBU-type SoCs including Orion, Kirkwood,
275           Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
276           on-chip EHCI USB controller" for those.
277
278 config USB_W90X900_EHCI
279         tristate "W90X900(W90P910) EHCI support"
280         depends on ARCH_W90X900
281         ---help---
282                 Enables support for the W90X900 USB controller
283
284 config USB_CNS3XXX_EHCI
285         bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
286         depends on ARCH_CNS3XXX
287         select USB_EHCI_HCD_PLATFORM
288         ---help---
289           This option is deprecated now and the driver was removed, use
290           USB_EHCI_HCD_PLATFORM instead.
291
292           Enable support for the CNS3XXX SOC's on-chip EHCI controller.
293           It is needed for high-speed (480Mbit/sec) USB 2.0 device
294           support.
295
296 config USB_EHCI_HCD_PLATFORM
297         tristate "Generic EHCI driver for a platform device"
298         default n
299         ---help---
300           Adds an EHCI host driver for a generic platform device, which
301           provides a memory space and an irq.
302
303           If unsure, say N.
304
305 config USB_OCTEON_EHCI
306         bool "Octeon on-chip EHCI support (DEPRECATED)"
307         depends on CAVIUM_OCTEON_SOC
308         default n
309         select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
310         select USB_EHCI_HCD_PLATFORM
311         help
312           This option is deprecated now and the driver was removed, use
313           USB_EHCI_HCD_PLATFORM instead.
314
315           Enable support for the Octeon II SOC's on-chip EHCI
316           controller.  It is needed for high-speed (480Mbit/sec)
317           USB 2.0 device support.  All CN6XXX based chips with USB are
318           supported.
319
320 endif # USB_EHCI_HCD
321
322 config USB_OXU210HP_HCD
323         tristate "OXU210HP HCD support"
324         depends on HAS_IOMEM
325         ---help---
326           The OXU210HP is an USB host/OTG/device controller. Enable this
327           option if your board has this chip. If unsure, say N.
328
329           This driver does not support isochronous transfers and doesn't
330           implement OTG nor USB device controllers.
331
332           To compile this driver as a module, choose M here: the
333           module will be called oxu210hp-hcd.
334
335 config USB_ISP116X_HCD
336         tristate "ISP116X HCD support"
337         depends on HAS_IOMEM
338         ---help---
339           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
340           option if your board has this chip. If unsure, say N.
341
342           This driver does not support isochronous transfers.
343
344           To compile this driver as a module, choose M here: the
345           module will be called isp116x-hcd.
346
347 config USB_ISP1362_HCD
348         tristate "ISP1362 HCD support"
349         depends on HAS_IOMEM
350         depends on COMPILE_TEST # nothing uses this
351         ---help---
352           Supports the Philips ISP1362 chip as a host controller
353
354           This driver does not support isochronous transfers.
355
356           To compile this driver as a module, choose M here: the
357           module will be called isp1362-hcd.
358
359 config USB_FOTG210_HCD
360         tristate "FOTG210 HCD support"
361         depends on USB && HAS_DMA && HAS_IOMEM
362         ---help---
363           Faraday FOTG210 is an OTG controller which can be configured as
364           an USB2.0 host. It is designed to meet USB2.0 EHCI specification
365           with minor modification.
366
367           To compile this driver as a module, choose M here: the
368           module will be called fotg210-hcd.
369
370 config USB_MAX3421_HCD
371         tristate "MAX3421 HCD (USB-over-SPI) support"
372         depends on USB && SPI
373         ---help---
374           The Maxim MAX3421E chip supports standard USB 2.0-compliant
375           full-speed devices either in host or peripheral mode.  This
376           driver supports the host-mode of the MAX3421E only.
377
378           To compile this driver as a module, choose M here: the module will
379           be called max3421-hcd.
380
381 config USB_OHCI_HCD
382         tristate "OHCI HCD (USB 1.1) support"
383         depends on HAS_DMA && HAS_IOMEM
384         ---help---
385           The Open Host Controller Interface (OHCI) is a standard for accessing
386           USB 1.1 host controller hardware.  It does more in hardware than Intel's
387           UHCI specification.  If your USB host controller follows the OHCI spec,
388           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
389           USB controller from Intel or VIA, this is appropriate.  If your host
390           controller doesn't use PCI, this is probably appropriate.  For a PCI
391           based system where you're not sure, the "lspci -v" entry will list the
392           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
393
394           To compile this driver as a module, choose M here: the
395           module will be called ohci-hcd.
396
397 if USB_OHCI_HCD
398
399 config USB_OHCI_HCD_OMAP1
400         tristate "OHCI support for OMAP1/2 chips"
401         depends on ARCH_OMAP1
402         depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
403         default y
404         ---help---
405           Enables support for the OHCI controller on OMAP1/2 chips.
406
407 config USB_OHCI_HCD_SPEAR
408         tristate "Support for ST SPEAr on-chip OHCI USB controller"
409         depends on USB_OHCI_HCD && PLAT_SPEAR
410         default y
411         ---help---
412           Enables support for the on-chip OHCI controller on
413           ST SPEAr chips.
414
415 config USB_OHCI_HCD_STI
416         tristate "Support for ST STiHxxx on-chip OHCI USB controller"
417         depends on ARCH_STI && OF
418         select GENERIC_PHY
419         select USB_OHCI_HCD_PLATFORM
420         help
421           Enable support for the on-chip OHCI controller found on
422           STMicroelectronics consumer electronics SoC's.
423
424 config USB_OHCI_HCD_S3C2410
425         tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
426         depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
427         default y
428         ---help---
429           Enables support for the on-chip OHCI controller on
430           S3C24xx/S3C64xx chips.
431
432 config USB_OHCI_HCD_LPC32XX
433         tristate "Support for LPC on-chip OHCI USB controller"
434         depends on USB_OHCI_HCD && ARCH_LPC32XX
435         depends on USB_ISP1301
436         default y
437         ---help---
438           Enables support for the on-chip OHCI controller on
439           NXP chips.
440
441 config USB_OHCI_HCD_PXA27X
442         tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
443         depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
444         default y
445         ---help---
446           Enables support for the on-chip OHCI controller on
447           PXA27x/PXA3xx chips.
448
449 config USB_OHCI_HCD_AT91
450         tristate "Support for Atmel on-chip OHCI USB controller"
451         depends on USB_OHCI_HCD && ARCH_AT91 && OF
452         default y
453         ---help---
454           Enables support for the on-chip OHCI controller on
455           Atmel chips.
456
457 config USB_OHCI_HCD_OMAP3
458         tristate "OHCI support for OMAP3 and later chips"
459         depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5)
460         select USB_OHCI_HCD_PLATFORM
461         default y
462         help
463           This option is deprecated now and the driver was removed, use
464           USB_OHCI_HCD_PLATFORM instead.
465
466           Enables support for the on-chip OHCI controller on
467           OMAP3 and later chips.
468
469 config USB_OHCI_HCD_DAVINCI
470         tristate "OHCI support for TI DaVinci DA8xx"
471         depends on ARCH_DAVINCI_DA8XX
472         depends on USB_OHCI_HCD
473         select PHY_DA8XX_USB
474         default y
475         help
476           Enables support for the DaVinci DA8xx integrated OHCI
477           controller. This driver cannot currently be a loadable
478           module because it lacks a proper PHY abstraction.
479
480 config USB_OHCI_HCD_PPC_OF_BE
481         bool "OHCI support for OF platform bus (big endian)"
482         depends on PPC
483         select USB_OHCI_BIG_ENDIAN_DESC
484         select USB_OHCI_BIG_ENDIAN_MMIO
485         ---help---
486           Enables support for big-endian USB controllers present on the
487           OpenFirmware platform bus.
488
489 config USB_OHCI_HCD_PPC_OF_LE
490         bool "OHCI support for OF platform bus (little endian)"
491         depends on PPC
492         select USB_OHCI_LITTLE_ENDIAN
493         ---help---
494           Enables support for little-endian USB controllers present on the
495           OpenFirmware platform bus.
496
497 config USB_OHCI_HCD_PPC_OF
498         bool
499         depends on PPC
500         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
501
502 config USB_OHCI_HCD_PCI
503         tristate "OHCI support for PCI-bus USB controllers"
504         depends on USB_PCI
505         default y
506         select USB_OHCI_LITTLE_ENDIAN
507         ---help---
508           Enables support for PCI-bus plug-in USB controller cards.
509           If unsure, say Y.
510
511 config USB_OHCI_HCD_SSB
512         bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
513         depends on (SSB = y || SSB = USB_OHCI_HCD)
514         select USB_HCD_SSB
515         select USB_OHCI_HCD_PLATFORM
516         default n
517         ---help---
518           This option is deprecated now and the driver was removed, use
519           USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
520
521           Support for the Sonics Silicon Backplane (SSB) attached
522           Broadcom USB OHCI core.
523
524           This device is present in some embedded devices with
525           Broadcom based SSB bus.
526
527           If unsure, say N.
528
529 config USB_OHCI_SH
530         bool "OHCI support for SuperH USB controller (DEPRECATED)"
531         depends on SUPERH
532         select USB_OHCI_HCD_PLATFORM
533         ---help---
534           This option is deprecated now and the driver was removed, use
535           USB_OHCI_HCD_PLATFORM instead.
536
537           Enables support for the on-chip OHCI controller on the SuperH.
538           If you use the PCI OHCI controller, this option is not necessary.
539
540 config USB_OHCI_EXYNOS
541         tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
542         depends on ARCH_S5PV210 || ARCH_EXYNOS
543         help
544          Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
545
546 config USB_CNS3XXX_OHCI
547         bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
548         depends on ARCH_CNS3XXX
549         select USB_OHCI_HCD_PLATFORM
550         ---help---
551           This option is deprecated now and the driver was removed, use
552           USB_OHCI_HCD_PLATFORM instead.
553
554           Enable support for the CNS3XXX SOC's on-chip OHCI controller.
555           It is needed for low-speed USB 1.0 device support.
556
557 config USB_OHCI_HCD_PLATFORM
558         tristate "Generic OHCI driver for a platform device"
559         default n
560         ---help---
561           Adds an OHCI host driver for a generic platform device, which
562           provides a memory space and an irq.
563
564           If unsure, say N.
565
566 config USB_OCTEON_OHCI
567         bool "Octeon on-chip OHCI support (DEPRECATED)"
568         depends on CAVIUM_OCTEON_SOC
569         default USB_OCTEON_EHCI
570         select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
571         select USB_OHCI_LITTLE_ENDIAN
572         select USB_OHCI_HCD_PLATFORM
573         help
574           This option is deprecated now and the driver was removed, use
575           USB_OHCI_HCD_PLATFORM instead.
576
577           Enable support for the Octeon II SOC's on-chip OHCI
578           controller.  It is needed for low-speed USB 1.0 device
579           support.  All CN6XXX based chips with USB are supported.
580
581 endif # USB_OHCI_HCD
582
583 config USB_UHCI_HCD
584         tristate "UHCI HCD (most Intel and VIA) support"
585         depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
586         ---help---
587           The Universal Host Controller Interface is a standard by Intel for
588           accessing the USB hardware in the PC (which is also called the USB
589           host controller). If your USB host controller conforms to this
590           standard, you may want to say Y, but see below. All recent boards
591           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
592           i810, i820) conform to this standard. Also all VIA PCI chipsets
593           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
594           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
595           If unsure, say Y.
596
597           To compile this driver as a module, choose M here: the
598           module will be called uhci-hcd.
599
600 config USB_UHCI_SUPPORT_NON_PCI_HC
601         bool
602         default y if (SPARC_LEON || USB_UHCI_PLATFORM)
603
604 config USB_UHCI_PLATFORM
605         bool
606         default y if (ARCH_VT8500 || ARCH_ASPEED)
607
608 config USB_UHCI_ASPEED
609        bool
610        default y if ARCH_ASPEED
611
612 config USB_FHCI_HCD
613         tristate "Freescale QE USB Host Controller support"
614         depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
615         select FSL_GTM
616         select QE_USB
617         help
618           This driver enables support for Freescale QE USB Host Controller
619           (as found on MPC8360 and MPC8323 processors), the driver supports
620           Full and Low Speed USB.
621
622 config FHCI_DEBUG
623         bool "Freescale QE USB Host Controller debug support"
624         depends on USB_FHCI_HCD && DEBUG_FS
625         help
626           Say "y" to see some FHCI debug information and statistics
627           through debugfs.
628
629 config USB_U132_HCD
630         tristate "Elan U132 Adapter Host Controller"
631         depends on USB_FTDI_ELAN
632         help
633           The U132 adapter is a USB to CardBus adapter specifically designed
634           for PC cards that contain an OHCI host controller. Typical PC cards
635           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
636           adapter will *NOT* work with PC cards that do not contain an OHCI
637           controller.
638
639           For those PC cards that contain multiple OHCI controllers only the
640           first one is used.
641
642           The driver consists of two modules, the "ftdi-elan" module is a
643           USB client driver that interfaces to the FTDI chip within ELAN's
644           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
645           controller driver that talks to the OHCI controller within the
646           CardBus cards that are inserted in the U132 adapter.
647
648           This driver has been tested with a CardBus OHCI USB adapter, and
649           worked with a USB PEN Drive inserted into the first USB port of
650           the PCCARD. A rather pointless thing to do, but useful for testing.
651
652           It is safe to say M here.
653
654           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
655
656 config USB_SL811_HCD
657         tristate "SL811HS HCD support"
658         depends on HAS_IOMEM
659         help
660           The SL811HS is a single-port USB controller that supports either
661           host side or peripheral side roles.  Enable this option if your
662           board has this chip, and you want to use it as a host controller. 
663           If unsure, say N.
664
665           To compile this driver as a module, choose M here: the
666           module will be called sl811-hcd.
667
668 config USB_SL811_HCD_ISO
669         bool "partial ISO support"
670         depends on USB_SL811_HCD
671         help
672           The driver doesn't support iso_frame_desc (yet), but for some simple
673           devices that just queue one ISO frame per URB, then ISO transfers
674           "should" work using the normal urb status fields.
675
676           If unsure, say N.
677
678 config USB_SL811_CS
679         tristate "CF/PCMCIA support for SL811HS HCD"
680         depends on USB_SL811_HCD && PCMCIA
681         help
682           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
683           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
684
685           To compile this driver as a module, choose M here: the
686           module will be called "sl811_cs".
687
688 config USB_R8A66597_HCD
689         tristate "R8A66597 HCD support"
690         depends on HAS_IOMEM
691         help
692           The R8A66597 is a USB 2.0 host and peripheral controller.
693
694           Enable this option if your board has this chip, and you want
695           to use it as a host controller.  If unsure, say N.
696
697           To compile this driver as a module, choose M here: the
698           module will be called r8a66597-hcd.
699
700 config USB_RENESAS_USBHS_HCD
701         tristate "Renesas USBHS HCD support"
702         depends on USB_RENESAS_USBHS
703         help
704           The Renesas USBHS is a USB 2.0 host and peripheral controller.
705
706           Enable this option if your board has this chip, and you want
707           to use it as a host controller.  If unsure, say N.
708
709           To compile this driver as a module, choose M here: the
710           module will be called renesas-usbhs.
711
712 config USB_WHCI_HCD
713         tristate "Wireless USB Host Controller Interface (WHCI) driver"
714         depends on USB_PCI && USB && UWB
715         select USB_WUSB
716         select UWB_WHCI
717         help
718           A driver for PCI-based Wireless USB Host Controllers that are
719           compliant with the WHCI specification.
720
721           To compile this driver a module, choose M here: the module
722           will be called "whci-hcd".
723
724 config USB_HWA_HCD
725         tristate "Host Wire Adapter (HWA) driver"
726         depends on USB && UWB
727         select USB_WUSB
728         select UWB_HWA
729         help
730           This driver enables you to connect Wireless USB devices to
731           your system using a Host Wire Adaptor USB dongle. This is an
732           UWB Radio Controller and WUSB Host Controller connected to
733           your machine via USB (specified in WUSB1.0).
734
735           To compile this driver a module, choose M here: the module
736           will be called "hwa-hc".
737
738 config USB_IMX21_HCD
739        tristate "i.MX21 HCD support"
740        depends on ARM && ARCH_MXC
741        help
742          This driver enables support for the on-chip USB host in the
743          i.MX21 processor.
744
745          To compile this driver as a module, choose M here: the
746          module will be called "imx21-hcd".
747
748 config USB_HCD_BCMA
749         tristate "BCMA usb host driver"
750         depends on BCMA
751         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
752         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
753         help
754           Enable support for the EHCI and OCHI host controller on an bcma bus.
755           It converts the bcma driver into two platform device drivers
756           for ehci and ohci.
757
758           If unsure, say N.
759
760 config USB_HCD_SSB
761         tristate "SSB usb host driver"
762         depends on SSB
763         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
764         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
765         help
766           Enable support for the EHCI and OCHI host controller on an bcma bus.
767           It converts the bcma driver into two platform device drivers
768           for ehci and ohci.
769
770           If unsure, say N.
771
772 config USB_HCD_TEST_MODE
773         bool "HCD test mode support"
774         ---help---
775           Say 'Y' to enable additional software test modes that may be
776           supported by the host controller drivers.
777
778           One such test mode is the Embedded High-speed Host Electrical Test
779           (EHSET) for EHCI host controller hardware, specifically the "Single
780           Step Set Feature" test.  Typically this will be enabled for On-the-Go
781           or embedded hosts that need to undergo USB-IF compliance testing with
782           the aid of special testing hardware.  In the future, this may expand
783           to include other tests that require support from a HCD driver.
784
785           This option is of interest only to developers who need to validate
786           their USB hardware designs.  It is not needed for normal use.  If
787           unsure, say N.