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