0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # USB Host Controller Drivers
0004 #
0005 comment "USB Host Controller Drivers"
0006
0007 config USB_C67X00_HCD
0008 tristate "Cypress C67x00 HCD support"
0009 depends on HAS_IOMEM
0010 help
0011 The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
0012 host/peripheral/OTG USB controllers.
0013
0014 Enable this option to support this chip in host controller mode.
0015 If unsure, say N.
0016
0017 To compile this driver as a module, choose M here: the
0018 module will be called c67x00.
0019
0020 config USB_XHCI_HCD
0021 tristate "xHCI HCD (USB 3.0) support"
0022 depends on HAS_DMA && HAS_IOMEM
0023 help
0024 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
0025 "SuperSpeed" host controller hardware.
0026
0027 To compile this driver as a module, choose M here: the
0028 module will be called xhci-hcd.
0029
0030 if USB_XHCI_HCD
0031 config USB_XHCI_DBGCAP
0032 bool "xHCI support for debug capability"
0033 depends on TTY
0034 help
0035 Say 'Y' to enable the support for the xHCI debug capability. Make
0036 sure that your xHCI host supports the extended debug capability and
0037 you want a TTY serial device based on the xHCI debug capability
0038 before enabling this option. If unsure, say 'N'.
0039
0040 config USB_XHCI_PCI
0041 tristate
0042 depends on USB_PCI
0043 depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
0044 default y
0045
0046 config USB_XHCI_PCI_RENESAS
0047 tristate "Support for additional Renesas xHCI controller with firmware"
0048 help
0049 Say 'Y' to enable the support for the Renesas xHCI controller with
0050 firmware. Make sure you have the firwmare for the device and
0051 installed on your system for this device to work.
0052 If unsure, say 'N'.
0053
0054 config USB_XHCI_PLATFORM
0055 tristate "Generic xHCI driver for a platform device"
0056 select USB_XHCI_RCAR if ARCH_RENESAS
0057 help
0058 Adds an xHCI host driver for a generic platform device, which
0059 provides a memory space and an irq.
0060 It is also a prerequisite for platform specific drivers that
0061 implement some extra quirks.
0062
0063 If unsure, say N.
0064
0065 config USB_XHCI_HISTB
0066 tristate "xHCI support for HiSilicon STB SoCs"
0067 depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
0068 help
0069 Say 'Y' to enable the support for the xHCI host controller
0070 found in HiSilicon STB SoCs.
0071
0072 config USB_XHCI_MTK
0073 tristate "xHCI support for MediaTek SoCs"
0074 select MFD_SYSCON
0075 depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
0076 help
0077 Say 'Y' to enable the support for the xHCI host controller
0078 found in MediaTek SoCs.
0079 If unsure, say N.
0080
0081 config USB_XHCI_MVEBU
0082 tristate "xHCI support for Marvell Armada 375/38x/37xx"
0083 select USB_XHCI_PLATFORM
0084 depends on HAS_IOMEM
0085 depends on ARCH_MVEBU || COMPILE_TEST
0086 help
0087 Say 'Y' to enable the support for the xHCI host controller
0088 found in Marvell Armada 375/38x/37xx ARM SOCs.
0089
0090 config USB_XHCI_RCAR
0091 tristate "xHCI support for Renesas R-Car SoCs"
0092 depends on USB_XHCI_PLATFORM
0093 depends on ARCH_RENESAS || COMPILE_TEST
0094 help
0095 Say 'Y' to enable the support for the xHCI host controller
0096 found in Renesas R-Car ARM SoCs.
0097
0098 config USB_XHCI_TEGRA
0099 tristate "xHCI support for NVIDIA Tegra SoCs"
0100 depends on PHY_TEGRA_XUSB
0101 depends on RESET_CONTROLLER
0102 select FW_LOADER
0103 help
0104 Say 'Y' to enable the support for the xHCI host controller
0105 found in NVIDIA Tegra124 and later SoCs.
0106
0107 endif # USB_XHCI_HCD
0108
0109 config USB_EHCI_BRCMSTB
0110 tristate
0111
0112 config USB_BRCMSTB
0113 tristate "Broadcom STB USB support"
0114 depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
0115 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
0116 select USB_EHCI_BRCMSTB if USB_EHCI_HCD
0117 select USB_XHCI_PLATFORM if USB_XHCI_HCD
0118 help
0119 Enables support for XHCI, EHCI and OHCI host controllers
0120 found in Broadcom STB SoC's.
0121
0122 To compile these drivers as modules, choose M here: the
0123 modules will be called ohci-platform.ko, ehci-brcm.ko and
0124 xhci-plat-hcd.ko
0125
0126 Disabling this will keep the controllers and corresponding
0127 PHYs powered down.
0128
0129 config USB_EHCI_HCD
0130 tristate "EHCI HCD (USB 2.0) support"
0131 depends on HAS_DMA && HAS_IOMEM
0132 help
0133 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
0134 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
0135 If your USB host controller supports USB 2.0, you will likely want to
0136 configure this Host Controller Driver.
0137
0138 EHCI controllers are packaged with "companion" host controllers (OHCI
0139 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
0140 will connect to EHCI if the device is high speed, otherwise they
0141 connect to a companion controller. If you configure EHCI, you should
0142 probably configure the OHCI (for NEC and some other vendors) USB Host
0143 Controller Driver or UHCI (for Via motherboards) Host Controller
0144 Driver too.
0145
0146 You may want to read <file:Documentation/usb/ehci.rst>.
0147
0148 To compile this driver as a module, choose M here: the
0149 module will be called ehci-hcd.
0150
0151 config USB_EHCI_ROOT_HUB_TT
0152 bool "Root Hub Transaction Translators"
0153 depends on USB_EHCI_HCD
0154 help
0155 Some EHCI chips have vendor-specific extensions to integrate
0156 transaction translators, so that no OHCI or UHCI companion
0157 controller is needed. It's safe to say "y" even if your
0158 controller doesn't support this feature.
0159
0160 This supports the EHCI implementation that's originally
0161 from ARC, and has since changed hands a few times.
0162
0163 config USB_EHCI_TT_NEWSCHED
0164 bool "Improved Transaction Translator scheduling"
0165 depends on USB_EHCI_HCD
0166 default y
0167 help
0168 This changes the periodic scheduling code to fill more of the low
0169 and full speed bandwidth available from the Transaction Translator
0170 (TT) in USB 2.0 hubs. Without this, only one transfer will be
0171 issued in each microframe, significantly reducing the number of
0172 periodic low/fullspeed transfers possible.
0173
0174 If you have multiple periodic low/fullspeed devices connected to a
0175 highspeed USB hub which is connected to a highspeed USB Host
0176 Controller, and some of those devices will not work correctly
0177 (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if
0178 you have only one such device and it doesn't work, you could try
0179 saying N.
0180
0181 If unsure, say Y.
0182
0183 if USB_EHCI_HCD
0184
0185 config USB_EHCI_PCI
0186 tristate
0187 depends on USB_PCI
0188 default y
0189
0190 config XPS_USB_HCD_XILINX
0191 bool "Use Xilinx usb host EHCI controller core"
0192 depends on (PPC32 || MICROBLAZE)
0193 select USB_EHCI_BIG_ENDIAN_DESC
0194 select USB_EHCI_BIG_ENDIAN_MMIO
0195 help
0196 Xilinx xps USB host controller core is EHCI compliant and has
0197 transaction translator built-in. It can be configured to either
0198 support both high speed and full speed devices, or high speed
0199 devices only.
0200
0201 config USB_EHCI_FSL
0202 tristate "Support for Freescale on-chip EHCI USB controller"
0203 select USB_EHCI_ROOT_HUB_TT
0204 help
0205 Variation of ARC USB block used in some Freescale chips.
0206
0207 config USB_EHCI_HCD_NPCM7XX
0208 tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
0209 depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
0210 default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
0211 help
0212 Enables support for the on-chip EHCI controller on
0213 Nuvoton NPCM7XX chips.
0214
0215 config USB_EHCI_HCD_OMAP
0216 tristate "EHCI support for OMAP3 and later chips"
0217 depends on ARCH_OMAP || COMPILE_TEST
0218 depends on NOP_USB_XCEIV
0219 default y
0220 help
0221 Enables support for the on-chip EHCI controller on
0222 OMAP3 and later chips.
0223
0224 config USB_EHCI_HCD_ORION
0225 tristate "Support for Marvell EBU on-chip EHCI USB controller"
0226 depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
0227 default y if (PLAT_ORION || ARCH_MVEBU)
0228 help
0229 Enables support for the on-chip EHCI controller on Marvell's
0230 embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
0231 Armada 370. This is different from the EHCI implementation
0232 on Marvell's mobile PXA and MMP SoC, see "EHCI support for
0233 Marvell PXA/MMP USB controller" for those.
0234
0235 config USB_EHCI_HCD_SPEAR
0236 tristate "Support for ST SPEAr on-chip EHCI USB controller"
0237 depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
0238 default y if PLAT_SPEAR
0239 help
0240 Enables support for the on-chip EHCI controller on
0241 ST SPEAr chips.
0242
0243 config USB_EHCI_HCD_STI
0244 tristate "Support for ST STiHxxx on-chip EHCI USB controller"
0245 depends on (ARCH_STI || COMPILE_TEST) && OF
0246 select GENERIC_PHY
0247 select USB_EHCI_HCD_PLATFORM
0248 help
0249 Enable support for the on-chip EHCI controller found on
0250 STMicroelectronics consumer electronics SoC's.
0251
0252 config USB_EHCI_HCD_AT91
0253 tristate "Support for Atmel on-chip EHCI USB controller"
0254 depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
0255 default y if ARCH_AT91
0256 help
0257 Enables support for the on-chip EHCI controller on
0258 Atmel chips.
0259
0260 config USB_EHCI_TEGRA
0261 tristate "NVIDIA Tegra HCD support"
0262 depends on ARCH_TEGRA
0263 select USB_CHIPIDEA
0264 select USB_CHIPIDEA_HOST
0265 select USB_CHIPIDEA_TEGRA
0266 select USB_GADGET
0267 help
0268 This option is deprecated now and the driver was removed, use
0269 USB_CHIPIDEA_TEGRA instead.
0270
0271 Enable support for the internal USB Host Controllers
0272 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
0273
0274 config USB_EHCI_HCD_PPC_OF
0275 bool "EHCI support for PPC USB controller on OF platform bus"
0276 depends on PPC
0277 default y
0278 help
0279 Enables support for the USB controller present on the PowerPC
0280 OpenFirmware platform bus.
0281
0282 config USB_EHCI_SH
0283 bool "EHCI support for SuperH USB controller"
0284 depends on SUPERH || COMPILE_TEST
0285 help
0286 Enables support for the on-chip EHCI controller on the SuperH.
0287 If you use the PCI EHCI controller, this option is not necessary.
0288
0289 config USB_EHCI_EXYNOS
0290 tristate "EHCI support for Samsung S5P/Exynos SoC Series"
0291 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
0292 help
0293 Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip EHCI
0294 controller.
0295
0296 config USB_EHCI_MV
0297 tristate "EHCI support for Marvell PXA/MMP USB controller"
0298 depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
0299 select USB_EHCI_ROOT_HUB_TT
0300 help
0301 Enables support for Marvell (including PXA and MMP series) on-chip
0302 USB SPH and OTG controller. SPH is a single port host, and it can
0303 only be EHCI host. OTG is controller that can switch to host mode.
0304 Note that this driver will not work on Marvell's other EHCI
0305 controller used by the EBU-type SoCs including Orion, Kirkwood,
0306 Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
0307 on-chip EHCI USB controller" for those.
0308
0309 config USB_OCTEON_HCD
0310 tristate "Cavium Networks Octeon USB support"
0311 depends on CAVIUM_OCTEON_SOC && USB
0312 help
0313 This driver supports USB host controller on some Cavium
0314 Networks' products in the Octeon family.
0315
0316 To compile this driver as a module, choose M here. The module
0317 will be called octeon-hcd.
0318
0319 config USB_CNS3XXX_EHCI
0320 bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
0321 depends on ARCH_CNS3XXX || COMPILE_TEST
0322 select USB_EHCI_HCD_PLATFORM
0323 help
0324 This option is deprecated now and the driver was removed, use
0325 USB_EHCI_HCD_PLATFORM instead.
0326
0327 Enable support for the CNS3XXX SOC's on-chip EHCI controller.
0328 It is needed for high-speed (480Mbit/sec) USB 2.0 device
0329 support.
0330
0331 config USB_EHCI_HCD_PLATFORM
0332 tristate "Generic EHCI driver for a platform device"
0333 help
0334 Adds an EHCI host driver for a generic platform device, which
0335 provides a memory space and an irq.
0336
0337 If unsure, say N.
0338
0339 config USB_OCTEON_EHCI
0340 bool "Octeon on-chip EHCI support (DEPRECATED)"
0341 depends on CAVIUM_OCTEON_SOC
0342 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
0343 select USB_EHCI_HCD_PLATFORM
0344 help
0345 This option is deprecated now and the driver was removed, use
0346 USB_EHCI_HCD_PLATFORM instead.
0347
0348 Enable support for the Octeon II SOC's on-chip EHCI
0349 controller. It is needed for high-speed (480Mbit/sec)
0350 USB 2.0 device support. All CN6XXX based chips with USB are
0351 supported.
0352
0353 endif # USB_EHCI_HCD
0354
0355 config USB_OXU210HP_HCD
0356 tristate "OXU210HP HCD support"
0357 depends on HAS_IOMEM
0358 help
0359 The OXU210HP is an USB host/OTG/device controller. Enable this
0360 option if your board has this chip. If unsure, say N.
0361
0362 This driver does not support isochronous transfers and doesn't
0363 implement OTG nor USB device controllers.
0364
0365 To compile this driver as a module, choose M here: the
0366 module will be called oxu210hp-hcd.
0367
0368 config USB_ISP116X_HCD
0369 tristate "ISP116X HCD support"
0370 depends on HAS_IOMEM
0371 help
0372 The ISP1160 and ISP1161 chips are USB host controllers. Enable this
0373 option if your board has this chip. If unsure, say N.
0374
0375 This driver does not support isochronous transfers.
0376
0377 To compile this driver as a module, choose M here: the
0378 module will be called isp116x-hcd.
0379
0380 config USB_ISP1362_HCD
0381 tristate "ISP1362 HCD support"
0382 depends on HAS_IOMEM
0383 depends on COMPILE_TEST # nothing uses this
0384 help
0385 Supports the Philips ISP1362 chip as a host controller
0386
0387 This driver does not support isochronous transfers.
0388
0389 To compile this driver as a module, choose M here: the
0390 module will be called isp1362-hcd.
0391
0392 config USB_FOTG210_HCD
0393 tristate "FOTG210 HCD support"
0394 depends on USB && HAS_DMA && HAS_IOMEM
0395 help
0396 Faraday FOTG210 is an OTG controller which can be configured as
0397 an USB2.0 host. It is designed to meet USB2.0 EHCI specification
0398 with minor modification.
0399
0400 To compile this driver as a module, choose M here: the
0401 module will be called fotg210-hcd.
0402
0403 config USB_MAX3421_HCD
0404 tristate "MAX3421 HCD (USB-over-SPI) support"
0405 depends on USB && SPI
0406 help
0407 The Maxim MAX3421E chip supports standard USB 2.0-compliant
0408 full-speed devices either in host or peripheral mode. This
0409 driver supports the host-mode of the MAX3421E only.
0410
0411 To compile this driver as a module, choose M here: the module will
0412 be called max3421-hcd.
0413
0414 config USB_OHCI_HCD
0415 tristate "OHCI HCD (USB 1.1) support"
0416 depends on HAS_DMA && HAS_IOMEM
0417 help
0418 The Open Host Controller Interface (OHCI) is a standard for accessing
0419 USB 1.1 host controller hardware. It does more in hardware than Intel's
0420 UHCI specification. If your USB host controller follows the OHCI spec,
0421 say Y. On most non-x86 systems, and on x86 hardware that's not using a
0422 USB controller from Intel or VIA, this is appropriate. If your host
0423 controller doesn't use PCI, this is probably appropriate. For a PCI
0424 based system where you're not sure, the "lspci -v" entry will list the
0425 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
0426
0427 To compile this driver as a module, choose M here: the
0428 module will be called ohci-hcd.
0429
0430 if USB_OHCI_HCD
0431
0432 config USB_OHCI_HCD_OMAP1
0433 tristate "OHCI support for OMAP1/2 chips"
0434 depends on ARCH_OMAP1
0435 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
0436 default y
0437 help
0438 Enables support for the OHCI controller on OMAP1/2 chips.
0439
0440 config USB_OHCI_HCD_SPEAR
0441 tristate "Support for ST SPEAr on-chip OHCI USB controller"
0442 depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
0443 default y if PLAT_SPEAR
0444 help
0445 Enables support for the on-chip OHCI controller on
0446 ST SPEAr chips.
0447
0448 config USB_OHCI_HCD_STI
0449 tristate "Support for ST STiHxxx on-chip OHCI USB controller"
0450 depends on (ARCH_STI || COMPILE_TEST) && OF
0451 select GENERIC_PHY
0452 select USB_OHCI_HCD_PLATFORM
0453 help
0454 Enable support for the on-chip OHCI controller found on
0455 STMicroelectronics consumer electronics SoC's.
0456
0457 config USB_OHCI_HCD_S3C2410
0458 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
0459 depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
0460 default y if (ARCH_S3C24XX || ARCH_S3C64XX)
0461 help
0462 Enables support for the on-chip OHCI controller on
0463 S3C24xx/S3C64xx chips.
0464
0465 config USB_OHCI_HCD_LPC32XX
0466 tristate "Support for LPC on-chip OHCI USB controller"
0467 depends on USB_OHCI_HCD
0468 depends on ARCH_LPC32XX || COMPILE_TEST
0469 depends on USB_ISP1301
0470 default y
0471 help
0472 Enables support for the on-chip OHCI controller on
0473 NXP chips.
0474
0475 config USB_OHCI_HCD_PXA27X
0476 tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
0477 depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
0478 default y
0479 help
0480 Enables support for the on-chip OHCI controller on
0481 PXA27x/PXA3xx chips.
0482
0483 config USB_OHCI_HCD_AT91
0484 tristate "Support for Atmel on-chip OHCI USB controller"
0485 depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
0486 default y if ARCH_AT91
0487 help
0488 Enables support for the on-chip OHCI controller on
0489 Atmel chips.
0490
0491 config USB_OHCI_HCD_OMAP3
0492 tristate "OHCI support for OMAP3 and later chips"
0493 depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
0494 select USB_OHCI_HCD_PLATFORM
0495 default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
0496 help
0497 This option is deprecated now and the driver was removed, use
0498 USB_OHCI_HCD_PLATFORM instead.
0499
0500 Enables support for the on-chip OHCI controller on
0501 OMAP3 and later chips.
0502
0503 config USB_OHCI_HCD_DAVINCI
0504 tristate "OHCI support for TI DaVinci DA8xx"
0505 depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
0506 depends on USB_OHCI_HCD
0507 select PHY_DA8XX_USB
0508 default y if ARCH_DAVINCI_DA8XX
0509 help
0510 Enables support for the DaVinci DA8xx integrated OHCI
0511 controller. This driver cannot currently be a loadable
0512 module because it lacks a proper PHY abstraction.
0513
0514 config USB_OHCI_HCD_PPC_OF_BE
0515 bool "OHCI support for OF platform bus (big endian)"
0516 depends on PPC
0517 select USB_OHCI_BIG_ENDIAN_DESC
0518 select USB_OHCI_BIG_ENDIAN_MMIO
0519 help
0520 Enables support for big-endian USB controllers present on the
0521 OpenFirmware platform bus.
0522
0523 config USB_OHCI_HCD_PPC_OF_LE
0524 bool "OHCI support for OF platform bus (little endian)"
0525 depends on PPC
0526 select USB_OHCI_LITTLE_ENDIAN
0527 help
0528 Enables support for little-endian USB controllers present on the
0529 OpenFirmware platform bus.
0530
0531 config USB_OHCI_HCD_PPC_OF
0532 bool
0533 depends on PPC
0534 default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
0535
0536 config USB_OHCI_HCD_PCI
0537 tristate "OHCI support for PCI-bus USB controllers"
0538 depends on USB_PCI
0539 default y
0540 select USB_OHCI_LITTLE_ENDIAN
0541 help
0542 Enables support for PCI-bus plug-in USB controller cards.
0543 If unsure, say Y.
0544
0545 config USB_OHCI_HCD_SSB
0546 bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
0547 depends on (SSB = y || SSB = USB_OHCI_HCD)
0548 select USB_HCD_SSB
0549 select USB_OHCI_HCD_PLATFORM
0550 help
0551 This option is deprecated now and the driver was removed, use
0552 USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
0553
0554 Support for the Sonics Silicon Backplane (SSB) attached
0555 Broadcom USB OHCI core.
0556
0557 This device is present in some embedded devices with
0558 Broadcom based SSB bus.
0559
0560 If unsure, say N.
0561
0562 config USB_OHCI_SH
0563 bool "OHCI support for SuperH USB controller (DEPRECATED)"
0564 depends on SUPERH || COMPILE_TEST
0565 select USB_OHCI_HCD_PLATFORM
0566 help
0567 This option is deprecated now and the driver was removed, use
0568 USB_OHCI_HCD_PLATFORM instead.
0569
0570 Enables support for the on-chip OHCI controller on the SuperH.
0571 If you use the PCI OHCI controller, this option is not necessary.
0572
0573 config USB_OHCI_EXYNOS
0574 tristate "OHCI support for Samsung S5P/Exynos SoC Series"
0575 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
0576 help
0577 Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip OHCI
0578 controller.
0579
0580 config USB_CNS3XXX_OHCI
0581 bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
0582 depends on ARCH_CNS3XXX || COMPILE_TEST
0583 select USB_OHCI_HCD_PLATFORM
0584 help
0585 This option is deprecated now and the driver was removed, use
0586 USB_OHCI_HCD_PLATFORM instead.
0587
0588 Enable support for the CNS3XXX SOC's on-chip OHCI controller.
0589 It is needed for low-speed USB 1.0 device support.
0590
0591 config USB_OHCI_HCD_PLATFORM
0592 tristate "Generic OHCI driver for a platform device"
0593 help
0594 Adds an OHCI host driver for a generic platform device, which
0595 provides a memory space and an irq.
0596
0597 If unsure, say N.
0598
0599 config USB_OCTEON_OHCI
0600 bool "Octeon on-chip OHCI support (DEPRECATED)"
0601 depends on CAVIUM_OCTEON_SOC
0602 default USB_OCTEON_EHCI
0603 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
0604 select USB_OHCI_LITTLE_ENDIAN
0605 select USB_OHCI_HCD_PLATFORM
0606 help
0607 This option is deprecated now and the driver was removed, use
0608 USB_OHCI_HCD_PLATFORM instead.
0609
0610 Enable support for the Octeon II SOC's on-chip OHCI
0611 controller. It is needed for low-speed USB 1.0 device
0612 support. All CN6XXX based chips with USB are supported.
0613
0614 endif # USB_OHCI_HCD
0615
0616 config USB_UHCI_HCD
0617 tristate "UHCI HCD (most Intel and VIA) support"
0618 depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
0619 help
0620 The Universal Host Controller Interface is a standard by Intel for
0621 accessing the USB hardware in the PC (which is also called the USB
0622 host controller). If your USB host controller conforms to this
0623 standard, you may want to say Y, but see below. All recent boards
0624 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
0625 i810, i820) conform to this standard. Also all VIA PCI chipsets
0626 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
0627 133) and LEON/GRLIB SoCs with the GRUSBHC controller.
0628 If unsure, say Y.
0629
0630 To compile this driver as a module, choose M here: the
0631 module will be called uhci-hcd.
0632
0633 config USB_UHCI_SUPPORT_NON_PCI_HC
0634 bool
0635 default y if (SPARC_LEON || USB_UHCI_PLATFORM)
0636
0637 config USB_UHCI_PLATFORM
0638 bool
0639 default y if (ARCH_VT8500 || ARCH_ASPEED)
0640
0641 config USB_UHCI_ASPEED
0642 bool
0643 default y if ARCH_ASPEED
0644
0645 config USB_FHCI_HCD
0646 tristate "Freescale QE USB Host Controller support"
0647 depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
0648 select FSL_GTM
0649 select QE_USB
0650 help
0651 This driver enables support for Freescale QE USB Host Controller
0652 (as found on MPC8360 and MPC8323 processors), the driver supports
0653 Full and Low Speed USB.
0654
0655 config FHCI_DEBUG
0656 bool "Freescale QE USB Host Controller debug support"
0657 depends on USB_FHCI_HCD && DEBUG_FS
0658 help
0659 Say "y" to see some FHCI debug information and statistics
0660 through debugfs.
0661
0662 config USB_U132_HCD
0663 tristate "Elan U132 Adapter Host Controller"
0664 depends on USB_FTDI_ELAN
0665 help
0666 The U132 adapter is a USB to CardBus adapter specifically designed
0667 for PC cards that contain an OHCI host controller. Typical PC cards
0668 are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
0669 adapter will *NOT* work with PC cards that do not contain an OHCI
0670 controller.
0671
0672 For those PC cards that contain multiple OHCI controllers only the
0673 first one is used.
0674
0675 The driver consists of two modules, the "ftdi-elan" module is a
0676 USB client driver that interfaces to the FTDI chip within ELAN's
0677 USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
0678 controller driver that talks to the OHCI controller within the
0679 CardBus cards that are inserted in the U132 adapter.
0680
0681 This driver has been tested with a CardBus OHCI USB adapter, and
0682 worked with a USB PEN Drive inserted into the first USB port of
0683 the PCCARD. A rather pointless thing to do, but useful for testing.
0684
0685 It is safe to say M here.
0686
0687 See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
0688
0689 config USB_SL811_HCD
0690 tristate "SL811HS HCD support"
0691 depends on HAS_IOMEM
0692 help
0693 The SL811HS is a single-port USB controller that supports either
0694 host side or peripheral side roles. Enable this option if your
0695 board has this chip, and you want to use it as a host controller.
0696 If unsure, say N.
0697
0698 To compile this driver as a module, choose M here: the
0699 module will be called sl811-hcd.
0700
0701 config USB_SL811_HCD_ISO
0702 bool "partial ISO support"
0703 depends on USB_SL811_HCD
0704 help
0705 The driver doesn't support iso_frame_desc (yet), but for some simple
0706 devices that just queue one ISO frame per URB, then ISO transfers
0707 "should" work using the normal urb status fields.
0708
0709 If unsure, say N.
0710
0711 config USB_SL811_CS
0712 tristate "CF/PCMCIA support for SL811HS HCD"
0713 depends on USB_SL811_HCD && PCMCIA
0714 help
0715 Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
0716 REX-CFU1U CF card (often used with PDAs). If unsure, say N.
0717
0718 To compile this driver as a module, choose M here: the
0719 module will be called "sl811_cs".
0720
0721 config USB_R8A66597_HCD
0722 tristate "R8A66597 HCD support"
0723 depends on HAS_IOMEM
0724 help
0725 The R8A66597 is a USB 2.0 host and peripheral controller.
0726
0727 Enable this option if your board has this chip, and you want
0728 to use it as a host controller. If unsure, say N.
0729
0730 To compile this driver as a module, choose M here: the
0731 module will be called r8a66597-hcd.
0732
0733 config USB_RENESAS_USBHS_HCD
0734 tristate "Renesas USBHS HCD support"
0735 depends on USB_RENESAS_USBHS
0736 help
0737 The Renesas USBHS is a USB 2.0 host and peripheral controller.
0738
0739 Enable this option if your board has this chip, and you want
0740 to use it as a host controller. If unsure, say N.
0741
0742 To compile this driver as a module, choose M here: the
0743 module will be called renesas-usbhs.
0744
0745 config USB_HCD_BCMA
0746 tristate "BCMA usb host driver"
0747 depends on BCMA
0748 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
0749 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
0750 help
0751 Enable support for the EHCI and OCHI host controller on an bcma bus.
0752 It converts the bcma driver into two platform device drivers
0753 for ehci and ohci.
0754
0755 If unsure, say N.
0756
0757 config USB_HCD_SSB
0758 tristate "SSB usb host driver"
0759 depends on SSB
0760 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
0761 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
0762 help
0763 Enable support for the EHCI and OCHI host controller on an bcma bus.
0764 It converts the bcma driver into two platform device drivers
0765 for ehci and ohci.
0766
0767 If unsure, say N.
0768
0769 config USB_HCD_TEST_MODE
0770 bool "HCD test mode support"
0771 help
0772 Say 'Y' to enable additional software test modes that may be
0773 supported by the host controller drivers.
0774
0775 One such test mode is the Embedded High-speed Host Electrical Test
0776 (EHSET) for EHCI host controller hardware, specifically the "Single
0777 Step Set Feature" test. Typically this will be enabled for On-the-Go
0778 or embedded hosts that need to undergo USB-IF compliance testing with
0779 the aid of special testing hardware. In the future, this may expand
0780 to include other tests that require support from a HCD driver.
0781
0782 This option is of interest only to developers who need to validate
0783 their USB hardware designs. It is not needed for normal use. If
0784 unsure, say N.
0785
0786 config USB_XEN_HCD
0787 tristate "Xen usb virtual host driver"
0788 depends on XEN
0789 select XEN_XENBUS_FRONTEND
0790 help
0791 The Xen usb virtual host driver serves as a frontend driver enabling
0792 a Xen guest system to access USB Devices passed through to the guest
0793 by the Xen host (usually Dom0).
0794 Only needed if the kernel is running in a Xen guest and generic
0795 access to a USB device is needed.