]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/usb/host/Kconfig
6150bed7cfa80d19b7f04dc6ae89cef14ce1fb5b
[linux.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_MTK
56         tristate "xHCI support for MediaTek SoCs"
57         select MFD_SYSCON
58         depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
59         ---help---
60           Say 'Y' to enable the support for the xHCI host controller
61           found in MediaTek SoCs.
62           If unsure, say N.
63
64 config USB_XHCI_MVEBU
65         tristate "xHCI support for Marvell Armada 375/38x"
66         select USB_XHCI_PLATFORM
67         depends on HAS_IOMEM
68         depends on ARCH_MVEBU || COMPILE_TEST
69         ---help---
70           Say 'Y' to enable the support for the xHCI host controller
71           found in Marvell Armada 375/38x ARM SOCs.
72
73 config USB_XHCI_RCAR
74         tristate "xHCI support for Renesas R-Car SoCs"
75         depends on USB_XHCI_PLATFORM
76         depends on ARCH_RENESAS || COMPILE_TEST
77         ---help---
78           Say 'Y' to enable the support for the xHCI host controller
79           found in Renesas R-Car ARM SoCs.
80
81 config USB_XHCI_TEGRA
82         tristate "xHCI support for NVIDIA Tegra SoCs"
83         depends on PHY_TEGRA_XUSB
84         depends on RESET_CONTROLLER
85         select FW_LOADER
86         ---help---
87           Say 'Y' to enable the support for the xHCI host controller
88           found in NVIDIA Tegra124 and later SoCs.
89
90 endif # USB_XHCI_HCD
91
92 config USB_EHCI_HCD
93         tristate "EHCI HCD (USB 2.0) support"
94         depends on HAS_DMA && HAS_IOMEM
95         ---help---
96           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
97           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
98           If your USB host controller supports USB 2.0, you will likely want to
99           configure this Host Controller Driver.
100
101           EHCI controllers are packaged with "companion" host controllers (OHCI
102           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
103           will connect to EHCI if the device is high speed, otherwise they
104           connect to a companion controller.  If you configure EHCI, you should
105           probably configure the OHCI (for NEC and some other vendors) USB Host
106           Controller Driver or UHCI (for Via motherboards) Host Controller
107           Driver too.
108
109           You may want to read <file:Documentation/usb/ehci.txt>.
110
111           To compile this driver as a module, choose M here: the
112           module will be called ehci-hcd.
113
114 config USB_EHCI_ROOT_HUB_TT
115         bool "Root Hub Transaction Translators"
116         depends on USB_EHCI_HCD
117         ---help---
118           Some EHCI chips have vendor-specific extensions to integrate
119           transaction translators, so that no OHCI or UHCI companion
120           controller is needed.  It's safe to say "y" even if your
121           controller doesn't support this feature.
122
123           This supports the EHCI implementation that's originally
124           from ARC, and has since changed hands a few times.
125
126 config USB_EHCI_TT_NEWSCHED
127         bool "Improved Transaction Translator scheduling"
128         depends on USB_EHCI_HCD
129         default y
130         ---help---
131           This changes the periodic scheduling code to fill more of the low
132           and full speed bandwidth available from the Transaction Translator
133           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
134           issued in each microframe, significantly reducing the number of
135           periodic low/fullspeed transfers possible.
136
137           If you have multiple periodic low/fullspeed devices connected to a
138           highspeed USB hub which is connected to a highspeed USB Host
139           Controller, and some of those devices will not work correctly
140           (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
141           you have only one such device and it doesn't work, you could try
142           saying N.
143
144           If unsure, say Y.
145
146 if USB_EHCI_HCD
147
148 config USB_EHCI_PCI
149         tristate
150         depends on USB_PCI
151         default y
152
153 config USB_EHCI_HCD_PMC_MSP
154         tristate "EHCI support for on-chip PMC MSP71xx USB controller"
155         depends on MSP_HAS_USB
156         default n
157         select USB_EHCI_BIG_ENDIAN_DESC
158         select USB_EHCI_BIG_ENDIAN_MMIO
159         ---help---
160                 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
161                 If unsure, say N.
162
163 config XPS_USB_HCD_XILINX
164         bool "Use Xilinx usb host EHCI controller core"
165         depends on (PPC32 || MICROBLAZE)
166         select USB_EHCI_BIG_ENDIAN_DESC
167         select USB_EHCI_BIG_ENDIAN_MMIO
168         ---help---
169                 Xilinx xps USB host controller core is EHCI compliant and has
170                 transaction translator built-in. It can be configured to either
171                 support both high speed and full speed devices, or high speed
172                 devices only.
173
174 config USB_EHCI_FSL
175         tristate "Support for Freescale PPC on-chip EHCI USB controller"
176         depends on FSL_SOC
177         select USB_EHCI_ROOT_HUB_TT
178         ---help---
179           Variation of ARC USB block used in some Freescale chips.
180
181 config USB_EHCI_MXC
182         tristate "Support for Freescale i.MX on-chip EHCI USB controller"
183         depends on ARCH_MXC
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_HCD_OMAP
189         tristate "EHCI support for OMAP3 and later chips"
190         depends on ARCH_OMAP
191         depends on NOP_USB_XCEIV
192         default y
193         ---help---
194           Enables support for the on-chip EHCI controller on
195           OMAP3 and later chips.
196
197 config USB_EHCI_HCD_ORION
198         tristate  "Support for Marvell EBU on-chip EHCI USB controller"
199         depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU)
200         default y
201         ---help---
202           Enables support for the on-chip EHCI controller on Marvell's
203           embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
204           Armada 370.  This is different from the EHCI implementation
205           on Marvell's mobile PXA and MMP SoC, see "EHCI support for
206           Marvell PXA/MMP USB controller" for those.
207
208 config USB_EHCI_HCD_SPEAR
209         tristate "Support for ST SPEAr on-chip EHCI USB controller"
210         depends on USB_EHCI_HCD && PLAT_SPEAR
211         default y
212         ---help---
213           Enables support for the on-chip EHCI controller on
214           ST SPEAr chips.
215
216 config USB_EHCI_HCD_STI
217         tristate "Support for ST STiHxxx on-chip EHCI USB controller"
218         depends on ARCH_STI && OF
219         select GENERIC_PHY
220         select USB_EHCI_HCD_PLATFORM
221         help
222           Enable support for the on-chip EHCI controller found on
223           STMicroelectronics consumer electronics SoC's.
224
225 config USB_EHCI_HCD_AT91
226         tristate  "Support for Atmel on-chip EHCI USB controller"
227         depends on USB_EHCI_HCD && ARCH_AT91
228         default y
229         ---help---
230           Enables support for the on-chip EHCI controller on
231           Atmel chips.
232
233 config USB_EHCI_TEGRA
234        tristate "NVIDIA Tegra HCD support"
235        depends on ARCH_TEGRA
236        select USB_EHCI_ROOT_HUB_TT
237        select USB_PHY
238         select USB_ULPI
239         select USB_ULPI_VIEWPORT
240        help
241          This driver enables support for the internal USB Host Controllers
242          found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
243
244 config USB_EHCI_HCD_PPC_OF
245         bool "EHCI support for PPC USB controller on OF platform bus"
246         depends on PPC
247         default y
248         ---help---
249           Enables support for the USB controller present on the PowerPC
250           OpenFirmware platform bus.
251
252 config USB_EHCI_SH
253         bool "EHCI support for SuperH USB controller"
254         depends on SUPERH
255         ---help---
256           Enables support for the on-chip EHCI controller on the SuperH.
257           If you use the PCI EHCI controller, this option is not necessary.
258
259 config USB_EHCI_EXYNOS
260        tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
261        depends on ARCH_S5PV210 || ARCH_EXYNOS
262        help
263         Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
264
265 config USB_EHCI_MV
266         bool "EHCI support for Marvell PXA/MMP USB controller"
267         depends on (ARCH_PXA || ARCH_MMP)
268         select USB_EHCI_ROOT_HUB_TT
269         ---help---
270           Enables support for Marvell (including PXA and MMP series) on-chip
271           USB SPH and OTG controller. SPH is a single port host, and it can
272           only be EHCI host. OTG is controller that can switch to host mode.
273           Note that this driver will not work on Marvell's other EHCI
274           controller used by the EBU-type SoCs including Orion, Kirkwood,
275           Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
276           on-chip EHCI USB controller" for those.
277
278 config USB_W90X900_EHCI
279         tristate "W90X900(W90P910) EHCI support"
280         depends on ARCH_W90X900
281         ---help---
282                 Enables support for the W90X900 USB controller
283
284 config USB_CNS3XXX_EHCI
285         bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
286         depends on ARCH_CNS3XXX
287         select USB_EHCI_HCD_PLATFORM
288         ---help---
289           This option is deprecated now and the driver was removed, use
290           USB_EHCI_HCD_PLATFORM instead.
291
292           Enable support for the CNS3XXX SOC's on-chip EHCI controller.
293           It is needed for high-speed (480Mbit/sec) USB 2.0 device
294           support.
295
296 config USB_EHCI_ATH79
297         bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
298         depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
299         select USB_EHCI_ROOT_HUB_TT
300         select USB_EHCI_HCD_PLATFORM
301         default y
302         ---help---
303           This option is deprecated now and the driver was removed, use
304           USB_EHCI_HCD_PLATFORM instead.
305
306           Enables support for the built-in EHCI controller present
307           on the Atheros AR7XXX/AR9XXX SoCs.
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         ---help---
364           Supports the Philips ISP1362 chip as a host controller
365
366           This driver does not support isochronous transfers.
367
368           To compile this driver as a module, choose M here: the
369           module will be called isp1362-hcd.
370
371 config USB_FOTG210_HCD
372         tristate "FOTG210 HCD support"
373         depends on USB && HAS_DMA && HAS_IOMEM
374         ---help---
375           Faraday FOTG210 is an OTG controller which can be configured as
376           an USB2.0 host. It is designed to meet USB2.0 EHCI specification
377           with minor modification.
378
379           To compile this driver as a module, choose M here: the
380           module will be called fotg210-hcd.
381
382 config USB_MAX3421_HCD
383         tristate "MAX3421 HCD (USB-over-SPI) support"
384         depends on USB && SPI
385         ---help---
386           The Maxim MAX3421E chip supports standard USB 2.0-compliant
387           full-speed devices either in host or peripheral mode.  This
388           driver supports the host-mode of the MAX3421E only.
389
390           To compile this driver as a module, choose M here: the module will
391           be called max3421-hcd.
392
393 config USB_OHCI_HCD
394         tristate "OHCI HCD (USB 1.1) support"
395         depends on HAS_DMA && HAS_IOMEM
396         ---help---
397           The Open Host Controller Interface (OHCI) is a standard for accessing
398           USB 1.1 host controller hardware.  It does more in hardware than Intel's
399           UHCI specification.  If your USB host controller follows the OHCI spec,
400           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
401           USB controller from Intel or VIA, this is appropriate.  If your host
402           controller doesn't use PCI, this is probably appropriate.  For a PCI
403           based system where you're not sure, the "lspci -v" entry will list the
404           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
405
406           To compile this driver as a module, choose M here: the
407           module will be called ohci-hcd.
408
409 if USB_OHCI_HCD
410
411 config USB_OHCI_HCD_OMAP1
412         tristate "OHCI support for OMAP1/2 chips"
413         depends on ARCH_OMAP1
414         depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
415         default y
416         ---help---
417           Enables support for the OHCI controller on OMAP1/2 chips.
418
419 config USB_OHCI_HCD_SPEAR
420         tristate "Support for ST SPEAr on-chip OHCI USB controller"
421         depends on USB_OHCI_HCD && PLAT_SPEAR
422         default y
423         ---help---
424           Enables support for the on-chip OHCI controller on
425           ST SPEAr chips.
426
427 config USB_OHCI_HCD_STI
428         tristate "Support for ST STiHxxx on-chip OHCI USB controller"
429         depends on ARCH_STI && OF
430         select GENERIC_PHY
431         select USB_OHCI_HCD_PLATFORM
432         help
433           Enable support for the on-chip OHCI controller found on
434           STMicroelectronics consumer electronics SoC's.
435
436 config USB_OHCI_HCD_S3C2410
437         tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
438         depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
439         default y
440         ---help---
441           Enables support for the on-chip OHCI controller on
442           S3C24xx/S3C64xx chips.
443
444 config USB_OHCI_HCD_LPC32XX
445         tristate "Support for LPC on-chip OHCI USB controller"
446         depends on USB_OHCI_HCD && ARCH_LPC32XX
447         depends on USB_ISP1301
448         default y
449         ---help---
450           Enables support for the on-chip OHCI controller on
451           NXP chips.
452
453 config USB_OHCI_HCD_PXA27X
454         tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
455         depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
456         default y
457         ---help---
458           Enables support for the on-chip OHCI controller on
459           PXA27x/PXA3xx chips.
460
461 config USB_OHCI_HCD_AT91
462         tristate "Support for Atmel on-chip OHCI USB controller"
463         depends on USB_OHCI_HCD && ARCH_AT91 && OF
464         default y
465         ---help---
466           Enables support for the on-chip OHCI controller on
467           Atmel chips.
468
469 config USB_OHCI_HCD_OMAP3
470         tristate "OHCI support for OMAP3 and later chips"
471         depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5)
472         select USB_OHCI_HCD_PLATFORM
473         default y
474         help
475           This option is deprecated now and the driver was removed, use
476           USB_OHCI_HCD_PLATFORM instead.
477
478           Enables support for the on-chip OHCI controller on
479           OMAP3 and later chips.
480
481 config USB_OHCI_HCD_DAVINCI
482         tristate "OHCI support for TI DaVinci DA8xx"
483         depends on ARCH_DAVINCI_DA8XX
484         depends on USB_OHCI_HCD
485         select PHY_DA8XX_USB
486         default y
487         help
488           Enables support for the DaVinci DA8xx integrated OHCI
489           controller. This driver cannot currently be a loadable
490           module because it lacks a proper PHY abstraction.
491
492 config USB_OHCI_ATH79
493         bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
494         depends on (SOC_AR71XX || SOC_AR724X)
495         select USB_OHCI_HCD_PLATFORM
496         default y
497         help
498           This option is deprecated now and the driver was removed, use
499           USB_OHCI_HCD_PLATFORM instead.
500
501           Enables support for the built-in OHCI controller present on the
502           Atheros AR71XX/AR7240 SoCs.
503
504 config USB_OHCI_HCD_PPC_OF_BE
505         bool "OHCI support for OF platform bus (big endian)"
506         depends on PPC
507         select USB_OHCI_BIG_ENDIAN_DESC
508         select USB_OHCI_BIG_ENDIAN_MMIO
509         ---help---
510           Enables support for big-endian USB controllers present on the
511           OpenFirmware platform bus.
512
513 config USB_OHCI_HCD_PPC_OF_LE
514         bool "OHCI support for OF platform bus (little endian)"
515         depends on PPC
516         select USB_OHCI_LITTLE_ENDIAN
517         ---help---
518           Enables support for little-endian USB controllers present on the
519           OpenFirmware platform bus.
520
521 config USB_OHCI_HCD_PPC_OF
522         bool
523         depends on PPC
524         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
525
526 config USB_OHCI_HCD_PCI
527         tristate "OHCI support for PCI-bus USB controllers"
528         depends on USB_PCI
529         default y
530         select USB_OHCI_LITTLE_ENDIAN
531         ---help---
532           Enables support for PCI-bus plug-in USB controller cards.
533           If unsure, say Y.
534
535 config USB_OHCI_HCD_SSB
536         bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
537         depends on (SSB = y || SSB = USB_OHCI_HCD)
538         select USB_HCD_SSB
539         select USB_OHCI_HCD_PLATFORM
540         default n
541         ---help---
542           This option is deprecated now and the driver was removed, use
543           USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
544
545           Support for the Sonics Silicon Backplane (SSB) attached
546           Broadcom USB OHCI core.
547
548           This device is present in some embedded devices with
549           Broadcom based SSB bus.
550
551           If unsure, say N.
552
553 config USB_OHCI_SH
554         bool "OHCI support for SuperH USB controller (DEPRECATED)"
555         depends on SUPERH
556         select USB_OHCI_HCD_PLATFORM
557         ---help---
558           This option is deprecated now and the driver was removed, use
559           USB_OHCI_HCD_PLATFORM instead.
560
561           Enables support for the on-chip OHCI controller on the SuperH.
562           If you use the PCI OHCI controller, this option is not necessary.
563
564 config USB_OHCI_EXYNOS
565         tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
566         depends on ARCH_S5PV210 || ARCH_EXYNOS
567         help
568          Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
569
570 config USB_CNS3XXX_OHCI
571         bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
572         depends on ARCH_CNS3XXX
573         select USB_OHCI_HCD_PLATFORM
574         ---help---
575           This option is deprecated now and the driver was removed, use
576           USB_OHCI_HCD_PLATFORM instead.
577
578           Enable support for the CNS3XXX SOC's on-chip OHCI controller.
579           It is needed for low-speed USB 1.0 device support.
580
581 config USB_OHCI_HCD_PLATFORM
582         tristate "Generic OHCI driver for a platform device"
583         default n
584         ---help---
585           Adds an OHCI host driver for a generic platform device, which
586           provides a memory space and an irq.
587
588           If unsure, say N.
589
590 config USB_OCTEON_OHCI
591         bool "Octeon on-chip OHCI support (DEPRECATED)"
592         depends on CAVIUM_OCTEON_SOC
593         default USB_OCTEON_EHCI
594         select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
595         select USB_OHCI_LITTLE_ENDIAN
596         select USB_OHCI_HCD_PLATFORM
597         help
598           This option is deprecated now and the driver was removed, use
599           USB_OHCI_HCD_PLATFORM instead.
600
601           Enable support for the Octeon II SOC's on-chip OHCI
602           controller.  It is needed for low-speed USB 1.0 device
603           support.  All CN6XXX based chips with USB are supported.
604
605 endif # USB_OHCI_HCD
606
607 config USB_UHCI_HCD
608         tristate "UHCI HCD (most Intel and VIA) support"
609         depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
610         ---help---
611           The Universal Host Controller Interface is a standard by Intel for
612           accessing the USB hardware in the PC (which is also called the USB
613           host controller). If your USB host controller conforms to this
614           standard, you may want to say Y, but see below. All recent boards
615           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
616           i810, i820) conform to this standard. Also all VIA PCI chipsets
617           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
618           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
619           If unsure, say Y.
620
621           To compile this driver as a module, choose M here: the
622           module will be called uhci-hcd.
623
624 config USB_UHCI_SUPPORT_NON_PCI_HC
625         bool
626         default y if (SPARC_LEON || USB_UHCI_PLATFORM)
627
628 config USB_UHCI_PLATFORM
629         bool
630         default y if (ARCH_VT8500 || ARCH_ASPEED)
631
632 config USB_UHCI_ASPEED
633        bool
634        default y if ARCH_ASPEED
635
636 config USB_UHCI_BIG_ENDIAN_MMIO
637         bool
638         default y if SPARC_LEON
639
640 config USB_UHCI_BIG_ENDIAN_DESC
641         bool
642         default y if SPARC_LEON
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_WHCI_HCD
745         tristate "Wireless USB Host Controller Interface (WHCI) driver"
746         depends on USB_PCI && USB && UWB
747         select USB_WUSB
748         select UWB_WHCI
749         help
750           A driver for PCI-based Wireless USB Host Controllers that are
751           compliant with the WHCI specification.
752
753           To compile this driver a module, choose M here: the module
754           will be called "whci-hcd".
755
756 config USB_HWA_HCD
757         tristate "Host Wire Adapter (HWA) driver"
758         depends on USB && UWB
759         select USB_WUSB
760         select UWB_HWA
761         help
762           This driver enables you to connect Wireless USB devices to
763           your system using a Host Wire Adaptor USB dongle. This is an
764           UWB Radio Controller and WUSB Host Controller connected to
765           your machine via USB (specified in WUSB1.0).
766
767           To compile this driver a module, choose M here: the module
768           will be called "hwa-hc".
769
770 config USB_IMX21_HCD
771        tristate "i.MX21 HCD support"
772        depends on ARM && ARCH_MXC
773        help
774          This driver enables support for the on-chip USB host in the
775          i.MX21 processor.
776
777          To compile this driver as a module, choose M here: the
778          module will be called "imx21-hcd".
779
780 config USB_HCD_BCMA
781         tristate "BCMA usb host driver"
782         depends on BCMA
783         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
784         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
785         help
786           Enable support for the EHCI and OCHI host controller on an bcma bus.
787           It converts the bcma driver into two platform device drivers
788           for ehci and ohci.
789
790           If unsure, say N.
791
792 config USB_HCD_SSB
793         tristate "SSB usb host driver"
794         depends on SSB
795         select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
796         select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
797         help
798           Enable support for the EHCI and OCHI host controller on an bcma bus.
799           It converts the bcma driver into two platform device drivers
800           for ehci and ohci.
801
802           If unsure, say N.
803
804 config USB_HCD_TEST_MODE
805         bool "HCD test mode support"
806         ---help---
807           Say 'Y' to enable additional software test modes that may be
808           supported by the host controller drivers.
809
810           One such test mode is the Embedded High-speed Host Electrical Test
811           (EHSET) for EHCI host controller hardware, specifically the "Single
812           Step Set Feature" test.  Typically this will be enabled for On-the-Go
813           or embedded hosts that need to undergo USB-IF compliance testing with
814           the aid of special testing hardware.  In the future, this may expand
815           to include other tests that require support from a HCD driver.
816
817           This option is of interest only to developers who need to validate
818           their USB hardware designs.  It is not needed for normal use.  If
819           unsure, say N.