GNU Linux-libre 6.8.7-gnu
[releases.git] / drivers / usb / host / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # USB Host Controller Drivers
4 #
5 comment "USB Host Controller Drivers"
6
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.
13
14           Enable this option to support this chip in host controller mode.
15           If unsure, say N.
16
17           To compile this driver as a module, choose M here: the
18           module will be called c67x00.
19
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.
26
27           To compile this driver as a module, choose M here: the
28           module will be called xhci-hcd.
29
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'.
39
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
45
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 firmware for the device and
51           installed on your system for this device to work.
52           If unsure, say 'N'.
53
54 config USB_XHCI_PLATFORM
55         tristate "Generic xHCI driver for a platform device"
56         help
57           Adds an xHCI host driver for a generic platform device, which
58           provides a memory space and an irq.
59           It is also a prerequisite for platform specific drivers that
60           implement some extra quirks.
61
62           If unsure, say N.
63
64 config USB_XHCI_HISTB
65         tristate "xHCI support for HiSilicon STB SoCs"
66         depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
67         help
68           Say 'Y' to enable the support for the xHCI host controller
69           found in HiSilicon STB SoCs.
70
71 config USB_XHCI_MTK
72         tristate "xHCI support for MediaTek SoCs"
73         select MFD_SYSCON
74         depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
75         help
76           Say 'Y' to enable the support for the xHCI host controller
77           found in MediaTek SoCs.
78           If unsure, say N.
79
80 config USB_XHCI_MVEBU
81         tristate "xHCI support for Marvell Armada 375/38x/37xx"
82         select USB_XHCI_PLATFORM
83         depends on HAS_IOMEM
84         depends on ARCH_MVEBU || COMPILE_TEST
85         help
86           Say 'Y' to enable the support for the xHCI host controller
87           found in Marvell Armada 375/38x/37xx ARM SOCs.
88
89 config USB_XHCI_RCAR
90         tristate "xHCI support for Renesas R-Car SoCs"
91         depends on USB_XHCI_PLATFORM
92         depends on ARCH_RENESAS || COMPILE_TEST
93         default ARCH_RENESAS
94         help
95           Say 'Y' to enable the support for the xHCI host controller
96           found in Renesas R-Car ARM SoCs.
97
98 config USB_XHCI_RZV2M
99         bool "xHCI support for Renesas RZ/V2M SoC"
100         depends on USB_XHCI_RCAR
101         depends on ARCH_R9A09G011 || COMPILE_TEST
102         depends on USB_RZV2M_USB3DRD=y || (USB_RZV2M_USB3DRD=USB_XHCI_RCAR)
103         help
104           Say 'Y' to enable the support for the xHCI host controller
105           found in Renesas RZ/V2M SoC.
106
107 config USB_XHCI_TEGRA
108         tristate "xHCI support for NVIDIA Tegra SoCs"
109         depends on PHY_TEGRA_XUSB
110         depends on RESET_CONTROLLER
111         select FW_LOADER
112         help
113           Say 'Y' to enable the support for the xHCI host controller
114           found in NVIDIA Tegra124 and later SoCs.
115
116 endif # USB_XHCI_HCD
117
118 config USB_EHCI_BRCMSTB
119        tristate
120
121 config USB_BRCMSTB
122         tristate "Broadcom STB USB support"
123         depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
124         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
125         select USB_EHCI_BRCMSTB if USB_EHCI_HCD
126         select USB_XHCI_PLATFORM if USB_XHCI_HCD
127         help
128           Enables support for XHCI, EHCI and OHCI host controllers
129           found in Broadcom STB SoC's.
130
131           To compile these drivers as modules, choose M here: the
132           modules will be called ohci-platform.ko, ehci-brcm.ko and
133           xhci-plat-hcd.ko
134
135           Disabling this will keep the controllers and corresponding
136           PHYs powered down.
137
138 config USB_EHCI_HCD
139         tristate "EHCI HCD (USB 2.0) support"
140         depends on HAS_DMA && HAS_IOMEM
141         help
142           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
143           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
144           If your USB host controller supports USB 2.0, you will likely want to
145           configure this Host Controller Driver.
146
147           EHCI controllers are packaged with "companion" host controllers (OHCI
148           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
149           will connect to EHCI if the device is high speed, otherwise they
150           connect to a companion controller.  If you configure EHCI, you should
151           probably configure the OHCI (for NEC and some other vendors) USB Host
152           Controller Driver or UHCI (for Via motherboards) Host Controller
153           Driver too.
154
155           You may want to read <file:Documentation/usb/ehci.rst>.
156
157           To compile this driver as a module, choose M here: the
158           module will be called ehci-hcd.
159
160 config USB_EHCI_ROOT_HUB_TT
161         bool "Root Hub Transaction Translators"
162         depends on USB_EHCI_HCD
163         help
164           Some EHCI chips have vendor-specific extensions to integrate
165           transaction translators, so that no OHCI or UHCI companion
166           controller is needed.  It's safe to say "y" even if your
167           controller doesn't support this feature.
168
169           This supports the EHCI implementation that's originally
170           from ARC, and has since changed hands a few times.
171
172 config USB_EHCI_TT_NEWSCHED
173         bool "Improved Transaction Translator scheduling"
174         depends on USB_EHCI_HCD
175         default y
176         help
177           This changes the periodic scheduling code to fill more of the low
178           and full speed bandwidth available from the Transaction Translator
179           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
180           issued in each microframe, significantly reducing the number of
181           periodic low/fullspeed transfers possible.
182
183           If you have multiple periodic low/fullspeed devices connected to a
184           highspeed USB hub which is connected to a highspeed USB Host
185           Controller, and some of those devices will not work correctly
186           (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
187           you have only one such device and it doesn't work, you could try
188           saying N.
189
190           If unsure, say Y.
191
192 if USB_EHCI_HCD
193
194 config USB_EHCI_PCI
195         tristate
196         depends on USB_PCI
197         default y
198
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.
209
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.
215
216 config USB_EHCI_HCD_NPCM7XX
217         tristate "Support for Nuvoton NPCM on-chip EHCI USB controller"
218         depends on (USB_EHCI_HCD && ARCH_NPCM) || COMPILE_TEST
219         default y if (USB_EHCI_HCD && ARCH_NPCM)
220         help
221           Enables support for the on-chip EHCI controller on
222           Nuvoton NPCM chips.
223
224 config USB_EHCI_HCD_OMAP
225         tristate "EHCI support for OMAP3 and later chips"
226         depends on ARCH_OMAP || COMPILE_TEST
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.
232
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.
243
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.
251
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.
260
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.
268
269 config USB_EHCI_TEGRA
270         tristate "NVIDIA Tegra HCD support"
271         depends on ARCH_TEGRA
272         select USB_CHIPIDEA
273         select USB_CHIPIDEA_HOST
274         select USB_CHIPIDEA_TEGRA
275         select USB_GADGET
276         help
277           This option is deprecated now and the driver was removed, use
278           USB_CHIPIDEA_TEGRA instead.
279
280           Enable support for the internal USB Host Controllers
281           found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
282
283 config USB_EHCI_HCD_PPC_OF
284         bool "EHCI support for PPC USB controller on OF platform bus"
285         depends on PPC
286         default y
287         help
288           Enables support for the USB controller present on the PowerPC
289           OpenFirmware platform bus.
290
291 config USB_EHCI_SH
292         bool "EHCI support for SuperH USB controller"
293         depends on SUPERH || COMPILE_TEST
294         help
295           Enables support for the on-chip EHCI controller on the SuperH.
296           If you use the PCI EHCI controller, this option is not necessary.
297
298 config USB_EHCI_EXYNOS
299         tristate "EHCI support for Samsung S5P/Exynos SoC Series"
300         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
301         help
302           Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip EHCI
303           controller.
304
305 config USB_EHCI_MV
306         tristate "EHCI support for Marvell PXA/MMP USB controller"
307         depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
308         select USB_EHCI_ROOT_HUB_TT
309         help
310           Enables support for Marvell (including PXA and MMP series) on-chip
311           USB SPH and OTG controller. SPH is a single port host, and it can
312           only be EHCI host. OTG is controller that can switch to host mode.
313           Note that this driver will not work on Marvell's other EHCI
314           controller used by the EBU-type SoCs including Orion, Kirkwood,
315           Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
316           on-chip EHCI USB controller" for those.
317
318 config USB_OCTEON_HCD
319         tristate "Cavium Networks Octeon USB support"
320         depends on CAVIUM_OCTEON_SOC && USB
321         help
322           This driver supports USB host controller on some Cavium
323           Networks' products in the Octeon family.
324
325           To compile this driver as a module, choose M here. The module
326           will be called octeon-hcd.
327
328 config USB_EHCI_HCD_PLATFORM
329         tristate "Generic EHCI driver for a platform device"
330         help
331           Adds an EHCI host driver for a generic platform device, which
332           provides a memory space and an irq.
333
334           If unsure, say N.
335
336 config USB_OCTEON_EHCI
337         bool "Octeon on-chip EHCI support (DEPRECATED)"
338         depends on CAVIUM_OCTEON_SOC
339         select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
340         select USB_EHCI_HCD_PLATFORM
341         help
342           This option is deprecated now and the driver was removed, use
343           USB_EHCI_HCD_PLATFORM instead.
344
345           Enable support for the Octeon II SOC's on-chip EHCI
346           controller.  It is needed for high-speed (480Mbit/sec)
347           USB 2.0 device support.  All CN6XXX based chips with USB are
348           supported.
349
350 endif # USB_EHCI_HCD
351
352 config USB_OXU210HP_HCD
353         tristate "OXU210HP HCD support"
354         depends on HAS_IOMEM
355         help
356           The OXU210HP is an USB host/OTG/device controller. Enable this
357           option if your board has this chip. If unsure, say N.
358
359           This driver does not support isochronous transfers and doesn't
360           implement OTG nor USB device controllers.
361
362           To compile this driver as a module, choose M here: the
363           module will be called oxu210hp-hcd.
364
365 config USB_ISP116X_HCD
366         tristate "ISP116X HCD support"
367         depends on HAS_IOMEM
368         help
369           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
370           option if your board has this chip. If unsure, say N.
371
372           This driver does not support isochronous transfers.
373
374           To compile this driver as a module, choose M here: the
375           module will be called isp116x-hcd.
376
377 config USB_ISP1362_HCD
378         tristate "ISP1362 HCD support"
379         depends on HAS_IOPORT
380         depends on COMPILE_TEST # nothing uses this
381         help
382           Supports the Philips ISP1362 chip as a host controller
383
384           This driver does not support isochronous transfers.
385
386           To compile this driver as a module, choose M here: the
387           module will be called isp1362-hcd.
388
389 config USB_MAX3421_HCD
390         tristate "MAX3421 HCD (USB-over-SPI) support"
391         depends on USB && SPI
392         help
393           The Maxim MAX3421E chip supports standard USB 2.0-compliant
394           full-speed devices either in host or peripheral mode.  This
395           driver supports the host-mode of the MAX3421E only.
396
397           To compile this driver as a module, choose M here: the module will
398           be called max3421-hcd.
399
400 config USB_OHCI_HCD
401         tristate "OHCI HCD (USB 1.1) support"
402         depends on HAS_DMA && HAS_IOMEM
403         help
404           The Open Host Controller Interface (OHCI) is a standard for accessing
405           USB 1.1 host controller hardware.  It does more in hardware than Intel's
406           UHCI specification.  If your USB host controller follows the OHCI spec,
407           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
408           USB controller from Intel or VIA, this is appropriate.  If your host
409           controller doesn't use PCI, this is probably appropriate.  For a PCI
410           based system where you're not sure, the "lspci -v" entry will list the
411           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
412
413           To compile this driver as a module, choose M here: the
414           module will be called ohci-hcd.
415
416 if USB_OHCI_HCD
417
418 config USB_OHCI_HCD_OMAP1
419         tristate "OHCI support for OMAP1/2 chips"
420         depends on ARCH_OMAP1
421         default y
422         help
423           Enables support for the OHCI controller on OMAP1/2 chips.
424
425 config USB_OHCI_HCD_SPEAR
426         tristate "Support for ST SPEAr on-chip OHCI USB controller"
427         depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
428         default y if PLAT_SPEAR
429         help
430           Enables support for the on-chip OHCI controller on
431           ST SPEAr chips.
432
433 config USB_OHCI_HCD_STI
434         tristate "Support for ST STiHxxx on-chip OHCI USB controller"
435         depends on (ARCH_STI || COMPILE_TEST) && OF
436         select GENERIC_PHY
437         select USB_OHCI_HCD_PLATFORM
438         help
439           Enable support for the on-chip OHCI controller found on
440           STMicroelectronics consumer electronics SoC's.
441
442 config USB_OHCI_HCD_S3C2410
443         tristate "OHCI support for Samsung S3C64xx SoC series"
444         depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST)
445         default ARCH_S3C64XX
446         help
447           Enables support for the on-chip OHCI controller on
448           S3C64xx chips.
449
450 config USB_OHCI_HCD_LPC32XX
451         tristate "Support for LPC on-chip OHCI USB controller"
452         depends on USB_OHCI_HCD
453         depends on ARCH_LPC32XX || COMPILE_TEST
454         depends on USB_ISP1301
455         default y
456         help
457           Enables support for the on-chip OHCI controller on
458           NXP chips.
459
460 config USB_OHCI_HCD_PXA27X
461         tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
462         depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
463         default y
464         help
465           Enables support for the on-chip OHCI controller on
466           PXA27x/PXA3xx chips.
467
468 config USB_OHCI_HCD_AT91
469         tristate "Support for Atmel on-chip OHCI USB controller"
470         depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
471         default y if ARCH_AT91
472         help
473           Enables support for the on-chip OHCI controller on
474           Atmel chips.
475
476 config USB_OHCI_HCD_OMAP3
477         tristate "OHCI support for OMAP3 and later chips"
478         depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
479         select USB_OHCI_HCD_PLATFORM
480         default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
481         help
482           This option is deprecated now and the driver was removed, use
483           USB_OHCI_HCD_PLATFORM instead.
484
485           Enables support for the on-chip OHCI controller on
486           OMAP3 and later chips.
487
488 config USB_OHCI_HCD_DAVINCI
489         tristate "OHCI support for TI DaVinci DA8xx"
490         depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
491         depends on USB_OHCI_HCD
492         select PHY_DA8XX_USB
493         default y if ARCH_DAVINCI_DA8XX
494         help
495           Enables support for the DaVinci DA8xx integrated OHCI
496           controller. This driver cannot currently be a loadable
497           module because it lacks a proper PHY abstraction.
498
499 config USB_OHCI_HCD_PPC_OF_BE
500         bool "OHCI support for OF platform bus (big endian)"
501         depends on PPC
502         select USB_OHCI_BIG_ENDIAN_DESC
503         select USB_OHCI_BIG_ENDIAN_MMIO
504         help
505           Enables support for big-endian USB controllers present on the
506           OpenFirmware platform bus.
507
508 config USB_OHCI_HCD_PPC_OF_LE
509         bool "OHCI support for OF platform bus (little endian)"
510         depends on PPC
511         select USB_OHCI_LITTLE_ENDIAN
512         help
513           Enables support for little-endian USB controllers present on the
514           OpenFirmware platform bus.
515
516 config USB_OHCI_HCD_PPC_OF
517         bool
518         depends on PPC
519         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
520
521 config USB_OHCI_HCD_PCI
522         tristate "OHCI support for PCI-bus USB controllers"
523         depends on USB_PCI
524         default y
525         select USB_OHCI_LITTLE_ENDIAN
526         help
527           Enables support for PCI-bus plug-in USB controller cards.
528           If unsure, say Y.
529
530 config USB_OHCI_HCD_SSB
531         bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
532         depends on (SSB = y || SSB = USB_OHCI_HCD)
533         select USB_HCD_SSB
534         select USB_OHCI_HCD_PLATFORM
535         help
536           This option is deprecated now and the driver was removed, use
537           USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
538
539           Support for the Sonics Silicon Backplane (SSB) attached
540           Broadcom USB OHCI core.
541
542           This device is present in some embedded devices with
543           Broadcom based SSB bus.
544
545           If unsure, say N.
546
547 config USB_OHCI_EXYNOS
548         tristate "OHCI support for Samsung S5P/Exynos SoC Series"
549         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
550         help
551           Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip OHCI
552           controller.
553
554 config USB_OHCI_HCD_PLATFORM
555         tristate "Generic OHCI driver for a platform device"
556         help
557           Adds an OHCI host driver for a generic platform device, which
558           provides a memory space and an irq.
559
560           If unsure, say N.
561
562 config USB_OCTEON_OHCI
563         bool "Octeon on-chip OHCI support (DEPRECATED)"
564         depends on CAVIUM_OCTEON_SOC
565         default USB_OCTEON_EHCI
566         select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
567         select USB_OHCI_LITTLE_ENDIAN
568         select USB_OHCI_HCD_PLATFORM
569         help
570           This option is deprecated now and the driver was removed, use
571           USB_OHCI_HCD_PLATFORM instead.
572
573           Enable support for the Octeon II SOC's on-chip OHCI
574           controller.  It is needed for low-speed USB 1.0 device
575           support.  All CN6XXX based chips with USB are supported.
576
577 endif # USB_OHCI_HCD
578
579 config USB_UHCI_HCD
580         tristate "UHCI HCD (most Intel and VIA) support"
581         depends on (USB_PCI && HAS_IOPORT) || USB_UHCI_SUPPORT_NON_PCI_HC
582         help
583           The Universal Host Controller Interface is a standard by Intel for
584           accessing the USB hardware in the PC (which is also called the USB
585           host controller). If your USB host controller conforms to this
586           standard, you may want to say Y, but see below. All recent boards
587           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
588           i810, i820) conform to this standard. Also all VIA PCI chipsets
589           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
590           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
591           If unsure, say Y.
592
593           To compile this driver as a module, choose M here: the
594           module will be called uhci-hcd.
595
596 config USB_UHCI_SUPPORT_NON_PCI_HC
597         bool
598         default y if (SPARC_LEON || USB_UHCI_PLATFORM)
599
600 config USB_UHCI_PLATFORM
601         bool
602         default y if (ARCH_VT8500 || ARCH_ASPEED)
603
604 config USB_UHCI_ASPEED
605         bool
606         default y if ARCH_ASPEED
607
608 config USB_FHCI_HCD
609         tristate "Freescale QE USB Host Controller support"
610         depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
611         select FSL_GTM
612         select QE_USB
613         help
614           This driver enables support for Freescale QE USB Host Controller
615           (as found on MPC8360 and MPC8323 processors), the driver supports
616           Full and Low Speed USB.
617
618 config FHCI_DEBUG
619         bool "Freescale QE USB Host Controller debug support"
620         depends on USB_FHCI_HCD && DEBUG_FS
621         help
622           Say "y" to see some FHCI debug information and statistics
623           through debugfs.
624
625 config USB_SL811_HCD
626         tristate "SL811HS HCD support"
627         depends on HAS_IOMEM
628         help
629           The SL811HS is a single-port USB controller that supports either
630           host side or peripheral side roles.  Enable this option if your
631           board has this chip, and you want to use it as a host controller. 
632           If unsure, say N.
633
634           To compile this driver as a module, choose M here: the
635           module will be called sl811-hcd.
636
637 config USB_SL811_HCD_ISO
638         bool "partial ISO support"
639         depends on USB_SL811_HCD
640         help
641           The driver doesn't support iso_frame_desc (yet), but for some simple
642           devices that just queue one ISO frame per URB, then ISO transfers
643           "should" work using the normal urb status fields.
644
645           If unsure, say N.
646
647 config USB_SL811_CS
648         tristate "CF/PCMCIA support for SL811HS HCD"
649         depends on USB_SL811_HCD && PCMCIA
650         help
651           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
652           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
653
654           To compile this driver as a module, choose M here: the
655           module will be called "sl811_cs".
656
657 config USB_R8A66597_HCD
658         tristate "R8A66597 HCD support"
659         depends on HAS_IOMEM
660         help
661           The R8A66597 is a USB 2.0 host and peripheral controller.
662
663           Enable this option if your board has this chip, and you want
664           to use it as a host controller.  If unsure, say N.
665
666           To compile this driver as a module, choose M here: the
667           module will be called r8a66597-hcd.
668
669 config USB_RENESAS_USBHS_HCD
670         tristate "Renesas USBHS HCD support"
671         depends on USB_RENESAS_USBHS
672         help
673           The Renesas USBHS is a USB 2.0 host and peripheral controller.
674
675           Enable this option if your board has this chip, and you want
676           to use it as a host controller.  If unsure, say N.
677
678           To compile this driver as a module, choose M here: the
679           module will be called renesas-usbhs.
680
681 config USB_HCD_BCMA
682         tristate "BCMA usb host driver"
683         depends on BCMA
684         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
685         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
686         help
687           Enable support for the EHCI and OCHI host controller on an bcma bus.
688           It converts the bcma driver into two platform device drivers
689           for ehci and ohci.
690
691           If unsure, say N.
692
693 config USB_HCD_SSB
694         tristate "SSB usb host driver"
695         depends on SSB
696         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
697         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
698         help
699           Enable support for the EHCI and OCHI host controller on an bcma bus.
700           It converts the bcma driver into two platform device drivers
701           for ehci and ohci.
702
703           If unsure, say N.
704
705 config USB_HCD_TEST_MODE
706         bool "HCD test mode support"
707         help
708           Say 'Y' to enable additional software test modes that may be
709           supported by the host controller drivers.
710
711           One such test mode is the Embedded High-speed Host Electrical Test
712           (EHSET) for EHCI host controller hardware, specifically the "Single
713           Step Set Feature" test.  Typically this will be enabled for On-the-Go
714           or embedded hosts that need to undergo USB-IF compliance testing with
715           the aid of special testing hardware.  In the future, this may expand
716           to include other tests that require support from a HCD driver.
717
718           This option is of interest only to developers who need to validate
719           their USB hardware designs.  It is not needed for normal use.  If
720           unsure, say N.
721
722 config USB_XEN_HCD
723         tristate "Xen usb virtual host driver"
724         depends on XEN
725         select XEN_XENBUS_FRONTEND
726         help
727           The Xen usb virtual host driver serves as a frontend driver enabling
728           a Xen guest system to access USB Devices passed through to the guest
729           by the Xen host (usually Dom0).
730           Only needed if the kernel is running in a Xen guest and generic
731           access to a USB device is needed.