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