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