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