• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0
2#
3# USB Host Controller Drivers
4#
5comment "USB Host Controller Drivers"
6
7config USB_C67X00_HCD
8	tristate "Cypress C67x00 HCD support"
9	depends on HAS_IOMEM
10	help
11	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
12	  host/peripheral/OTG USB controllers.
13
14	  Enable this option to support this chip in host controller mode.
15	  If unsure, say N.
16
17	  To compile this driver as a module, choose M here: the
18	  module will be called c67x00.
19
20config USB_XHCI_HCD
21	tristate "xHCI HCD (USB 3.0) support"
22	depends on HAS_DMA && HAS_IOMEM
23	---help---
24	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
25	  "SuperSpeed" host controller hardware.
26
27	  To compile this driver as a module, choose M here: the
28	  module will be called xhci-hcd.
29
30if USB_XHCI_HCD
31config USB_XHCI_DBGCAP
32	bool "xHCI support for debug capability"
33	depends on TTY
34	---help---
35	  Say 'Y' to enable the support for the xHCI debug capability. Make
36	  sure that your xHCI host supports the extended debug capability and
37	  you want a TTY serial device based on the xHCI debug capability
38	  before enabling this option. If unsure, say 'N'.
39
40config USB_XHCI_PCI
41       tristate
42       depends on USB_PCI
43       default y
44
45config USB_XHCI_PCI_RENESAS
46	tristate "Renesas USB XHCI Driver"
47	depends on USB_XHCI_PCI
48	---help---
49	  Say 'Y' to enable the support for renesas USB XHCI Driver if
50	  you have such a device. These devices need additional firmware,
51	  make sure that is available.
52	  If unsure, say 'N'.
53
54config USB_XHCI_PLATFORM
55	tristate "Generic xHCI driver for a platform device"
56	select USB_XHCI_RCAR if ARCH_RENESAS
57	---help---
58	  Adds an xHCI host driver for a generic platform device, which
59	  provides a memory space and an irq.
60	  It is also a prerequisite for platform specific drivers that
61	  implement some extra quirks.
62
63	  If unsure, say N.
64
65config USB_XHCI_HISTB
66	tristate "xHCI support for HiSilicon STB SoCs"
67	depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
68	help
69	  Say 'Y' to enable the support for the xHCI host controller
70	  found in HiSilicon STB SoCs.
71
72config USB_XHCI_MTK
73	tristate "xHCI support for MediaTek SoCs"
74	select MFD_SYSCON
75	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
76	---help---
77	  Say 'Y' to enable the support for the xHCI host controller
78	  found in MediaTek SoCs.
79	  If unsure, say N.
80
81config USB_XHCI_MVEBU
82	tristate "xHCI support for Marvell Armada 375/38x/37xx"
83	select USB_XHCI_PLATFORM
84	depends on HAS_IOMEM
85	depends on ARCH_MVEBU || COMPILE_TEST
86	---help---
87	  Say 'Y' to enable the support for the xHCI host controller
88	  found in Marvell Armada 375/38x/37xx ARM SOCs.
89
90config USB_XHCI_RCAR
91	tristate "xHCI support for Renesas R-Car SoCs"
92	depends on USB_XHCI_PLATFORM
93	depends on ARCH_RENESAS || COMPILE_TEST
94	---help---
95	  Say 'Y' to enable the support for the xHCI host controller
96	  found in Renesas R-Car ARM SoCs.
97
98config USB_XHCI_TEGRA
99	tristate "xHCI support for NVIDIA Tegra SoCs"
100	depends on PHY_TEGRA_XUSB
101	depends on RESET_CONTROLLER
102	select FW_LOADER
103	---help---
104	  Say 'Y' to enable the support for the xHCI host controller
105	  found in NVIDIA Tegra124 and later SoCs.
106
107endif # USB_XHCI_HCD
108
109config USB_EHCI_HCD
110	tristate "EHCI HCD (USB 2.0) support"
111	depends on HAS_DMA && HAS_IOMEM
112	---help---
113	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
114	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
115	  If your USB host controller supports USB 2.0, you will likely want to
116	  configure this Host Controller Driver.
117
118	  EHCI controllers are packaged with "companion" host controllers (OHCI
119	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
120	  will connect to EHCI if the device is high speed, otherwise they
121	  connect to a companion controller.  If you configure EHCI, you should
122	  probably configure the OHCI (for NEC and some other vendors) USB Host
123	  Controller Driver or UHCI (for Via motherboards) Host Controller
124	  Driver too.
125
126	  You may want to read <file:Documentation/usb/ehci.rst>.
127
128	  To compile this driver as a module, choose M here: the
129	  module will be called ehci-hcd.
130
131config USB_EHCI_ROOT_HUB_TT
132	bool "Root Hub Transaction Translators"
133	depends on USB_EHCI_HCD
134	---help---
135	  Some EHCI chips have vendor-specific extensions to integrate
136	  transaction translators, so that no OHCI or UHCI companion
137	  controller is needed.  It's safe to say "y" even if your
138	  controller doesn't support this feature.
139
140	  This supports the EHCI implementation that's originally
141	  from ARC, and has since changed hands a few times.
142
143config USB_EHCI_TT_NEWSCHED
144	bool "Improved Transaction Translator scheduling"
145	depends on USB_EHCI_HCD
146	default y
147	---help---
148	  This changes the periodic scheduling code to fill more of the low
149	  and full speed bandwidth available from the Transaction Translator
150	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
151	  issued in each microframe, significantly reducing the number of
152	  periodic low/fullspeed transfers possible.
153
154	  If you have multiple periodic low/fullspeed devices connected to a
155	  highspeed USB hub which is connected to a highspeed USB Host
156	  Controller, and some of those devices will not work correctly
157	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
158	  you have only one such device and it doesn't work, you could try
159	  saying N.
160
161	  If unsure, say Y.
162
163if USB_EHCI_HCD
164
165config USB_EHCI_PCI
166	tristate
167	depends on USB_PCI
168	default y
169
170config USB_EHCI_HCD_PMC_MSP
171	tristate "EHCI support for on-chip PMC MSP71xx USB controller"
172	depends on MSP_HAS_USB
173	select USB_EHCI_BIG_ENDIAN_DESC
174	select USB_EHCI_BIG_ENDIAN_MMIO
175	---help---
176		Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
177		If unsure, say N.
178
179config XPS_USB_HCD_XILINX
180	bool "Use Xilinx usb host EHCI controller core"
181	depends on (PPC32 || MICROBLAZE)
182	select USB_EHCI_BIG_ENDIAN_DESC
183	select USB_EHCI_BIG_ENDIAN_MMIO
184	---help---
185		Xilinx xps USB host controller core is EHCI compliant and has
186		transaction translator built-in. It can be configured to either
187		support both high speed and full speed devices, or high speed
188		devices only.
189
190config USB_EHCI_FSL
191	tristate "Support for Freescale on-chip EHCI USB controller"
192	select USB_EHCI_ROOT_HUB_TT
193	---help---
194	  Variation of ARC USB block used in some Freescale chips.
195
196config USB_EHCI_MXC
197	tristate "Support for Freescale i.MX on-chip EHCI USB controller"
198	depends on ARCH_MXC
199	select USB_EHCI_ROOT_HUB_TT
200	---help---
201	  Variation of ARC USB block used in some Freescale chips.
202
203config USB_EHCI_HCD_NPCM7XX
204	tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
205	depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
206	default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
207	help
208	  Enables support for the on-chip EHCI controller on
209	  Nuvoton NPCM7XX chips.
210
211config USB_EHCI_HCD_OMAP
212	tristate "EHCI support for OMAP3 and later chips"
213	depends on ARCH_OMAP
214	depends on NOP_USB_XCEIV
215	default y
216	---help---
217	  Enables support for the on-chip EHCI controller on
218	  OMAP3 and later chips.
219
220config USB_EHCI_HCD_ORION
221	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
222	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU)
223	default y
224	---help---
225	  Enables support for the on-chip EHCI controller on Marvell's
226	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
227	  Armada 370.  This is different from the EHCI implementation
228	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
229	  Marvell PXA/MMP USB controller" for those.
230
231config USB_EHCI_HCD_SPEAR
232        tristate "Support for ST SPEAr on-chip EHCI USB controller"
233        depends on USB_EHCI_HCD && PLAT_SPEAR
234        default y
235        ---help---
236          Enables support for the on-chip EHCI controller on
237          ST SPEAr chips.
238
239config USB_EHCI_HCD_STI
240	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
241	depends on ARCH_STI && OF
242	select GENERIC_PHY
243	select USB_EHCI_HCD_PLATFORM
244	help
245	  Enable support for the on-chip EHCI controller found on
246	  STMicroelectronics consumer electronics SoC's.
247
248config USB_EHCI_HCD_AT91
249        tristate  "Support for Atmel on-chip EHCI USB controller"
250        depends on USB_EHCI_HCD && ARCH_AT91
251        default y
252        ---help---
253          Enables support for the on-chip EHCI controller on
254          Atmel chips.
255
256config USB_EHCI_TEGRA
257       tristate "NVIDIA Tegra HCD support"
258       depends on ARCH_TEGRA
259       select USB_EHCI_ROOT_HUB_TT
260       select USB_TEGRA_PHY
261       help
262         This driver enables support for the internal USB Host Controllers
263         found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
264
265config USB_EHCI_HCD_PPC_OF
266	bool "EHCI support for PPC USB controller on OF platform bus"
267	depends on PPC
268	default y
269	---help---
270	  Enables support for the USB controller present on the PowerPC
271	  OpenFirmware platform bus.
272
273config USB_EHCI_SH
274	bool "EHCI support for SuperH USB controller"
275	depends on SUPERH
276	---help---
277	  Enables support for the on-chip EHCI controller on the SuperH.
278	  If you use the PCI EHCI controller, this option is not necessary.
279
280config USB_EHCI_EXYNOS
281       tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
282       depends on ARCH_S5PV210 || ARCH_EXYNOS
283       help
284	Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
285
286config USB_EHCI_MV
287	tristate "EHCI support for Marvell PXA/MMP USB controller"
288	depends on (ARCH_PXA || ARCH_MMP)
289	select USB_EHCI_ROOT_HUB_TT
290	---help---
291	  Enables support for Marvell (including PXA and MMP series) on-chip
292	  USB SPH and OTG controller. SPH is a single port host, and it can
293	  only be EHCI host. OTG is controller that can switch to host mode.
294	  Note that this driver will not work on Marvell's other EHCI
295	  controller used by the EBU-type SoCs including Orion, Kirkwood,
296	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
297	  on-chip EHCI USB controller" for those.
298
299config USB_CNS3XXX_EHCI
300	bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
301	depends on ARCH_CNS3XXX
302	select USB_EHCI_HCD_PLATFORM
303	---help---
304	  This option is deprecated now and the driver was removed, use
305	  USB_EHCI_HCD_PLATFORM instead.
306
307	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
308	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
309	  support.
310
311config USB_EHCI_HCD_PLATFORM
312	tristate "Generic EHCI driver for a platform device"
313	---help---
314	  Adds an EHCI host driver for a generic platform device, which
315	  provides a memory space and an irq.
316
317	  If unsure, say N.
318
319config USB_OCTEON_EHCI
320	bool "Octeon on-chip EHCI support (DEPRECATED)"
321	depends on CAVIUM_OCTEON_SOC
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
448	depends on ARCH_LPC32XX || COMPILE_TEST
449	depends on USB_ISP1301
450	default y
451	---help---
452          Enables support for the on-chip OHCI controller on
453          NXP chips.
454
455config USB_OHCI_HCD_PXA27X
456	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
457	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
458	default y
459	---help---
460	  Enables support for the on-chip OHCI controller on
461	  PXA27x/PXA3xx chips.
462
463config USB_OHCI_HCD_AT91
464	tristate "Support for Atmel on-chip OHCI USB controller"
465	depends on USB_OHCI_HCD && ARCH_AT91 && OF
466	default y
467	---help---
468          Enables support for the on-chip OHCI controller on
469          Atmel chips.
470
471config USB_OHCI_HCD_OMAP3
472	tristate "OHCI support for OMAP3 and later chips"
473	depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5)
474	select USB_OHCI_HCD_PLATFORM
475	default y
476	help
477	  This option is deprecated now and the driver was removed, use
478	  USB_OHCI_HCD_PLATFORM instead.
479
480	  Enables support for the on-chip OHCI controller on
481	  OMAP3 and later chips.
482
483config USB_OHCI_HCD_DAVINCI
484	tristate "OHCI support for TI DaVinci DA8xx"
485	depends on ARCH_DAVINCI_DA8XX
486	depends on USB_OHCI_HCD
487	select PHY_DA8XX_USB
488	default y
489	help
490	  Enables support for the DaVinci DA8xx integrated OHCI
491	  controller. This driver cannot currently be a loadable
492	  module because it lacks a proper PHY abstraction.
493
494config USB_OHCI_HCD_PPC_OF_BE
495	bool "OHCI support for OF platform bus (big endian)"
496	depends on PPC
497	select USB_OHCI_BIG_ENDIAN_DESC
498	select USB_OHCI_BIG_ENDIAN_MMIO
499	---help---
500	  Enables support for big-endian USB controllers present on the
501	  OpenFirmware platform bus.
502
503config USB_OHCI_HCD_PPC_OF_LE
504	bool "OHCI support for OF platform bus (little endian)"
505	depends on PPC
506	select USB_OHCI_LITTLE_ENDIAN
507	---help---
508	  Enables support for little-endian USB controllers present on the
509	  OpenFirmware platform bus.
510
511config USB_OHCI_HCD_PPC_OF
512	bool
513	depends on PPC
514	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
515
516config USB_OHCI_HCD_PCI
517	tristate "OHCI support for PCI-bus USB controllers"
518	depends on USB_PCI
519	default y
520	select USB_OHCI_LITTLE_ENDIAN
521	---help---
522	  Enables support for PCI-bus plug-in USB controller cards.
523	  If unsure, say Y.
524
525config USB_OHCI_HCD_SSB
526	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
527	depends on (SSB = y || SSB = USB_OHCI_HCD)
528	select USB_HCD_SSB
529	select USB_OHCI_HCD_PLATFORM
530	---help---
531	  This option is deprecated now and the driver was removed, use
532	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
533
534	  Support for the Sonics Silicon Backplane (SSB) attached
535	  Broadcom USB OHCI core.
536
537	  This device is present in some embedded devices with
538	  Broadcom based SSB bus.
539
540	  If unsure, say N.
541
542config USB_OHCI_SH
543	bool "OHCI support for SuperH USB controller (DEPRECATED)"
544	depends on SUPERH
545	select USB_OHCI_HCD_PLATFORM
546	---help---
547	  This option is deprecated now and the driver was removed, use
548	  USB_OHCI_HCD_PLATFORM instead.
549
550	  Enables support for the on-chip OHCI controller on the SuperH.
551	  If you use the PCI OHCI controller, this option is not necessary.
552
553config USB_OHCI_EXYNOS
554	tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
555	depends on ARCH_S5PV210 || ARCH_EXYNOS
556	help
557	 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
558
559config USB_CNS3XXX_OHCI
560	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
561	depends on ARCH_CNS3XXX
562	select USB_OHCI_HCD_PLATFORM
563	---help---
564	  This option is deprecated now and the driver was removed, use
565	  USB_OHCI_HCD_PLATFORM instead.
566
567	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
568	  It is needed for low-speed USB 1.0 device support.
569
570config USB_OHCI_HCD_PLATFORM
571	tristate "Generic OHCI driver for a platform device"
572	---help---
573	  Adds an OHCI host driver for a generic platform device, which
574	  provides a memory space and an irq.
575
576	  If unsure, say N.
577
578config USB_OCTEON_OHCI
579	bool "Octeon on-chip OHCI support (DEPRECATED)"
580	depends on CAVIUM_OCTEON_SOC
581	default USB_OCTEON_EHCI
582	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
583	select USB_OHCI_LITTLE_ENDIAN
584	select USB_OHCI_HCD_PLATFORM
585	help
586	  This option is deprecated now and the driver was removed, use
587	  USB_OHCI_HCD_PLATFORM instead.
588
589	  Enable support for the Octeon II SOC's on-chip OHCI
590	  controller.  It is needed for low-speed USB 1.0 device
591	  support.  All CN6XXX based chips with USB are supported.
592
593endif # USB_OHCI_HCD
594
595config USB_UHCI_HCD
596	tristate "UHCI HCD (most Intel and VIA) support"
597	depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
598	---help---
599	  The Universal Host Controller Interface is a standard by Intel for
600	  accessing the USB hardware in the PC (which is also called the USB
601	  host controller). If your USB host controller conforms to this
602	  standard, you may want to say Y, but see below. All recent boards
603	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
604	  i810, i820) conform to this standard. Also all VIA PCI chipsets
605	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
606	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
607	  If unsure, say Y.
608
609	  To compile this driver as a module, choose M here: the
610	  module will be called uhci-hcd.
611
612config USB_UHCI_SUPPORT_NON_PCI_HC
613	bool
614	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
615
616config USB_UHCI_PLATFORM
617	bool
618	default y if (ARCH_VT8500 || ARCH_ASPEED)
619
620config USB_UHCI_ASPEED
621       bool
622       default y if ARCH_ASPEED
623
624config 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
634config 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
641config 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
668config USB_SL811_HCD
669	tristate "SL811HS HCD support"
670	depends on HAS_IOMEM
671	help
672	  The SL811HS is a single-port USB controller that supports either
673	  host side or peripheral side roles.  Enable this option if your
674	  board has this chip, and you want to use it as a host controller.
675	  If unsure, say N.
676
677	  To compile this driver as a module, choose M here: the
678	  module will be called sl811-hcd.
679
680config USB_SL811_HCD_ISO
681	bool "partial ISO support"
682	depends on USB_SL811_HCD
683	help
684	  The driver doesn't support iso_frame_desc (yet), but for some simple
685	  devices that just queue one ISO frame per URB, then ISO transfers
686	  "should" work using the normal urb status fields.
687
688	  If unsure, say N.
689
690config USB_SL811_CS
691	tristate "CF/PCMCIA support for SL811HS HCD"
692	depends on USB_SL811_HCD && PCMCIA
693	help
694	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
695	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
696
697	  To compile this driver as a module, choose M here: the
698	  module will be called "sl811_cs".
699
700config USB_R8A66597_HCD
701	tristate "R8A66597 HCD support"
702	depends on HAS_IOMEM
703	help
704	  The R8A66597 is a USB 2.0 host and peripheral controller.
705
706	  Enable this option if your board has this chip, and you want
707	  to use it as a host controller.  If unsure, say N.
708
709	  To compile this driver as a module, choose M here: the
710	  module will be called r8a66597-hcd.
711
712config USB_RENESAS_USBHS_HCD
713	tristate "Renesas USBHS HCD support"
714	depends on USB_RENESAS_USBHS
715	help
716	  The Renesas USBHS 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 renesas-usbhs.
723
724config USB_IMX21_HCD
725       tristate "i.MX21 HCD support"
726       depends on ARM && ARCH_MXC
727       help
728         This driver enables support for the on-chip USB host in the
729         i.MX21 processor.
730
731         To compile this driver as a module, choose M here: the
732         module will be called "imx21-hcd".
733
734config USB_HCD_BCMA
735	tristate "BCMA usb host driver"
736	depends on BCMA
737	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
738	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
739	help
740	  Enable support for the EHCI and OCHI host controller on an bcma bus.
741	  It converts the bcma driver into two platform device drivers
742	  for ehci and ohci.
743
744	  If unsure, say N.
745
746config USB_HCD_SSB
747	tristate "SSB usb host driver"
748	depends on SSB
749	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
750	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
751	help
752	  Enable support for the EHCI and OCHI host controller on an bcma bus.
753	  It converts the bcma driver into two platform device drivers
754	  for ehci and ohci.
755
756	  If unsure, say N.
757
758config USB_HCD_TEST_MODE
759	bool "HCD test mode support"
760	---help---
761	  Say 'Y' to enable additional software test modes that may be
762	  supported by the host controller drivers.
763
764	  One such test mode is the Embedded High-speed Host Electrical Test
765	  (EHSET) for EHCI host controller hardware, specifically the "Single
766	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
767	  or embedded hosts that need to undergo USB-IF compliance testing with
768	  the aid of special testing hardware.  In the future, this may expand
769	  to include other tests that require support from a HCD driver.
770
771	  This option is of interest only to developers who need to validate
772	  their USB hardware designs.  It is not needed for normal use.  If
773	  unsure, say N.
774