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