Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[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
36
37 config USB_XHCI_MVEBU
38         tristate "xHCI support for Marvell Armada 375/38x"
39         select USB_XHCI_PLATFORM
40         depends on ARCH_MVEBU || COMPILE_TEST
41         ---help---
42           Say 'Y' to enable the support for the xHCI host controller
43           found in Marvell Armada 375/38x ARM SOCs.
44
45 config USB_XHCI_RCAR
46         tristate "xHCI support for Renesas R-Car SoCs"
47         select USB_XHCI_PLATFORM
48         depends on ARCH_SHMOBILE || COMPILE_TEST
49         ---help---
50           Say 'Y' to enable the support for the xHCI host controller
51           found in Renesas R-Car ARM SoCs.
52
53 endif # USB_XHCI_HCD
54
55 config USB_EHCI_HCD
56         tristate "EHCI HCD (USB 2.0) support"
57         ---help---
58           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
59           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
60           If your USB host controller supports USB 2.0, you will likely want to
61           configure this Host Controller Driver.
62
63           EHCI controllers are packaged with "companion" host controllers (OHCI
64           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
65           will connect to EHCI if the device is high speed, otherwise they
66           connect to a companion controller.  If you configure EHCI, you should
67           probably configure the OHCI (for NEC and some other vendors) USB Host
68           Controller Driver or UHCI (for Via motherboards) Host Controller
69           Driver too.
70
71           You may want to read <file:Documentation/usb/ehci.txt>.
72
73           To compile this driver as a module, choose M here: the
74           module will be called ehci-hcd.
75
76 config USB_EHCI_ROOT_HUB_TT
77         bool "Root Hub Transaction Translators"
78         depends on USB_EHCI_HCD
79         ---help---
80           Some EHCI chips have vendor-specific extensions to integrate
81           transaction translators, so that no OHCI or UHCI companion
82           controller is needed.  It's safe to say "y" even if your
83           controller doesn't support this feature.
84
85           This supports the EHCI implementation that's originally
86           from ARC, and has since changed hands a few times.
87
88 config USB_EHCI_TT_NEWSCHED
89         bool "Improved Transaction Translator scheduling"
90         depends on USB_EHCI_HCD
91         default y
92         ---help---
93           This changes the periodic scheduling code to fill more of the low
94           and full speed bandwidth available from the Transaction Translator
95           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
96           issued in each microframe, significantly reducing the number of
97           periodic low/fullspeed transfers possible.
98
99           If you have multiple periodic low/fullspeed devices connected to a
100           highspeed USB hub which is connected to a highspeed USB Host
101           Controller, and some of those devices will not work correctly
102           (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
103           you have only one such device and it doesn't work, you could try
104           saying N.
105
106           If unsure, say Y.
107
108 config USB_FSL_MPH_DR_OF
109         tristate
110
111 if USB_EHCI_HCD
112
113 config USB_EHCI_PCI
114         tristate
115         depends on PCI
116         default y
117
118 config USB_EHCI_HCD_PMC_MSP
119         tristate "EHCI support for on-chip PMC MSP71xx USB controller"
120         depends on MSP_HAS_USB
121         default n
122         select USB_EHCI_BIG_ENDIAN_DESC
123         select USB_EHCI_BIG_ENDIAN_MMIO
124         ---help---
125                 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
126                 If unsure, say N.
127
128 config XPS_USB_HCD_XILINX
129         bool "Use Xilinx usb host EHCI controller core"
130         depends on (PPC32 || MICROBLAZE)
131         select USB_EHCI_BIG_ENDIAN_DESC
132         select USB_EHCI_BIG_ENDIAN_MMIO
133         ---help---
134                 Xilinx xps USB host controller core is EHCI compliant and has
135                 transaction translator built-in. It can be configured to either
136                 support both high speed and full speed devices, or high speed
137                 devices only.
138
139 config USB_EHCI_FSL
140         bool "Support for Freescale PPC on-chip EHCI USB controller"
141         depends on FSL_SOC
142         select USB_EHCI_ROOT_HUB_TT
143         select USB_FSL_MPH_DR_OF if OF
144         ---help---
145           Variation of ARC USB block used in some Freescale chips.
146
147 config USB_EHCI_MXC
148         tristate "Support for Freescale i.MX on-chip EHCI USB controller"
149         depends on ARCH_MXC
150         select USB_EHCI_ROOT_HUB_TT
151         ---help---
152           Variation of ARC USB block used in some Freescale chips.
153
154 config USB_EHCI_HCD_OMAP
155         tristate "EHCI support for OMAP3 and later chips"
156         depends on ARCH_OMAP
157         select NOP_USB_XCEIV
158         default y
159         ---help---
160           Enables support for the on-chip EHCI controller on
161           OMAP3 and later chips.
162
163 config USB_EHCI_HCD_ORION
164         tristate  "Support for Marvell EBU on-chip EHCI USB controller"
165         depends on USB_EHCI_HCD && PLAT_ORION
166         default y
167         ---help---
168           Enables support for the on-chip EHCI controller on Marvell's
169           embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
170           Armada 370.  This is different from the EHCI implementation
171           on Marvell's mobile PXA and MMP SoC, see "EHCI support for
172           Marvell PXA/MMP USB controller" for those.
173
174 config USB_EHCI_HCD_SPEAR
175         tristate "Support for ST SPEAr on-chip EHCI USB controller"
176         depends on USB_EHCI_HCD && PLAT_SPEAR
177         default y
178         ---help---
179           Enables support for the on-chip EHCI controller on
180           ST SPEAr chips.
181
182 config USB_EHCI_HCD_STI
183         tristate "Support for ST STiHxxx on-chip EHCI USB controller"
184         depends on ARCH_STI && OF
185         select GENERIC_PHY
186         select USB_EHCI_HCD_PLATFORM
187         help
188           Enable support for the on-chip EHCI controller found on
189           STMicroelectronics consumer electronics SoC's.
190
191 config USB_EHCI_HCD_AT91
192         tristate  "Support for Atmel on-chip EHCI USB controller"
193         depends on USB_EHCI_HCD && ARCH_AT91
194         default y
195         ---help---
196           Enables support for the on-chip EHCI controller on
197           Atmel chips.
198
199 config USB_EHCI_MSM
200         tristate "Support for Qualcomm QSD/MSM on-chip EHCI USB controller"
201         depends on ARCH_MSM || ARCH_QCOM
202         select USB_EHCI_ROOT_HUB_TT
203         ---help---
204           Enables support for the USB Host controller present on the
205           Qualcomm chipsets. Root Hub has inbuilt TT.
206           This driver depends on OTG driver for PHY initialization,
207           clock management, powering up VBUS, and power management.
208           This driver is not supported on boards like trout which
209           has an external PHY.
210
211 config USB_EHCI_TEGRA
212        tristate "NVIDIA Tegra HCD support"
213        depends on ARCH_TEGRA
214        select USB_EHCI_ROOT_HUB_TT
215        select USB_PHY
216        help
217          This driver enables support for the internal USB Host Controllers
218          found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
219
220 config USB_EHCI_HCD_PPC_OF
221         bool "EHCI support for PPC USB controller on OF platform bus"
222         depends on PPC_OF
223         default y
224         ---help---
225           Enables support for the USB controller present on the PowerPC
226           OpenFirmware platform bus.
227
228 config USB_EHCI_SH
229         bool "EHCI support for SuperH USB controller"
230         depends on SUPERH
231         ---help---
232           Enables support for the on-chip EHCI controller on the SuperH.
233           If you use the PCI EHCI controller, this option is not necessary.
234
235 config USB_EHCI_EXYNOS
236        tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
237        depends on ARCH_S5PV210 || ARCH_EXYNOS
238        help
239         Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
240
241 config USB_EHCI_MV
242         bool "EHCI support for Marvell PXA/MMP USB controller"
243         depends on (ARCH_PXA || ARCH_MMP)
244         select USB_EHCI_ROOT_HUB_TT
245         ---help---
246           Enables support for Marvell (including PXA and MMP series) on-chip
247           USB SPH and OTG controller. SPH is a single port host, and it can
248           only be EHCI host. OTG is controller that can switch to host mode.
249           Note that this driver will not work on Marvell's other EHCI
250           controller used by the EBU-type SoCs including Orion, Kirkwood,
251           Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
252           on-chip EHCI USB controller" for those.
253
254 config USB_W90X900_EHCI
255         tristate "W90X900(W90P910) EHCI support"
256         depends on ARCH_W90X900
257         ---help---
258                 Enables support for the W90X900 USB controller
259
260 config USB_CNS3XXX_EHCI
261         bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
262         depends on ARCH_CNS3XXX
263         select USB_EHCI_HCD_PLATFORM
264         ---help---
265           This option is deprecated now and the driver was removed, use
266           USB_EHCI_HCD_PLATFORM instead.
267
268           Enable support for the CNS3XXX SOC's on-chip EHCI controller.
269           It is needed for high-speed (480Mbit/sec) USB 2.0 device
270           support.
271
272 config USB_EHCI_ATH79
273         bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
274         depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
275         select USB_EHCI_ROOT_HUB_TT
276         select USB_EHCI_HCD_PLATFORM
277         default y
278         ---help---
279           This option is deprecated now and the driver was removed, use
280           USB_EHCI_HCD_PLATFORM instead.
281
282           Enables support for the built-in EHCI controller present
283           on the Atheros AR7XXX/AR9XXX SoCs.
284
285 config USB_EHCI_HCD_PLATFORM
286         tristate "Generic EHCI driver for a platform device"
287         default n
288         ---help---
289           Adds an EHCI host driver for a generic platform device, which
290           provides a memory space and an irq.
291
292           If unsure, say N.
293
294 config USB_OCTEON_EHCI
295         bool "Octeon on-chip EHCI support"
296         depends on CAVIUM_OCTEON_SOC
297         default n
298         select USB_EHCI_BIG_ENDIAN_MMIO
299         help
300           Enable support for the Octeon II SOC's on-chip EHCI
301           controller.  It is needed for high-speed (480Mbit/sec)
302           USB 2.0 device support.  All CN6XXX based chips with USB are
303           supported.
304
305 endif # USB_EHCI_HCD
306
307 config USB_OXU210HP_HCD
308         tristate "OXU210HP HCD support"
309         ---help---
310           The OXU210HP is an USB host/OTG/device controller. Enable this
311           option if your board has this chip. If unsure, say N.
312
313           This driver does not support isochronous transfers and doesn't
314           implement OTG nor USB device controllers.
315
316           To compile this driver as a module, choose M here: the
317           module will be called oxu210hp-hcd.
318
319 config USB_ISP116X_HCD
320         tristate "ISP116X HCD support"
321         ---help---
322           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
323           option if your board has this chip. If unsure, say N.
324
325           This driver does not support isochronous transfers.
326
327           To compile this driver as a module, choose M here: the
328           module will be called isp116x-hcd.
329
330 config USB_ISP1760_HCD
331         tristate "ISP 1760 HCD support"
332         ---help---
333           The ISP1760 chip is a USB 2.0 host controller.
334
335           This driver does not support isochronous transfers or OTG.
336           This USB controller is usually attached to a non-DMA-Master
337           capable bus. NXP's eval kit brings this chip on PCI card
338           where the chip itself is behind a PLB to simulate such
339           a bus.
340
341           To compile this driver as a module, choose M here: the
342           module will be called isp1760.
343
344 config USB_ISP1362_HCD
345         tristate "ISP1362 HCD support"
346         ---help---
347           Supports the Philips ISP1362 chip as a host controller
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 isp1362-hcd.
353
354 config USB_FUSBH200_HCD
355         tristate "FUSBH200 HCD support"
356         depends on USB
357         ---help---
358         Faraday FUSBH200 is designed to meet USB2.0 EHCI specification
359         with minor modification.
360
361         To compile this driver as a module, choose M here: the
362         module will be called fusbh200-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
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_OF
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_OF
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_OF
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"
579         depends on CAVIUM_OCTEON_SOC
580         default USB_OCTEON_EHCI
581         select USB_OHCI_BIG_ENDIAN_MMIO
582         select USB_OHCI_LITTLE_ENDIAN
583         help
584           Enable support for the Octeon II SOC's on-chip OHCI
585           controller.  It is needed for low-speed USB 1.0 device
586           support.  All CN6XXX based chips with USB are supported.
587
588 endif # USB_OHCI_HCD
589
590 config USB_UHCI_HCD
591         tristate "UHCI HCD (most Intel and VIA) support"
592         depends on PCI || USB_UHCI_SUPPORT_NON_PCI_HC
593         ---help---
594           The Universal Host Controller Interface is a standard by Intel for
595           accessing the USB hardware in the PC (which is also called the USB
596           host controller). If your USB host controller conforms to this
597           standard, you may want to say Y, but see below. All recent boards
598           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
599           i810, i820) conform to this standard. Also all VIA PCI chipsets
600           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
601           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
602           If unsure, say Y.
603
604           To compile this driver as a module, choose M here: the
605           module will be called uhci-hcd.
606
607 config USB_UHCI_SUPPORT_NON_PCI_HC
608         bool
609         default y if (SPARC_LEON || USB_UHCI_PLATFORM)
610
611 config USB_UHCI_PLATFORM
612         bool
613         default y if ARCH_VT8500
614
615 config USB_UHCI_BIG_ENDIAN_MMIO
616         bool
617         default y if SPARC_LEON
618
619 config USB_UHCI_BIG_ENDIAN_DESC
620         bool
621         default y if SPARC_LEON
622
623 config USB_FHCI_HCD
624         tristate "Freescale QE USB Host Controller support"
625         depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
626         select FSL_GTM
627         select QE_USB
628         help
629           This driver enables support for Freescale QE USB Host Controller
630           (as found on MPC8360 and MPC8323 processors), the driver supports
631           Full and Low Speed USB.
632
633 config FHCI_DEBUG
634         bool "Freescale QE USB Host Controller debug support"
635         depends on USB_FHCI_HCD && DEBUG_FS
636         help
637           Say "y" to see some FHCI debug information and statistics
638           through debugfs.
639
640 config USB_U132_HCD
641         tristate "Elan U132 Adapter Host Controller"
642         depends on USB_FTDI_ELAN
643         help
644           The U132 adapter is a USB to CardBus adapter specifically designed
645           for PC cards that contain an OHCI host controller. Typical PC cards
646           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
647           adapter will *NOT* work with PC cards that do not contain an OHCI
648           controller.
649
650           For those PC cards that contain multiple OHCI controllers only the
651           first one is used.
652
653           The driver consists of two modules, the "ftdi-elan" module is a
654           USB client driver that interfaces to the FTDI chip within ELAN's
655           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
656           controller driver that talks to the OHCI controller within the
657           CardBus cards that are inserted in the U132 adapter.
658
659           This driver has been tested with a CardBus OHCI USB adapter, and
660           worked with a USB PEN Drive inserted into the first USB port of
661           the PCCARD. A rather pointless thing to do, but useful for testing.
662
663           It is safe to say M here.
664
665           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
666
667 config USB_SL811_HCD
668         tristate "SL811HS HCD support"
669         help
670           The SL811HS is a single-port USB controller that supports either
671           host side or peripheral side roles.  Enable this option if your
672           board has this chip, and you want to use it as a host controller. 
673           If unsure, say N.
674
675           To compile this driver as a module, choose M here: the
676           module will be called sl811-hcd.
677
678 config USB_SL811_HCD_ISO
679         bool "partial ISO support"
680         depends on USB_SL811_HCD
681         help
682           The driver doesn't support iso_frame_desc (yet), but for some simple
683           devices that just queue one ISO frame per URB, then ISO transfers
684           "should" work using the normal urb status fields.
685
686           If unsure, say N.
687
688 config USB_SL811_CS
689         tristate "CF/PCMCIA support for SL811HS HCD"
690         depends on USB_SL811_HCD && PCMCIA
691         help
692           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
693           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
694
695           To compile this driver as a module, choose M here: the
696           module will be called "sl811_cs".
697
698 config USB_R8A66597_HCD
699         tristate "R8A66597 HCD support"
700         help
701           The R8A66597 is a USB 2.0 host and peripheral controller.
702
703           Enable this option if your board has this chip, and you want
704           to use it as a host controller.  If unsure, say N.
705
706           To compile this driver as a module, choose M here: the
707           module will be called r8a66597-hcd.
708
709 config USB_RENESAS_USBHS_HCD
710         tristate "Renesas USBHS HCD support"
711         depends on USB_RENESAS_USBHS
712         help
713           The Renesas USBHS is a USB 2.0 host and peripheral controller.
714
715           Enable this option if your board has this chip, and you want
716           to use it as a host controller.  If unsure, say N.
717
718           To compile this driver as a module, choose M here: the
719           module will be called renesas-usbhs.
720
721 config USB_WHCI_HCD
722         tristate "Wireless USB Host Controller Interface (WHCI) driver"
723         depends on PCI && USB && UWB
724         select USB_WUSB
725         select UWB_WHCI
726         help
727           A driver for PCI-based Wireless USB Host Controllers that are
728           compliant with the WHCI specification.
729
730           To compile this driver a module, choose M here: the module
731           will be called "whci-hcd".
732
733 config USB_HWA_HCD
734         tristate "Host Wire Adapter (HWA) driver"
735         depends on USB && UWB
736         select USB_WUSB
737         select UWB_HWA
738         help
739           This driver enables you to connect Wireless USB devices to
740           your system using a Host Wire Adaptor USB dongle. This is an
741           UWB Radio Controller and WUSB Host Controller connected to
742           your machine via USB (specified in WUSB1.0).
743
744           To compile this driver a module, choose M here: the module
745           will be called "hwa-hc".
746
747 config USB_IMX21_HCD
748        tristate "i.MX21 HCD support"
749        depends on ARM && ARCH_MXC
750        help
751          This driver enables support for the on-chip USB host in the
752          i.MX21 processor.
753
754          To compile this driver as a module, choose M here: the
755          module will be called "imx21-hcd".
756
757
758
759 config USB_OCTEON2_COMMON
760         bool
761         default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI
762
763 config USB_HCD_BCMA
764         tristate "BCMA usb host driver"
765         depends on BCMA
766         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
767         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
768         help
769           Enable support for the EHCI and OCHI host controller on an bcma bus.
770           It converts the bcma driver into two platform device drivers
771           for ehci and ohci.
772
773           If unsure, say N.
774
775 config USB_HCD_SSB
776         tristate "SSB usb host driver"
777         depends on SSB
778         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
779         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
780         help
781           Enable support for the EHCI and OCHI host controller on an bcma bus.
782           It converts the bcma driver into two platform device drivers
783           for ehci and ohci.
784
785           If unsure, say N.
786
787 config USB_HCD_TEST_MODE
788         bool "HCD test mode support"
789         ---help---
790           Say 'Y' to enable additional software test modes that may be
791           supported by the host controller drivers.
792
793           One such test mode is the Embedded High-speed Host Electrical Test
794           (EHSET) for EHCI host controller hardware, specifically the "Single
795           Step Set Feature" test.  Typically this will be enabled for On-the-Go
796           or embedded hosts that need to undergo USB-IF compliance testing with
797           the aid of special testing hardware.  In the future, this may expand
798           to include other tests that require support from a HCD driver.
799
800           This option is of interest only to developers who need to validate
801           their USB hardware designs.  It is not needed for normal use.  If
802           unsure, say N.