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