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