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