xref: /openbmc/linux/drivers/usb/host/Kconfig (revision 842b6b16)
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_FOTG210_HCD
352	tristate "FOTG210 HCD support"
353	depends on USB
354	---help---
355	  Faraday FOTG210 is an OTG controller which can be configured as
356	  an USB2.0 host. It is designed to meet USB2.0 EHCI specification
357	  with minor modification.
358
359	  To compile this driver as a module, choose M here: the
360	  module will be called fotg210-hcd.
361
362config USB_MAX3421_HCD
363	tristate "MAX3421 HCD (USB-over-SPI) support"
364	depends on USB && SPI
365	---help---
366	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
367	  full-speed devices either in host or peripheral mode.  This
368	  driver supports the host-mode of the MAX3421E only.
369
370	  To compile this driver as a module, choose M here: the module will
371	  be called max3421-hcd.
372
373config USB_OHCI_HCD
374	tristate "OHCI HCD (USB 1.1) support"
375	---help---
376	  The Open Host Controller Interface (OHCI) is a standard for accessing
377	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
378	  UHCI specification.  If your USB host controller follows the OHCI spec,
379	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
380	  USB controller from Intel or VIA, this is appropriate.  If your host
381	  controller doesn't use PCI, this is probably appropriate.  For a PCI
382	  based system where you're not sure, the "lspci -v" entry will list the
383	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
384
385	  To compile this driver as a module, choose M here: the
386	  module will be called ohci-hcd.
387
388if USB_OHCI_HCD
389
390config USB_OHCI_HCD_OMAP1
391	tristate "OHCI support for OMAP1/2 chips"
392	depends on ARCH_OMAP1
393	depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
394	default y
395	---help---
396	  Enables support for the OHCI controller on OMAP1/2 chips.
397
398config USB_OHCI_HCD_SPEAR
399        tristate "Support for ST SPEAr on-chip OHCI USB controller"
400        depends on USB_OHCI_HCD && PLAT_SPEAR
401        default y
402        ---help---
403          Enables support for the on-chip OHCI controller on
404          ST SPEAr chips.
405
406config USB_OHCI_HCD_STI
407	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
408	depends on ARCH_STI && OF
409	select GENERIC_PHY
410	select USB_OHCI_HCD_PLATFORM
411	help
412	  Enable support for the on-chip OHCI controller found on
413	  STMicroelectronics consumer electronics SoC's.
414
415config USB_OHCI_HCD_S3C2410
416        tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
417        depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
418        default y
419        ---help---
420          Enables support for the on-chip OHCI controller on
421          S3C24xx/S3C64xx chips.
422
423config USB_OHCI_HCD_LPC32XX
424	tristate "Support for LPC on-chip OHCI USB controller"
425	depends on USB_OHCI_HCD && ARCH_LPC32XX
426	depends on USB_ISP1301
427	default y
428	---help---
429          Enables support for the on-chip OHCI controller on
430          NXP chips.
431
432config USB_OHCI_HCD_PXA27X
433	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
434	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
435	default y
436	---help---
437	  Enables support for the on-chip OHCI controller on
438	  PXA27x/PXA3xx chips.
439
440config USB_OHCI_HCD_AT91
441	tristate "Support for Atmel on-chip OHCI USB controller"
442	depends on USB_OHCI_HCD && ARCH_AT91 && OF
443	default y
444	---help---
445          Enables support for the on-chip OHCI controller on
446          Atmel chips.
447
448config USB_OHCI_HCD_OMAP3
449	tristate "OHCI support for OMAP3 and later chips"
450	depends on (ARCH_OMAP3 || ARCH_OMAP4)
451	default y
452	---help---
453	  Enables support for the on-chip OHCI controller on
454	  OMAP3 and later chips.
455
456config USB_OHCI_HCD_DAVINCI
457	bool "OHCI support for TI DaVinci DA8xx"
458	depends on ARCH_DAVINCI_DA8XX
459	depends on USB_OHCI_HCD=y
460	default y
461	help
462	  Enables support for the DaVinci DA8xx integrated OHCI
463	  controller. This driver cannot currently be a loadable
464	  module because it lacks a proper PHY abstraction.
465
466config USB_OHCI_ATH79
467	bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
468	depends on (SOC_AR71XX || SOC_AR724X)
469	select USB_OHCI_HCD_PLATFORM
470	default y
471	help
472	  This option is deprecated now and the driver was removed, use
473	  USB_OHCI_HCD_PLATFORM instead.
474
475	  Enables support for the built-in OHCI controller present on the
476	  Atheros AR71XX/AR7240 SoCs.
477
478config USB_OHCI_HCD_PPC_OF_BE
479	bool "OHCI support for OF platform bus (big endian)"
480	depends on PPC
481	select USB_OHCI_BIG_ENDIAN_DESC
482	select USB_OHCI_BIG_ENDIAN_MMIO
483	---help---
484	  Enables support for big-endian USB controllers present on the
485	  OpenFirmware platform bus.
486
487config USB_OHCI_HCD_PPC_OF_LE
488	bool "OHCI support for OF platform bus (little endian)"
489	depends on PPC
490	select USB_OHCI_LITTLE_ENDIAN
491	---help---
492	  Enables support for little-endian USB controllers present on the
493	  OpenFirmware platform bus.
494
495config USB_OHCI_HCD_PPC_OF
496	bool
497	depends on PPC
498	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
499
500config USB_OHCI_HCD_PCI
501	tristate "OHCI support for PCI-bus USB controllers"
502	depends on PCI
503	default y
504	select USB_OHCI_LITTLE_ENDIAN
505	---help---
506	  Enables support for PCI-bus plug-in USB controller cards.
507	  If unsure, say Y.
508
509config USB_OHCI_HCD_SSB
510	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
511	depends on (SSB = y || SSB = USB_OHCI_HCD)
512	select USB_HCD_SSB
513	select USB_OHCI_HCD_PLATFORM
514	default n
515	---help---
516	  This option is deprecated now and the driver was removed, use
517	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
518
519	  Support for the Sonics Silicon Backplane (SSB) attached
520	  Broadcom USB OHCI core.
521
522	  This device is present in some embedded devices with
523	  Broadcom based SSB bus.
524
525	  If unsure, say N.
526
527config USB_OHCI_SH
528	bool "OHCI support for SuperH USB controller (DEPRECATED)"
529	depends on SUPERH
530	select USB_OHCI_HCD_PLATFORM
531	---help---
532	  This option is deprecated now and the driver was removed, use
533	  USB_OHCI_HCD_PLATFORM instead.
534
535	  Enables support for the on-chip OHCI controller on the SuperH.
536	  If you use the PCI OHCI controller, this option is not necessary.
537
538config USB_OHCI_EXYNOS
539	tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
540	depends on ARCH_S5PV210 || ARCH_EXYNOS
541	help
542	 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
543
544config USB_CNS3XXX_OHCI
545	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
546	depends on ARCH_CNS3XXX
547	select USB_OHCI_HCD_PLATFORM
548	---help---
549	  This option is deprecated now and the driver was removed, use
550	  USB_OHCI_HCD_PLATFORM instead.
551
552	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
553	  It is needed for low-speed USB 1.0 device support.
554
555config USB_OHCI_HCD_PLATFORM
556	tristate "Generic OHCI driver for a platform device"
557	default n
558	---help---
559	  Adds an OHCI host driver for a generic platform device, which
560	  provides a memory space and an irq.
561
562	  If unsure, say N.
563
564config USB_OCTEON_OHCI
565	bool "Octeon on-chip OHCI support (DEPRECATED)"
566	depends on CAVIUM_OCTEON_SOC
567	default USB_OCTEON_EHCI
568	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
569	select USB_OHCI_LITTLE_ENDIAN
570	select USB_OHCI_HCD_PLATFORM
571	help
572	  This option is deprecated now and the driver was removed, use
573	  USB_OHCI_HCD_PLATFORM instead.
574
575	  Enable support for the Octeon II SOC's on-chip OHCI
576	  controller.  It is needed for low-speed USB 1.0 device
577	  support.  All CN6XXX based chips with USB are supported.
578
579endif # USB_OHCI_HCD
580
581config USB_UHCI_HCD
582	tristate "UHCI HCD (most Intel and VIA) support"
583	depends on PCI || USB_UHCI_SUPPORT_NON_PCI_HC
584	---help---
585	  The Universal Host Controller Interface is a standard by Intel for
586	  accessing the USB hardware in the PC (which is also called the USB
587	  host controller). If your USB host controller conforms to this
588	  standard, you may want to say Y, but see below. All recent boards
589	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
590	  i810, i820) conform to this standard. Also all VIA PCI chipsets
591	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
592	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
593	  If unsure, say Y.
594
595	  To compile this driver as a module, choose M here: the
596	  module will be called uhci-hcd.
597
598config USB_UHCI_SUPPORT_NON_PCI_HC
599	bool
600	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
601
602config USB_UHCI_PLATFORM
603	bool
604	default y if ARCH_VT8500
605
606config USB_UHCI_BIG_ENDIAN_MMIO
607	bool
608	default y if SPARC_LEON
609
610config USB_UHCI_BIG_ENDIAN_DESC
611	bool
612	default y if SPARC_LEON
613
614config USB_FHCI_HCD
615	tristate "Freescale QE USB Host Controller support"
616	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
617	select FSL_GTM
618	select QE_USB
619	help
620	  This driver enables support for Freescale QE USB Host Controller
621	  (as found on MPC8360 and MPC8323 processors), the driver supports
622	  Full and Low Speed USB.
623
624config FHCI_DEBUG
625	bool "Freescale QE USB Host Controller debug support"
626	depends on USB_FHCI_HCD && DEBUG_FS
627	help
628	  Say "y" to see some FHCI debug information and statistics
629	  through debugfs.
630
631config USB_U132_HCD
632	tristate "Elan U132 Adapter Host Controller"
633	depends on USB_FTDI_ELAN
634	help
635	  The U132 adapter is a USB to CardBus adapter specifically designed
636	  for PC cards that contain an OHCI host controller. Typical PC cards
637	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
638	  adapter will *NOT* work with PC cards that do not contain an OHCI
639	  controller.
640
641	  For those PC cards that contain multiple OHCI controllers only the
642	  first one is used.
643
644	  The driver consists of two modules, the "ftdi-elan" module is a
645	  USB client driver that interfaces to the FTDI chip within ELAN's
646	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
647	  controller driver that talks to the OHCI controller within the
648	  CardBus cards that are inserted in the U132 adapter.
649
650	  This driver has been tested with a CardBus OHCI USB adapter, and
651	  worked with a USB PEN Drive inserted into the first USB port of
652	  the PCCARD. A rather pointless thing to do, but useful for testing.
653
654	  It is safe to say M here.
655
656	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
657
658config USB_SL811_HCD
659	tristate "SL811HS HCD support"
660	help
661	  The SL811HS is a single-port USB controller that supports either
662	  host side or peripheral side roles.  Enable this option if your
663	  board has this chip, and you want to use it as a host controller.
664	  If unsure, say N.
665
666	  To compile this driver as a module, choose M here: the
667	  module will be called sl811-hcd.
668
669config USB_SL811_HCD_ISO
670	bool "partial ISO support"
671	depends on USB_SL811_HCD
672	help
673	  The driver doesn't support iso_frame_desc (yet), but for some simple
674	  devices that just queue one ISO frame per URB, then ISO transfers
675	  "should" work using the normal urb status fields.
676
677	  If unsure, say N.
678
679config USB_SL811_CS
680	tristate "CF/PCMCIA support for SL811HS HCD"
681	depends on USB_SL811_HCD && PCMCIA
682	help
683	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
684	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
685
686	  To compile this driver as a module, choose M here: the
687	  module will be called "sl811_cs".
688
689config USB_R8A66597_HCD
690	tristate "R8A66597 HCD support"
691	help
692	  The R8A66597 is a USB 2.0 host and peripheral controller.
693
694	  Enable this option if your board has this chip, and you want
695	  to use it as a host controller.  If unsure, say N.
696
697	  To compile this driver as a module, choose M here: the
698	  module will be called r8a66597-hcd.
699
700config USB_RENESAS_USBHS_HCD
701	tristate "Renesas USBHS HCD support"
702	depends on USB_RENESAS_USBHS
703	help
704	  The Renesas USBHS 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 renesas-usbhs.
711
712config USB_WHCI_HCD
713	tristate "Wireless USB Host Controller Interface (WHCI) driver"
714	depends on PCI && USB && UWB
715	select USB_WUSB
716	select UWB_WHCI
717	help
718	  A driver for PCI-based Wireless USB Host Controllers that are
719	  compliant with the WHCI specification.
720
721	  To compile this driver a module, choose M here: the module
722	  will be called "whci-hcd".
723
724config USB_HWA_HCD
725	tristate "Host Wire Adapter (HWA) driver"
726	depends on USB && UWB
727	select USB_WUSB
728	select UWB_HWA
729	help
730	  This driver enables you to connect Wireless USB devices to
731	  your system using a Host Wire Adaptor USB dongle. This is an
732	  UWB Radio Controller and WUSB Host Controller connected to
733	  your machine via USB (specified in WUSB1.0).
734
735	  To compile this driver a module, choose M here: the module
736	  will be called "hwa-hc".
737
738config USB_IMX21_HCD
739       tristate "i.MX21 HCD support"
740       depends on ARM && ARCH_MXC
741       help
742         This driver enables support for the on-chip USB host in the
743         i.MX21 processor.
744
745         To compile this driver as a module, choose M here: the
746         module will be called "imx21-hcd".
747
748config USB_HCD_BCMA
749	tristate "BCMA usb host driver"
750	depends on BCMA
751	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
752	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
753	help
754	  Enable support for the EHCI and OCHI host controller on an bcma bus.
755	  It converts the bcma driver into two platform device drivers
756	  for ehci and ohci.
757
758	  If unsure, say N.
759
760config USB_HCD_SSB
761	tristate "SSB usb host driver"
762	depends on SSB
763	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
764	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
765	help
766	  Enable support for the EHCI and OCHI host controller on an bcma bus.
767	  It converts the bcma driver into two platform device drivers
768	  for ehci and ohci.
769
770	  If unsure, say N.
771
772config USB_HCD_TEST_MODE
773	bool "HCD test mode support"
774	---help---
775	  Say 'Y' to enable additional software test modes that may be
776	  supported by the host controller drivers.
777
778	  One such test mode is the Embedded High-speed Host Electrical Test
779	  (EHSET) for EHCI host controller hardware, specifically the "Single
780	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
781	  or embedded hosts that need to undergo USB-IF compliance testing with
782	  the aid of special testing hardware.  In the future, this may expand
783	  to include other tests that require support from a HCD driver.
784
785	  This option is of interest only to developers who need to validate
786	  their USB hardware designs.  It is not needed for normal use.  If
787	  unsure, say N.
788