projects/linux·blob master · refs

735 lines · 23.4 KiB

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.