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