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