xref: /openbmc/linux/drivers/usb/host/Kconfig (revision 7156fc29)
1#
2# USB Host Controller Drivers
3#
4comment "USB Host Controller Drivers"
5
6config USB_C67X00_HCD
7	tristate "Cypress C67x00 HCD support"
8	depends on HAS_IOMEM
9	help
10	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
11	  host/peripheral/OTG USB controllers.
12
13	  Enable this option to support this chip in host controller mode.
14	  If unsure, say N.
15
16	  To compile this driver as a module, choose M here: the
17	  module will be called c67x00.
18
19config USB_XHCI_HCD
20	tristate "xHCI HCD (USB 3.0) support"
21	depends on HAS_DMA && HAS_IOMEM
22	---help---
23	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
24	  "SuperSpeed" host controller hardware.
25
26	  To compile this driver as a module, choose M here: the
27	  module will be called xhci-hcd.
28
29if USB_XHCI_HCD
30config USB_XHCI_DBGCAP
31	bool "xHCI support for debug capability"
32	depends on TTY
33	---help---
34	  Say 'Y' to enable the support for the xHCI debug capability. Make
35	  sure that your xHCI host supports the extended debug capability and
36	  you want a TTY serial device based on the xHCI debug capability
37	  before enabling this option. If unsure, say 'N'.
38
39config USB_XHCI_PCI
40       tristate
41       depends on USB_PCI
42       default y
43
44config USB_XHCI_PLATFORM
45	tristate "Generic xHCI driver for a platform device"
46	select USB_XHCI_RCAR if ARCH_RENESAS
47	---help---
48	  Adds an xHCI host driver for a generic platform device, which
49	  provides a memory space and an irq.
50	  It is also a prerequisite for platform specific drivers that
51	  implement some extra quirks.
52
53	  If unsure, say N.
54
55config USB_XHCI_MTK
56	tristate "xHCI support for MediaTek SoCs"
57	select MFD_SYSCON
58	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
59	---help---
60	  Say 'Y' to enable the support for the xHCI host controller
61	  found in MediaTek SoCs.
62	  If unsure, say N.
63
64config USB_XHCI_MVEBU
65	tristate "xHCI support for Marvell Armada 375/38x"
66	select USB_XHCI_PLATFORM
67	depends on HAS_IOMEM
68	depends on ARCH_MVEBU || COMPILE_TEST
69	---help---
70	  Say 'Y' to enable the support for the xHCI host controller
71	  found in Marvell Armada 375/38x ARM SOCs.
72
73config USB_XHCI_RCAR
74	tristate "xHCI support for Renesas R-Car SoCs"
75	depends on USB_XHCI_PLATFORM
76	depends on ARCH_RENESAS || COMPILE_TEST
77	---help---
78	  Say 'Y' to enable the support for the xHCI host controller
79	  found in Renesas R-Car ARM SoCs.
80
81config USB_XHCI_TEGRA
82	tristate "xHCI support for NVIDIA Tegra SoCs"
83	depends on PHY_TEGRA_XUSB
84	depends on RESET_CONTROLLER
85	select FW_LOADER
86	---help---
87	  Say 'Y' to enable the support for the xHCI host controller
88	  found in NVIDIA Tegra124 and later SoCs.
89
90endif # USB_XHCI_HCD
91
92config USB_EHCI_HCD
93	tristate "EHCI HCD (USB 2.0) support"
94	depends on HAS_DMA && HAS_IOMEM
95	---help---
96	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
97	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
98	  If your USB host controller supports USB 2.0, you will likely want to
99	  configure this Host Controller Driver.
100
101	  EHCI controllers are packaged with "companion" host controllers (OHCI
102	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
103	  will connect to EHCI if the device is high speed, otherwise they
104	  connect to a companion controller.  If you configure EHCI, you should
105	  probably configure the OHCI (for NEC and some other vendors) USB Host
106	  Controller Driver or UHCI (for Via motherboards) Host Controller
107	  Driver too.
108
109	  You may want to read <file:Documentation/usb/ehci.txt>.
110
111	  To compile this driver as a module, choose M here: the
112	  module will be called ehci-hcd.
113
114config USB_EHCI_ROOT_HUB_TT
115	bool "Root Hub Transaction Translators"
116	depends on USB_EHCI_HCD
117	---help---
118	  Some EHCI chips have vendor-specific extensions to integrate
119	  transaction translators, so that no OHCI or UHCI companion
120	  controller is needed.  It's safe to say "y" even if your
121	  controller doesn't support this feature.
122
123	  This supports the EHCI implementation that's originally
124	  from ARC, and has since changed hands a few times.
125
126config USB_EHCI_TT_NEWSCHED
127	bool "Improved Transaction Translator scheduling"
128	depends on USB_EHCI_HCD
129	default y
130	---help---
131	  This changes the periodic scheduling code to fill more of the low
132	  and full speed bandwidth available from the Transaction Translator
133	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
134	  issued in each microframe, significantly reducing the number of
135	  periodic low/fullspeed transfers possible.
136
137	  If you have multiple periodic low/fullspeed devices connected to a
138	  highspeed USB hub which is connected to a highspeed USB Host
139	  Controller, and some of those devices will not work correctly
140	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
141	  you have only one such device and it doesn't work, you could try
142	  saying N.
143
144	  If unsure, say Y.
145
146if USB_EHCI_HCD
147
148config USB_EHCI_PCI
149	tristate
150	depends on USB_PCI
151	default y
152
153config USB_EHCI_HCD_PMC_MSP
154	tristate "EHCI support for on-chip PMC MSP71xx USB controller"
155	depends on MSP_HAS_USB
156	default n
157	select USB_EHCI_BIG_ENDIAN_DESC
158	select USB_EHCI_BIG_ENDIAN_MMIO
159	---help---
160		Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
161		If unsure, say N.
162
163config XPS_USB_HCD_XILINX
164	bool "Use Xilinx usb host EHCI controller core"
165	depends on (PPC32 || MICROBLAZE)
166	select USB_EHCI_BIG_ENDIAN_DESC
167	select USB_EHCI_BIG_ENDIAN_MMIO
168	---help---
169		Xilinx xps USB host controller core is EHCI compliant and has
170		transaction translator built-in. It can be configured to either
171		support both high speed and full speed devices, or high speed
172		devices only.
173
174config USB_EHCI_FSL
175	tristate "Support for Freescale PPC on-chip EHCI USB controller"
176	depends on FSL_SOC
177	select USB_EHCI_ROOT_HUB_TT
178	---help---
179	  Variation of ARC USB block used in some Freescale chips.
180
181config USB_EHCI_MXC
182	tristate "Support for Freescale i.MX on-chip EHCI USB controller"
183	depends on ARCH_MXC
184	select USB_EHCI_ROOT_HUB_TT
185	---help---
186	  Variation of ARC USB block used in some Freescale chips.
187
188config USB_EHCI_HCD_OMAP
189	tristate "EHCI support for OMAP3 and later chips"
190	depends on ARCH_OMAP
191	depends on NOP_USB_XCEIV
192	default y
193	---help---
194	  Enables support for the on-chip EHCI controller on
195	  OMAP3 and later chips.
196
197config USB_EHCI_HCD_ORION
198	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
199	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU)
200	default y
201	---help---
202	  Enables support for the on-chip EHCI controller on Marvell's
203	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
204	  Armada 370.  This is different from the EHCI implementation
205	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
206	  Marvell PXA/MMP USB controller" for those.
207
208config USB_EHCI_HCD_SPEAR
209        tristate "Support for ST SPEAr on-chip EHCI USB controller"
210        depends on USB_EHCI_HCD && PLAT_SPEAR
211        default y
212        ---help---
213          Enables support for the on-chip EHCI controller on
214          ST SPEAr chips.
215
216config USB_EHCI_HCD_STI
217	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
218	depends on ARCH_STI && OF
219	select GENERIC_PHY
220	select USB_EHCI_HCD_PLATFORM
221	help
222	  Enable support for the on-chip EHCI controller found on
223	  STMicroelectronics consumer electronics SoC's.
224
225config USB_EHCI_HCD_AT91
226        tristate  "Support for Atmel on-chip EHCI USB controller"
227        depends on USB_EHCI_HCD && ARCH_AT91
228        default y
229        ---help---
230          Enables support for the on-chip EHCI controller on
231          Atmel chips.
232
233config USB_EHCI_TEGRA
234       tristate "NVIDIA Tegra HCD support"
235       depends on ARCH_TEGRA
236       select USB_EHCI_ROOT_HUB_TT
237       select USB_PHY
238	select USB_ULPI
239	select USB_ULPI_VIEWPORT
240       help
241         This driver enables support for the internal USB Host Controllers
242         found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
243
244config USB_EHCI_HCD_PPC_OF
245	bool "EHCI support for PPC USB controller on OF platform bus"
246	depends on PPC
247	default y
248	---help---
249	  Enables support for the USB controller present on the PowerPC
250	  OpenFirmware platform bus.
251
252config USB_EHCI_SH
253	bool "EHCI support for SuperH USB controller"
254	depends on SUPERH
255	---help---
256	  Enables support for the on-chip EHCI controller on the SuperH.
257	  If you use the PCI EHCI controller, this option is not necessary.
258
259config USB_EHCI_EXYNOS
260       tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
261       depends on ARCH_S5PV210 || ARCH_EXYNOS
262       help
263	Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
264
265config USB_EHCI_MV
266	bool "EHCI support for Marvell PXA/MMP USB controller"
267	depends on (ARCH_PXA || ARCH_MMP)
268	select USB_EHCI_ROOT_HUB_TT
269	---help---
270	  Enables support for Marvell (including PXA and MMP series) on-chip
271	  USB SPH and OTG controller. SPH is a single port host, and it can
272	  only be EHCI host. OTG is controller that can switch to host mode.
273	  Note that this driver will not work on Marvell's other EHCI
274	  controller used by the EBU-type SoCs including Orion, Kirkwood,
275	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
276	  on-chip EHCI USB controller" for those.
277
278config USB_W90X900_EHCI
279	tristate "W90X900(W90P910) EHCI support"
280	depends on ARCH_W90X900
281	---help---
282		Enables support for the W90X900 USB controller
283
284config USB_CNS3XXX_EHCI
285	bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
286	depends on ARCH_CNS3XXX
287	select USB_EHCI_HCD_PLATFORM
288	---help---
289	  This option is deprecated now and the driver was removed, use
290	  USB_EHCI_HCD_PLATFORM instead.
291
292	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
293	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
294	  support.
295
296config USB_EHCI_HCD_PLATFORM
297	tristate "Generic EHCI driver for a platform device"
298	default n
299	---help---
300	  Adds an EHCI host driver for a generic platform device, which
301	  provides a memory space and an irq.
302
303	  If unsure, say N.
304
305config USB_OCTEON_EHCI
306	bool "Octeon on-chip EHCI support (DEPRECATED)"
307	depends on CAVIUM_OCTEON_SOC
308	default n
309	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
310	select USB_EHCI_HCD_PLATFORM
311	help
312	  This option is deprecated now and the driver was removed, use
313	  USB_EHCI_HCD_PLATFORM instead.
314
315	  Enable support for the Octeon II SOC's on-chip EHCI
316	  controller.  It is needed for high-speed (480Mbit/sec)
317	  USB 2.0 device support.  All CN6XXX based chips with USB are
318	  supported.
319
320endif # USB_EHCI_HCD
321
322config USB_OXU210HP_HCD
323	tristate "OXU210HP HCD support"
324	depends on HAS_IOMEM
325	---help---
326	  The OXU210HP is an USB host/OTG/device controller. Enable this
327	  option if your board has this chip. If unsure, say N.
328
329	  This driver does not support isochronous transfers and doesn't
330	  implement OTG nor USB device controllers.
331
332	  To compile this driver as a module, choose M here: the
333	  module will be called oxu210hp-hcd.
334
335config USB_ISP116X_HCD
336	tristate "ISP116X HCD support"
337	depends on HAS_IOMEM
338	---help---
339	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
340	  option if your board has this chip. If unsure, say N.
341
342	  This driver does not support isochronous transfers.
343
344	  To compile this driver as a module, choose M here: the
345	  module will be called isp116x-hcd.
346
347config USB_ISP1362_HCD
348	tristate "ISP1362 HCD support"
349	depends on HAS_IOMEM
350	depends on COMPILE_TEST # nothing uses this
351	---help---
352	  Supports the Philips ISP1362 chip as a host controller
353
354	  This driver does not support isochronous transfers.
355
356	  To compile this driver as a module, choose M here: the
357	  module will be called isp1362-hcd.
358
359config USB_FOTG210_HCD
360	tristate "FOTG210 HCD support"
361	depends on USB && HAS_DMA && HAS_IOMEM
362	---help---
363	  Faraday FOTG210 is an OTG controller which can be configured as
364	  an USB2.0 host. It is designed to meet USB2.0 EHCI specification
365	  with minor modification.
366
367	  To compile this driver as a module, choose M here: the
368	  module will be called fotg210-hcd.
369
370config USB_MAX3421_HCD
371	tristate "MAX3421 HCD (USB-over-SPI) support"
372	depends on USB && SPI
373	---help---
374	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
375	  full-speed devices either in host or peripheral mode.  This
376	  driver supports the host-mode of the MAX3421E only.
377
378	  To compile this driver as a module, choose M here: the module will
379	  be called max3421-hcd.
380
381config USB_OHCI_HCD
382	tristate "OHCI HCD (USB 1.1) support"
383	depends on HAS_DMA && HAS_IOMEM
384	---help---
385	  The Open Host Controller Interface (OHCI) is a standard for accessing
386	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
387	  UHCI specification.  If your USB host controller follows the OHCI spec,
388	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
389	  USB controller from Intel or VIA, this is appropriate.  If your host
390	  controller doesn't use PCI, this is probably appropriate.  For a PCI
391	  based system where you're not sure, the "lspci -v" entry will list the
392	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
393
394	  To compile this driver as a module, choose M here: the
395	  module will be called ohci-hcd.
396
397if USB_OHCI_HCD
398
399config USB_OHCI_HCD_OMAP1
400	tristate "OHCI support for OMAP1/2 chips"
401	depends on ARCH_OMAP1
402	depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
403	default y
404	---help---
405	  Enables support for the OHCI controller on OMAP1/2 chips.
406
407config USB_OHCI_HCD_SPEAR
408        tristate "Support for ST SPEAr on-chip OHCI USB controller"
409        depends on USB_OHCI_HCD && PLAT_SPEAR
410        default y
411        ---help---
412          Enables support for the on-chip OHCI controller on
413          ST SPEAr chips.
414
415config USB_OHCI_HCD_STI
416	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
417	depends on ARCH_STI && OF
418	select GENERIC_PHY
419	select USB_OHCI_HCD_PLATFORM
420	help
421	  Enable support for the on-chip OHCI controller found on
422	  STMicroelectronics consumer electronics SoC's.
423
424config USB_OHCI_HCD_S3C2410
425        tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
426        depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
427        default y
428        ---help---
429          Enables support for the on-chip OHCI controller on
430          S3C24xx/S3C64xx chips.
431
432config USB_OHCI_HCD_LPC32XX
433	tristate "Support for LPC on-chip OHCI USB controller"
434	depends on USB_OHCI_HCD && ARCH_LPC32XX
435	depends on USB_ISP1301
436	default y
437	---help---
438          Enables support for the on-chip OHCI controller on
439          NXP chips.
440
441config USB_OHCI_HCD_PXA27X
442	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
443	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
444	default y
445	---help---
446	  Enables support for the on-chip OHCI controller on
447	  PXA27x/PXA3xx chips.
448
449config USB_OHCI_HCD_AT91
450	tristate "Support for Atmel on-chip OHCI USB controller"
451	depends on USB_OHCI_HCD && ARCH_AT91 && OF
452	default y
453	---help---
454          Enables support for the on-chip OHCI controller on
455          Atmel chips.
456
457config USB_OHCI_HCD_OMAP3
458	tristate "OHCI support for OMAP3 and later chips"
459	depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5)
460	select USB_OHCI_HCD_PLATFORM
461	default y
462	help
463	  This option is deprecated now and the driver was removed, use
464	  USB_OHCI_HCD_PLATFORM instead.
465
466	  Enables support for the on-chip OHCI controller on
467	  OMAP3 and later chips.
468
469config USB_OHCI_HCD_DAVINCI
470	tristate "OHCI support for TI DaVinci DA8xx"
471	depends on ARCH_DAVINCI_DA8XX
472	depends on USB_OHCI_HCD
473	select PHY_DA8XX_USB
474	default y
475	help
476	  Enables support for the DaVinci DA8xx integrated OHCI
477	  controller. This driver cannot currently be a loadable
478	  module because it lacks a proper PHY abstraction.
479
480config USB_OHCI_HCD_PPC_OF_BE
481	bool "OHCI support for OF platform bus (big endian)"
482	depends on PPC
483	select USB_OHCI_BIG_ENDIAN_DESC
484	select USB_OHCI_BIG_ENDIAN_MMIO
485	---help---
486	  Enables support for big-endian USB controllers present on the
487	  OpenFirmware platform bus.
488
489config USB_OHCI_HCD_PPC_OF_LE
490	bool "OHCI support for OF platform bus (little endian)"
491	depends on PPC
492	select USB_OHCI_LITTLE_ENDIAN
493	---help---
494	  Enables support for little-endian USB controllers present on the
495	  OpenFirmware platform bus.
496
497config USB_OHCI_HCD_PPC_OF
498	bool
499	depends on PPC
500	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
501
502config USB_OHCI_HCD_PCI
503	tristate "OHCI support for PCI-bus USB controllers"
504	depends on USB_PCI
505	default y
506	select USB_OHCI_LITTLE_ENDIAN
507	---help---
508	  Enables support for PCI-bus plug-in USB controller cards.
509	  If unsure, say Y.
510
511config USB_OHCI_HCD_SSB
512	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
513	depends on (SSB = y || SSB = USB_OHCI_HCD)
514	select USB_HCD_SSB
515	select USB_OHCI_HCD_PLATFORM
516	default n
517	---help---
518	  This option is deprecated now and the driver was removed, use
519	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
520
521	  Support for the Sonics Silicon Backplane (SSB) attached
522	  Broadcom USB OHCI core.
523
524	  This device is present in some embedded devices with
525	  Broadcom based SSB bus.
526
527	  If unsure, say N.
528
529config USB_OHCI_SH
530	bool "OHCI support for SuperH USB controller (DEPRECATED)"
531	depends on SUPERH
532	select USB_OHCI_HCD_PLATFORM
533	---help---
534	  This option is deprecated now and the driver was removed, use
535	  USB_OHCI_HCD_PLATFORM instead.
536
537	  Enables support for the on-chip OHCI controller on the SuperH.
538	  If you use the PCI OHCI controller, this option is not necessary.
539
540config USB_OHCI_EXYNOS
541	tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
542	depends on ARCH_S5PV210 || ARCH_EXYNOS
543	help
544	 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
545
546config USB_CNS3XXX_OHCI
547	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
548	depends on ARCH_CNS3XXX
549	select USB_OHCI_HCD_PLATFORM
550	---help---
551	  This option is deprecated now and the driver was removed, use
552	  USB_OHCI_HCD_PLATFORM instead.
553
554	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
555	  It is needed for low-speed USB 1.0 device support.
556
557config USB_OHCI_HCD_PLATFORM
558	tristate "Generic OHCI driver for a platform device"
559	default n
560	---help---
561	  Adds an OHCI host driver for a generic platform device, which
562	  provides a memory space and an irq.
563
564	  If unsure, say N.
565
566config USB_OCTEON_OHCI
567	bool "Octeon on-chip OHCI support (DEPRECATED)"
568	depends on CAVIUM_OCTEON_SOC
569	default USB_OCTEON_EHCI
570	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
571	select USB_OHCI_LITTLE_ENDIAN
572	select USB_OHCI_HCD_PLATFORM
573	help
574	  This option is deprecated now and the driver was removed, use
575	  USB_OHCI_HCD_PLATFORM instead.
576
577	  Enable support for the Octeon II SOC's on-chip OHCI
578	  controller.  It is needed for low-speed USB 1.0 device
579	  support.  All CN6XXX based chips with USB are supported.
580
581endif # USB_OHCI_HCD
582
583config USB_UHCI_HCD
584	tristate "UHCI HCD (most Intel and VIA) support"
585	depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
586	---help---
587	  The Universal Host Controller Interface is a standard by Intel for
588	  accessing the USB hardware in the PC (which is also called the USB
589	  host controller). If your USB host controller conforms to this
590	  standard, you may want to say Y, but see below. All recent boards
591	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
592	  i810, i820) conform to this standard. Also all VIA PCI chipsets
593	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
594	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
595	  If unsure, say Y.
596
597	  To compile this driver as a module, choose M here: the
598	  module will be called uhci-hcd.
599
600config USB_UHCI_SUPPORT_NON_PCI_HC
601	bool
602	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
603
604config USB_UHCI_PLATFORM
605	bool
606	default y if (ARCH_VT8500 || ARCH_ASPEED)
607
608config USB_UHCI_ASPEED
609       bool
610       default y if ARCH_ASPEED
611
612config USB_FHCI_HCD
613	tristate "Freescale QE USB Host Controller support"
614	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
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_U132_HCD
630	tristate "Elan U132 Adapter Host Controller"
631	depends on USB_FTDI_ELAN
632	help
633	  The U132 adapter is a USB to CardBus adapter specifically designed
634	  for PC cards that contain an OHCI host controller. Typical PC cards
635	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
636	  adapter will *NOT* work with PC cards that do not contain an OHCI
637	  controller.
638
639	  For those PC cards that contain multiple OHCI controllers only the
640	  first one is used.
641
642	  The driver consists of two modules, the "ftdi-elan" module is a
643	  USB client driver that interfaces to the FTDI chip within ELAN's
644	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
645	  controller driver that talks to the OHCI controller within the
646	  CardBus cards that are inserted in the U132 adapter.
647
648	  This driver has been tested with a CardBus OHCI USB adapter, and
649	  worked with a USB PEN Drive inserted into the first USB port of
650	  the PCCARD. A rather pointless thing to do, but useful for testing.
651
652	  It is safe to say M here.
653
654	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
655
656config USB_SL811_HCD
657	tristate "SL811HS HCD support"
658	depends on HAS_IOMEM
659	help
660	  The SL811HS is a single-port USB controller that supports either
661	  host side or peripheral side roles.  Enable this option if your
662	  board has this chip, and you want to use it as a host controller.
663	  If unsure, say N.
664
665	  To compile this driver as a module, choose M here: the
666	  module will be called sl811-hcd.
667
668config USB_SL811_HCD_ISO
669	bool "partial ISO support"
670	depends on USB_SL811_HCD
671	help
672	  The driver doesn't support iso_frame_desc (yet), but for some simple
673	  devices that just queue one ISO frame per URB, then ISO transfers
674	  "should" work using the normal urb status fields.
675
676	  If unsure, say N.
677
678config USB_SL811_CS
679	tristate "CF/PCMCIA support for SL811HS HCD"
680	depends on USB_SL811_HCD && PCMCIA
681	help
682	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
683	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
684
685	  To compile this driver as a module, choose M here: the
686	  module will be called "sl811_cs".
687
688config USB_R8A66597_HCD
689	tristate "R8A66597 HCD support"
690	depends on HAS_IOMEM
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 USB_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