GNU Linux-libre 5.10.217-gnu1
[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 firwmare 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         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.
62
63           If unsure, say N.
64
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.
71
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.
80
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.
89
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.
97
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.
106
107 endif # USB_XHCI_HCD
108
109 config USB_EHCI_BRCMSTB
110        tristate
111
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.
121
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
125
126           Disabling this will keep the controllers and corresponding
127           PHYs powered down.
128
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.
137
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.
145
146           You may want to read <file:Documentation/usb/ehci.rst>.
147
148           To compile this driver as a module, choose M here: the
149           module will be called ehci-hcd.
150
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.
159
160           This supports the EHCI implementation that's originally
161           from ARC, and has since changed hands a few times.
162
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.
173
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.
180
181           If unsure, say Y.
182
183 if USB_EHCI_HCD
184
185 config USB_EHCI_PCI
186         tristate
187         depends on USB_PCI
188         default y
189
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.
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_MXC
217         tristate "Support for Freescale i.MX on-chip EHCI USB controller"
218         depends on ARCH_MXC || COMPILE_TEST
219         select USB_EHCI_ROOT_HUB_TT
220         help
221           Variation of ARC USB block used in some Freescale chips.
222
223 config USB_EHCI_HCD_NPCM7XX
224         tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
225         depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
226         default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
227         help
228           Enables support for the on-chip EHCI controller on
229           Nuvoton NPCM7XX chips.
230
231 config USB_EHCI_HCD_OMAP
232         tristate "EHCI support for OMAP3 and later chips"
233         depends on ARCH_OMAP
234         depends on NOP_USB_XCEIV
235         default y
236         help
237           Enables support for the on-chip EHCI controller on
238           OMAP3 and later chips.
239
240 config USB_EHCI_HCD_ORION
241         tristate  "Support for Marvell EBU on-chip EHCI USB controller"
242         depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
243         default y if (PLAT_ORION || ARCH_MVEBU)
244         help
245           Enables support for the on-chip EHCI controller on Marvell's
246           embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
247           Armada 370.  This is different from the EHCI implementation
248           on Marvell's mobile PXA and MMP SoC, see "EHCI support for
249           Marvell PXA/MMP USB controller" for those.
250
251 config USB_EHCI_HCD_SPEAR
252         tristate "Support for ST SPEAr on-chip EHCI USB controller"
253         depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
254         default y if PLAT_SPEAR
255         help
256           Enables support for the on-chip EHCI controller on
257           ST SPEAr chips.
258
259 config USB_EHCI_HCD_STI
260         tristate "Support for ST STiHxxx on-chip EHCI USB controller"
261         depends on (ARCH_STI || COMPILE_TEST) && OF
262         select GENERIC_PHY
263         select USB_EHCI_HCD_PLATFORM
264         help
265           Enable support for the on-chip EHCI controller found on
266           STMicroelectronics consumer electronics SoC's.
267
268 config USB_EHCI_HCD_AT91
269         tristate  "Support for Atmel on-chip EHCI USB controller"
270         depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
271         default y if ARCH_AT91
272         help
273           Enables support for the on-chip EHCI controller on
274           Atmel chips.
275
276 config USB_EHCI_TEGRA
277         tristate "NVIDIA Tegra HCD support"
278         depends on ARCH_TEGRA
279         select USB_EHCI_ROOT_HUB_TT
280         select USB_TEGRA_PHY
281         help
282           This driver enables support for the internal USB Host Controllers
283           found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
284
285 config USB_EHCI_HCD_PPC_OF
286         bool "EHCI support for PPC USB controller on OF platform bus"
287         depends on PPC
288         default y
289         help
290           Enables support for the USB controller present on the PowerPC
291           OpenFirmware platform bus.
292
293 config USB_EHCI_SH
294         bool "EHCI support for SuperH USB controller"
295         depends on SUPERH || COMPILE_TEST
296         help
297           Enables support for the on-chip EHCI controller on the SuperH.
298           If you use the PCI EHCI controller, this option is not necessary.
299
300 config USB_EHCI_EXYNOS
301         tristate "EHCI support for Samsung S5P/Exynos SoC Series"
302         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
303         help
304           Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
305
306 config USB_EHCI_MV
307         tristate "EHCI support for Marvell PXA/MMP USB controller"
308         depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
309         select USB_EHCI_ROOT_HUB_TT
310         help
311           Enables support for Marvell (including PXA and MMP series) on-chip
312           USB SPH and OTG controller. SPH is a single port host, and it can
313           only be EHCI host. OTG is controller that can switch to host mode.
314           Note that this driver will not work on Marvell's other EHCI
315           controller used by the EBU-type SoCs including Orion, Kirkwood,
316           Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
317           on-chip EHCI USB controller" for those.
318
319 config USB_CNS3XXX_EHCI
320         bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
321         depends on ARCH_CNS3XXX || COMPILE_TEST
322         select USB_EHCI_HCD_PLATFORM
323         help
324           This option is deprecated now and the driver was removed, use
325           USB_EHCI_HCD_PLATFORM instead.
326
327           Enable support for the CNS3XXX SOC's on-chip EHCI controller.
328           It is needed for high-speed (480Mbit/sec) USB 2.0 device
329           support.
330
331 config USB_EHCI_HCD_PLATFORM
332         tristate "Generic EHCI driver for a platform device"
333         help
334           Adds an EHCI host driver for a generic platform device, which
335           provides a memory space and an irq.
336
337           If unsure, say N.
338
339 config USB_OCTEON_EHCI
340         bool "Octeon on-chip EHCI support (DEPRECATED)"
341         depends on CAVIUM_OCTEON_SOC
342         select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
343         select USB_EHCI_HCD_PLATFORM
344         help
345           This option is deprecated now and the driver was removed, use
346           USB_EHCI_HCD_PLATFORM instead.
347
348           Enable support for the Octeon II SOC's on-chip EHCI
349           controller.  It is needed for high-speed (480Mbit/sec)
350           USB 2.0 device support.  All CN6XXX based chips with USB are
351           supported.
352
353 endif # USB_EHCI_HCD
354
355 config USB_OXU210HP_HCD
356         tristate "OXU210HP HCD support"
357         depends on HAS_IOMEM
358         help
359           The OXU210HP is an USB host/OTG/device controller. Enable this
360           option if your board has this chip. If unsure, say N.
361
362           This driver does not support isochronous transfers and doesn't
363           implement OTG nor USB device controllers.
364
365           To compile this driver as a module, choose M here: the
366           module will be called oxu210hp-hcd.
367
368 config USB_ISP116X_HCD
369         tristate "ISP116X HCD support"
370         depends on HAS_IOMEM
371         help
372           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
373           option if your board has this chip. If unsure, say N.
374
375           This driver does not support isochronous transfers.
376
377           To compile this driver as a module, choose M here: the
378           module will be called isp116x-hcd.
379
380 config USB_ISP1362_HCD
381         tristate "ISP1362 HCD support"
382         depends on HAS_IOMEM
383         depends on COMPILE_TEST # nothing uses this
384         help
385           Supports the Philips ISP1362 chip as a host controller
386
387           This driver does not support isochronous transfers.
388
389           To compile this driver as a module, choose M here: the
390           module will be called isp1362-hcd.
391
392 config USB_FOTG210_HCD
393         tristate "FOTG210 HCD support"
394         depends on USB && HAS_DMA && HAS_IOMEM
395         help
396           Faraday FOTG210 is an OTG controller which can be configured as
397           an USB2.0 host. It is designed to meet USB2.0 EHCI specification
398           with minor modification.
399
400           To compile this driver as a module, choose M here: the
401           module will be called fotg210-hcd.
402
403 config USB_MAX3421_HCD
404         tristate "MAX3421 HCD (USB-over-SPI) support"
405         depends on USB && SPI
406         help
407           The Maxim MAX3421E chip supports standard USB 2.0-compliant
408           full-speed devices either in host or peripheral mode.  This
409           driver supports the host-mode of the MAX3421E only.
410
411           To compile this driver as a module, choose M here: the module will
412           be called max3421-hcd.
413
414 config USB_OHCI_HCD
415         tristate "OHCI HCD (USB 1.1) support"
416         depends on HAS_DMA && HAS_IOMEM
417         help
418           The Open Host Controller Interface (OHCI) is a standard for accessing
419           USB 1.1 host controller hardware.  It does more in hardware than Intel's
420           UHCI specification.  If your USB host controller follows the OHCI spec,
421           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
422           USB controller from Intel or VIA, this is appropriate.  If your host
423           controller doesn't use PCI, this is probably appropriate.  For a PCI
424           based system where you're not sure, the "lspci -v" entry will list the
425           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
426
427           To compile this driver as a module, choose M here: the
428           module will be called ohci-hcd.
429
430 if USB_OHCI_HCD
431
432 config USB_OHCI_HCD_OMAP1
433         tristate "OHCI support for OMAP1/2 chips"
434         depends on ARCH_OMAP1
435         depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
436         default y
437         help
438           Enables support for the OHCI controller on OMAP1/2 chips.
439
440 config USB_OHCI_HCD_SPEAR
441         tristate "Support for ST SPEAr on-chip OHCI USB controller"
442         depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
443         default y if PLAT_SPEAR
444         help
445           Enables support for the on-chip OHCI controller on
446           ST SPEAr chips.
447
448 config USB_OHCI_HCD_STI
449         tristate "Support for ST STiHxxx on-chip OHCI USB controller"
450         depends on (ARCH_STI || COMPILE_TEST) && OF
451         select GENERIC_PHY
452         select USB_OHCI_HCD_PLATFORM
453         help
454           Enable support for the on-chip OHCI controller found on
455           STMicroelectronics consumer electronics SoC's.
456
457 config USB_OHCI_HCD_S3C2410
458         tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
459         depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
460         default y if (ARCH_S3C24XX || ARCH_S3C64XX)
461         help
462           Enables support for the on-chip OHCI controller on
463           S3C24xx/S3C64xx chips.
464
465 config USB_OHCI_HCD_LPC32XX
466         tristate "Support for LPC on-chip OHCI USB controller"
467         depends on USB_OHCI_HCD
468         depends on ARCH_LPC32XX || COMPILE_TEST
469         depends on USB_ISP1301
470         default y
471         help
472           Enables support for the on-chip OHCI controller on
473           NXP chips.
474
475 config USB_OHCI_HCD_PXA27X
476         tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
477         depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
478         default y
479         help
480           Enables support for the on-chip OHCI controller on
481           PXA27x/PXA3xx chips.
482
483 config USB_OHCI_HCD_AT91
484         tristate "Support for Atmel on-chip OHCI USB controller"
485         depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
486         default y if ARCH_AT91
487         help
488           Enables support for the on-chip OHCI controller on
489           Atmel chips.
490
491 config USB_OHCI_HCD_OMAP3
492         tristate "OHCI support for OMAP3 and later chips"
493         depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
494         select USB_OHCI_HCD_PLATFORM
495         default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
496         help
497           This option is deprecated now and the driver was removed, use
498           USB_OHCI_HCD_PLATFORM instead.
499
500           Enables support for the on-chip OHCI controller on
501           OMAP3 and later chips.
502
503 config USB_OHCI_HCD_DAVINCI
504         tristate "OHCI support for TI DaVinci DA8xx"
505         depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
506         depends on USB_OHCI_HCD
507         select PHY_DA8XX_USB
508         default y if ARCH_DAVINCI_DA8XX
509         help
510           Enables support for the DaVinci DA8xx integrated OHCI
511           controller. This driver cannot currently be a loadable
512           module because it lacks a proper PHY abstraction.
513
514 config USB_OHCI_HCD_PPC_OF_BE
515         bool "OHCI support for OF platform bus (big endian)"
516         depends on PPC
517         select USB_OHCI_BIG_ENDIAN_DESC
518         select USB_OHCI_BIG_ENDIAN_MMIO
519         help
520           Enables support for big-endian USB controllers present on the
521           OpenFirmware platform bus.
522
523 config USB_OHCI_HCD_PPC_OF_LE
524         bool "OHCI support for OF platform bus (little endian)"
525         depends on PPC
526         select USB_OHCI_LITTLE_ENDIAN
527         help
528           Enables support for little-endian USB controllers present on the
529           OpenFirmware platform bus.
530
531 config USB_OHCI_HCD_PPC_OF
532         bool
533         depends on PPC
534         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
535
536 config USB_OHCI_HCD_PCI
537         tristate "OHCI support for PCI-bus USB controllers"
538         depends on USB_PCI
539         default y
540         select USB_OHCI_LITTLE_ENDIAN
541         help
542           Enables support for PCI-bus plug-in USB controller cards.
543           If unsure, say Y.
544
545 config USB_OHCI_HCD_SSB
546         bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
547         depends on (SSB = y || SSB = USB_OHCI_HCD)
548         select USB_HCD_SSB
549         select USB_OHCI_HCD_PLATFORM
550         help
551           This option is deprecated now and the driver was removed, use
552           USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
553
554           Support for the Sonics Silicon Backplane (SSB) attached
555           Broadcom USB OHCI core.
556
557           This device is present in some embedded devices with
558           Broadcom based SSB bus.
559
560           If unsure, say N.
561
562 config USB_OHCI_SH
563         bool "OHCI support for SuperH USB controller (DEPRECATED)"
564         depends on SUPERH || COMPILE_TEST
565         select USB_OHCI_HCD_PLATFORM
566         help
567           This option is deprecated now and the driver was removed, use
568           USB_OHCI_HCD_PLATFORM instead.
569
570           Enables support for the on-chip OHCI controller on the SuperH.
571           If you use the PCI OHCI controller, this option is not necessary.
572
573 config USB_OHCI_EXYNOS
574         tristate "OHCI support for Samsung S5P/Exynos SoC Series"
575         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
576         help
577           Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
578
579 config USB_CNS3XXX_OHCI
580         bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
581         depends on ARCH_CNS3XXX || COMPILE_TEST
582         select USB_OHCI_HCD_PLATFORM
583         help
584           This option is deprecated now and the driver was removed, use
585           USB_OHCI_HCD_PLATFORM instead.
586
587           Enable support for the CNS3XXX SOC's on-chip OHCI controller.
588           It is needed for low-speed USB 1.0 device support.
589
590 config USB_OHCI_HCD_PLATFORM
591         tristate "Generic OHCI driver for a platform device"
592         help
593           Adds an OHCI host driver for a generic platform device, which
594           provides a memory space and an irq.
595
596           If unsure, say N.
597
598 config USB_OCTEON_OHCI
599         bool "Octeon on-chip OHCI support (DEPRECATED)"
600         depends on CAVIUM_OCTEON_SOC
601         default USB_OCTEON_EHCI
602         select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
603         select USB_OHCI_LITTLE_ENDIAN
604         select USB_OHCI_HCD_PLATFORM
605         help
606           This option is deprecated now and the driver was removed, use
607           USB_OHCI_HCD_PLATFORM instead.
608
609           Enable support for the Octeon II SOC's on-chip OHCI
610           controller.  It is needed for low-speed USB 1.0 device
611           support.  All CN6XXX based chips with USB are supported.
612
613 endif # USB_OHCI_HCD
614
615 config USB_UHCI_HCD
616         tristate "UHCI HCD (most Intel and VIA) support"
617         depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
618         help
619           The Universal Host Controller Interface is a standard by Intel for
620           accessing the USB hardware in the PC (which is also called the USB
621           host controller). If your USB host controller conforms to this
622           standard, you may want to say Y, but see below. All recent boards
623           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
624           i810, i820) conform to this standard. Also all VIA PCI chipsets
625           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
626           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
627           If unsure, say Y.
628
629           To compile this driver as a module, choose M here: the
630           module will be called uhci-hcd.
631
632 config USB_UHCI_SUPPORT_NON_PCI_HC
633         bool
634         default y if (SPARC_LEON || USB_UHCI_PLATFORM)
635
636 config USB_UHCI_PLATFORM
637         bool
638         default y if (ARCH_VT8500 || ARCH_ASPEED)
639
640 config USB_UHCI_ASPEED
641         bool
642         default y if ARCH_ASPEED
643
644 config USB_FHCI_HCD
645         tristate "Freescale QE USB Host Controller support"
646         depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
647         select FSL_GTM
648         select QE_USB
649         help
650           This driver enables support for Freescale QE USB Host Controller
651           (as found on MPC8360 and MPC8323 processors), the driver supports
652           Full and Low Speed USB.
653
654 config FHCI_DEBUG
655         bool "Freescale QE USB Host Controller debug support"
656         depends on USB_FHCI_HCD && DEBUG_FS
657         help
658           Say "y" to see some FHCI debug information and statistics
659           through debugfs.
660
661 config USB_U132_HCD
662         tristate "Elan U132 Adapter Host Controller"
663         depends on USB_FTDI_ELAN
664         help
665           The U132 adapter is a USB to CardBus adapter specifically designed
666           for PC cards that contain an OHCI host controller. Typical PC cards
667           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
668           adapter will *NOT* work with PC cards that do not contain an OHCI
669           controller.
670
671           For those PC cards that contain multiple OHCI controllers only the
672           first one is used.
673
674           The driver consists of two modules, the "ftdi-elan" module is a
675           USB client driver that interfaces to the FTDI chip within ELAN's
676           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
677           controller driver that talks to the OHCI controller within the
678           CardBus cards that are inserted in the U132 adapter.
679
680           This driver has been tested with a CardBus OHCI USB adapter, and
681           worked with a USB PEN Drive inserted into the first USB port of
682           the PCCARD. A rather pointless thing to do, but useful for testing.
683
684           It is safe to say M here.
685
686           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
687
688 config USB_SL811_HCD
689         tristate "SL811HS HCD support"
690         depends on HAS_IOMEM
691         help
692           The SL811HS is a single-port USB controller that supports either
693           host side or peripheral side roles.  Enable this option if your
694           board has this chip, and you want to use it as a host controller. 
695           If unsure, say N.
696
697           To compile this driver as a module, choose M here: the
698           module will be called sl811-hcd.
699
700 config USB_SL811_HCD_ISO
701         bool "partial ISO support"
702         depends on USB_SL811_HCD
703         help
704           The driver doesn't support iso_frame_desc (yet), but for some simple
705           devices that just queue one ISO frame per URB, then ISO transfers
706           "should" work using the normal urb status fields.
707
708           If unsure, say N.
709
710 config USB_SL811_CS
711         tristate "CF/PCMCIA support for SL811HS HCD"
712         depends on USB_SL811_HCD && PCMCIA
713         help
714           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
715           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
716
717           To compile this driver as a module, choose M here: the
718           module will be called "sl811_cs".
719
720 config USB_R8A66597_HCD
721         tristate "R8A66597 HCD support"
722         depends on HAS_IOMEM
723         help
724           The R8A66597 is a USB 2.0 host and peripheral controller.
725
726           Enable this option if your board has this chip, and you want
727           to use it as a host controller.  If unsure, say N.
728
729           To compile this driver as a module, choose M here: the
730           module will be called r8a66597-hcd.
731
732 config USB_RENESAS_USBHS_HCD
733         tristate "Renesas USBHS HCD support"
734         depends on USB_RENESAS_USBHS
735         help
736           The Renesas USBHS is a USB 2.0 host and peripheral controller.
737
738           Enable this option if your board has this chip, and you want
739           to use it as a host controller.  If unsure, say N.
740
741           To compile this driver as a module, choose M here: the
742           module will be called renesas-usbhs.
743
744 config USB_IMX21_HCD
745         tristate "i.MX21 HCD support"
746         depends on ARM && ARCH_MXC
747         help
748           This driver enables support for the on-chip USB host in the
749           i.MX21 processor.
750
751           To compile this driver as a module, choose M here: the
752           module will be called "imx21-hcd".
753
754 config USB_HCD_BCMA
755         tristate "BCMA usb host driver"
756         depends on BCMA
757         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
758         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
759         help
760           Enable support for the EHCI and OCHI host controller on an bcma bus.
761           It converts the bcma driver into two platform device drivers
762           for ehci and ohci.
763
764           If unsure, say N.
765
766 config USB_HCD_SSB
767         tristate "SSB usb host driver"
768         depends on SSB
769         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
770         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
771         help
772           Enable support for the EHCI and OCHI host controller on an bcma bus.
773           It converts the bcma driver into two platform device drivers
774           for ehci and ohci.
775
776           If unsure, say N.
777
778 config USB_HCD_TEST_MODE
779         bool "HCD test mode support"
780         help
781           Say 'Y' to enable additional software test modes that may be
782           supported by the host controller drivers.
783
784           One such test mode is the Embedded High-speed Host Electrical Test
785           (EHSET) for EHCI host controller hardware, specifically the "Single
786           Step Set Feature" test.  Typically this will be enabled for On-the-Go
787           or embedded hosts that need to undergo USB-IF compliance testing with
788           the aid of special testing hardware.  In the future, this may expand
789           to include other tests that require support from a HCD driver.
790
791           This option is of interest only to developers who need to validate
792           their USB hardware designs.  It is not needed for normal use.  If
793           unsure, say N.