Back to home page

OSCL-LXR

 
 

    


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.