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