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