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