# SPDX-License-Identifier: GPL-2.0 
 | 
# 
 | 
# USB Host Controller Drivers 
 | 
# 
 | 
comment "USB Host Controller Drivers" 
 | 
  
 | 
config USB_C67X00_HCD 
 | 
    tristate "Cypress C67x00 HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    help 
 | 
      The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role 
 | 
      host/peripheral/OTG USB controllers. 
 | 
  
 | 
      Enable this option to support this chip in host controller mode. 
 | 
      If unsure, say N. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called c67x00. 
 | 
  
 | 
config USB_XHCI_HCD 
 | 
    tristate "xHCI HCD (USB 3.0) support" 
 | 
    depends on HAS_DMA && HAS_IOMEM 
 | 
    help 
 | 
      The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 
 | 
      "SuperSpeed" host controller hardware. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called xhci-hcd. 
 | 
  
 | 
if USB_XHCI_HCD 
 | 
config USB_XHCI_DBGCAP 
 | 
    bool "xHCI support for debug capability" 
 | 
    depends on TTY 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI debug capability. Make 
 | 
      sure that your xHCI host supports the extended debug capability and 
 | 
      you want a TTY serial device based on the xHCI debug capability 
 | 
      before enabling this option. If unsure, say 'N'. 
 | 
  
 | 
config USB_XHCI_PCI 
 | 
    tristate 
 | 
    depends on USB_PCI 
 | 
    depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS 
 | 
    default y 
 | 
  
 | 
config USB_XHCI_PCI_RENESAS 
 | 
    tristate "Support for additional Renesas xHCI controller with firmware" 
 | 
    help 
 | 
      Say 'Y' to enable the support for the Renesas xHCI controller with 
 | 
      firmware. Make sure you have the firwmare for the device and 
 | 
      installed on your system for this device to work. 
 | 
      If unsure, say 'N'. 
 | 
  
 | 
config USB_XHCI_PLATFORM 
 | 
    tristate "Generic xHCI driver for a platform device" 
 | 
    select USB_XHCI_RCAR if ARCH_RENESAS 
 | 
    help 
 | 
      Adds an xHCI host driver for a generic platform device, which 
 | 
      provides a memory space and an irq. 
 | 
      It is also a prerequisite for platform specific drivers that 
 | 
      implement some extra quirks. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_XHCI_HISTB 
 | 
    tristate "xHCI support for HiSilicon STB SoCs" 
 | 
    depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST) 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI host controller 
 | 
      found in HiSilicon STB SoCs. 
 | 
  
 | 
config USB_XHCI_MTK 
 | 
    tristate "xHCI support for MediaTek SoCs" 
 | 
    select MFD_SYSCON 
 | 
    depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI host controller 
 | 
      found in MediaTek SoCs. 
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_XHCI_MVEBU 
 | 
    tristate "xHCI support for Marvell Armada 375/38x/37xx" 
 | 
    select USB_XHCI_PLATFORM 
 | 
    depends on HAS_IOMEM 
 | 
    depends on ARCH_MVEBU || COMPILE_TEST 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI host controller 
 | 
      found in Marvell Armada 375/38x/37xx ARM SOCs. 
 | 
  
 | 
config USB_XHCI_RCAR 
 | 
    tristate "xHCI support for Renesas R-Car SoCs" 
 | 
    depends on USB_XHCI_PLATFORM 
 | 
    depends on ARCH_RENESAS || COMPILE_TEST 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI host controller 
 | 
      found in Renesas R-Car ARM SoCs. 
 | 
  
 | 
config USB_XHCI_TEGRA 
 | 
    tristate "xHCI support for NVIDIA Tegra SoCs" 
 | 
    depends on PHY_TEGRA_XUSB 
 | 
    depends on RESET_CONTROLLER 
 | 
    select FW_LOADER 
 | 
    help 
 | 
      Say 'Y' to enable the support for the xHCI host controller 
 | 
      found in NVIDIA Tegra124 and later SoCs. 
 | 
  
 | 
endif # USB_XHCI_HCD 
 | 
  
 | 
config USB_EHCI_BRCMSTB 
 | 
       tristate 
 | 
  
 | 
config USB_BRCMSTB 
 | 
    tristate "Broadcom STB USB support" 
 | 
    depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST 
 | 
    select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 
 | 
    select USB_EHCI_BRCMSTB if USB_EHCI_HCD 
 | 
    select USB_XHCI_PLATFORM if USB_XHCI_HCD 
 | 
    help 
 | 
      Enables support for XHCI, EHCI and OHCI host controllers 
 | 
      found in Broadcom STB SoC's. 
 | 
  
 | 
      To compile these drivers as modules, choose M here: the 
 | 
      modules will be called ohci-platform.ko, ehci-brcm.ko and 
 | 
      xhci-plat-hcd.ko 
 | 
  
 | 
      Disabling this will keep the controllers and corresponding 
 | 
      PHYs powered down. 
 | 
  
 | 
config USB_EHCI_HCD 
 | 
    tristate "EHCI HCD (USB 2.0) support" 
 | 
    depends on HAS_DMA && HAS_IOMEM 
 | 
    help 
 | 
      The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 
 | 
      "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. 
 | 
      If your USB host controller supports USB 2.0, you will likely want to 
 | 
      configure this Host Controller Driver. 
 | 
  
 | 
      EHCI controllers are packaged with "companion" host controllers (OHCI 
 | 
      or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports 
 | 
      will connect to EHCI if the device is high speed, otherwise they 
 | 
      connect to a companion controller.  If you configure EHCI, you should 
 | 
      probably configure the OHCI (for NEC and some other vendors) USB Host 
 | 
      Controller Driver or UHCI (for Via motherboards) Host Controller 
 | 
      Driver too. 
 | 
  
 | 
      You may want to read <file:Documentation/usb/ehci.rst>. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called ehci-hcd. 
 | 
  
 | 
config USB_EHCI_ROOT_HUB_TT 
 | 
    bool "Root Hub Transaction Translators" 
 | 
    depends on USB_EHCI_HCD 
 | 
    help 
 | 
      Some EHCI chips have vendor-specific extensions to integrate 
 | 
      transaction translators, so that no OHCI or UHCI companion 
 | 
      controller is needed.  It's safe to say "y" even if your 
 | 
      controller doesn't support this feature. 
 | 
  
 | 
      This supports the EHCI implementation that's originally 
 | 
      from ARC, and has since changed hands a few times. 
 | 
  
 | 
config USB_EHCI_TT_NEWSCHED 
 | 
    bool "Improved Transaction Translator scheduling" 
 | 
    depends on USB_EHCI_HCD 
 | 
    default y 
 | 
    help 
 | 
      This changes the periodic scheduling code to fill more of the low 
 | 
      and full speed bandwidth available from the Transaction Translator 
 | 
      (TT) in USB 2.0 hubs.  Without this, only one transfer will be 
 | 
      issued in each microframe, significantly reducing the number of 
 | 
      periodic low/fullspeed transfers possible. 
 | 
  
 | 
      If you have multiple periodic low/fullspeed devices connected to a 
 | 
      highspeed USB hub which is connected to a highspeed USB Host 
 | 
      Controller, and some of those devices will not work correctly 
 | 
      (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if 
 | 
      you have only one such device and it doesn't work, you could try 
 | 
      saying N. 
 | 
  
 | 
      If unsure, say Y. 
 | 
  
 | 
if USB_EHCI_HCD 
 | 
  
 | 
config USB_EHCI_PCI 
 | 
    tristate 
 | 
    depends on USB_PCI 
 | 
    default y 
 | 
  
 | 
config USB_EHCI_HCD_PMC_MSP 
 | 
    tristate "EHCI support for on-chip PMC MSP71xx USB controller" 
 | 
    depends on MSP_HAS_USB 
 | 
    select USB_EHCI_BIG_ENDIAN_DESC 
 | 
    select USB_EHCI_BIG_ENDIAN_MMIO 
 | 
    help 
 | 
        Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. 
 | 
        If unsure, say N. 
 | 
  
 | 
config XPS_USB_HCD_XILINX 
 | 
    bool "Use Xilinx usb host EHCI controller core" 
 | 
    depends on (PPC32 || MICROBLAZE) 
 | 
    select USB_EHCI_BIG_ENDIAN_DESC 
 | 
    select USB_EHCI_BIG_ENDIAN_MMIO 
 | 
    help 
 | 
        Xilinx xps USB host controller core is EHCI compliant and has 
 | 
        transaction translator built-in. It can be configured to either 
 | 
        support both high speed and full speed devices, or high speed 
 | 
        devices only. 
 | 
  
 | 
config USB_EHCI_FSL 
 | 
    tristate "Support for Freescale on-chip EHCI USB controller" 
 | 
    select USB_EHCI_ROOT_HUB_TT 
 | 
    help 
 | 
      Variation of ARC USB block used in some Freescale chips. 
 | 
  
 | 
config USB_EHCI_MXC 
 | 
    tristate "Support for Freescale i.MX on-chip EHCI USB controller" 
 | 
    depends on ARCH_MXC || COMPILE_TEST 
 | 
    select USB_EHCI_ROOT_HUB_TT 
 | 
    help 
 | 
      Variation of ARC USB block used in some Freescale chips. 
 | 
  
 | 
config USB_EHCI_HCD_NPCM7XX 
 | 
    tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller" 
 | 
    depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST 
 | 
    default y if (USB_EHCI_HCD && ARCH_NPCM7XX) 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on 
 | 
      Nuvoton NPCM7XX chips. 
 | 
  
 | 
config USB_EHCI_HCD_OMAP 
 | 
    tristate "EHCI support for OMAP3 and later chips" 
 | 
    depends on ARCH_OMAP 
 | 
    depends on NOP_USB_XCEIV 
 | 
    default y 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on 
 | 
      OMAP3 and later chips. 
 | 
  
 | 
config USB_EHCI_HCD_ORION 
 | 
    tristate  "Support for Marvell EBU on-chip EHCI USB controller" 
 | 
    depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST) 
 | 
    default y if (PLAT_ORION || ARCH_MVEBU) 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on Marvell's 
 | 
      embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, 
 | 
      Armada 370.  This is different from the EHCI implementation 
 | 
      on Marvell's mobile PXA and MMP SoC, see "EHCI support for 
 | 
      Marvell PXA/MMP USB controller" for those. 
 | 
  
 | 
config USB_EHCI_HCD_SPEAR 
 | 
    tristate "Support for ST SPEAr on-chip EHCI USB controller" 
 | 
    depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST) 
 | 
    default y if PLAT_SPEAR 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on 
 | 
      ST SPEAr chips. 
 | 
  
 | 
config USB_EHCI_HCD_STI 
 | 
    tristate "Support for ST STiHxxx on-chip EHCI USB controller" 
 | 
    depends on (ARCH_STI || COMPILE_TEST) && OF 
 | 
    select GENERIC_PHY 
 | 
    select USB_EHCI_HCD_PLATFORM 
 | 
    help 
 | 
      Enable support for the on-chip EHCI controller found on 
 | 
      STMicroelectronics consumer electronics SoC's. 
 | 
  
 | 
config USB_EHCI_HCD_AT91 
 | 
    tristate  "Support for Atmel on-chip EHCI USB controller" 
 | 
    depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST) 
 | 
    default y if ARCH_AT91 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on 
 | 
      Atmel chips. 
 | 
  
 | 
config USB_EHCI_TEGRA 
 | 
    tristate "NVIDIA Tegra HCD support" 
 | 
    depends on ARCH_TEGRA 
 | 
    select USB_EHCI_ROOT_HUB_TT 
 | 
    select USB_TEGRA_PHY 
 | 
    help 
 | 
      This driver enables support for the internal USB Host Controllers 
 | 
      found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. 
 | 
  
 | 
config USB_EHCI_HCD_PPC_OF 
 | 
    bool "EHCI support for PPC USB controller on OF platform bus" 
 | 
    depends on PPC 
 | 
    default y 
 | 
    help 
 | 
      Enables support for the USB controller present on the PowerPC 
 | 
      OpenFirmware platform bus. 
 | 
  
 | 
config USB_EHCI_SH 
 | 
    bool "EHCI support for SuperH USB controller" 
 | 
    depends on SUPERH || COMPILE_TEST 
 | 
    help 
 | 
      Enables support for the on-chip EHCI controller on the SuperH. 
 | 
      If you use the PCI EHCI controller, this option is not necessary. 
 | 
  
 | 
config USB_EHCI_EXYNOS 
 | 
    tristate "EHCI support for Samsung S5P/Exynos SoC Series" 
 | 
    depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 
 | 
    help 
 | 
      Enable support for the Samsung Exynos SOC's on-chip EHCI controller. 
 | 
  
 | 
config USB_EHCI_MV 
 | 
    tristate "EHCI support for Marvell PXA/MMP USB controller" 
 | 
    depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 
 | 
    select USB_EHCI_ROOT_HUB_TT 
 | 
    help 
 | 
      Enables support for Marvell (including PXA and MMP series) on-chip 
 | 
      USB SPH and OTG controller. SPH is a single port host, and it can 
 | 
      only be EHCI host. OTG is controller that can switch to host mode. 
 | 
      Note that this driver will not work on Marvell's other EHCI 
 | 
      controller used by the EBU-type SoCs including Orion, Kirkwood, 
 | 
      Dova, Armada 370 and Armada XP. See "Support for Marvell EBU 
 | 
      on-chip EHCI USB controller" for those. 
 | 
  
 | 
config USB_CNS3XXX_EHCI 
 | 
    bool "Cavium CNS3XXX EHCI Module (DEPRECATED)" 
 | 
    depends on ARCH_CNS3XXX || COMPILE_TEST 
 | 
    select USB_EHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_EHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enable support for the CNS3XXX SOC's on-chip EHCI controller. 
 | 
      It is needed for high-speed (480Mbit/sec) USB 2.0 device 
 | 
      support. 
 | 
  
 | 
config USB_EHCI_HCD_PLATFORM 
 | 
    tristate "Generic EHCI driver for a platform device" 
 | 
    help 
 | 
      Adds an EHCI host driver for a generic platform device, which 
 | 
      provides a memory space and an irq. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_OCTEON_EHCI 
 | 
    bool "Octeon on-chip EHCI support (DEPRECATED)" 
 | 
    depends on CAVIUM_OCTEON_SOC 
 | 
    select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 
 | 
    select USB_EHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_EHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enable support for the Octeon II SOC's on-chip EHCI 
 | 
      controller.  It is needed for high-speed (480Mbit/sec) 
 | 
      USB 2.0 device support.  All CN6XXX based chips with USB are 
 | 
      supported. 
 | 
  
 | 
endif # USB_EHCI_HCD 
 | 
  
 | 
config USB_OXU210HP_HCD 
 | 
    tristate "OXU210HP HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    help 
 | 
      The OXU210HP is an USB host/OTG/device controller. Enable this 
 | 
      option if your board has this chip. If unsure, say N. 
 | 
  
 | 
      This driver does not support isochronous transfers and doesn't 
 | 
      implement OTG nor USB device controllers. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called oxu210hp-hcd. 
 | 
  
 | 
config USB_ISP116X_HCD 
 | 
    tristate "ISP116X HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    help 
 | 
      The ISP1160 and ISP1161 chips are USB host controllers. Enable this 
 | 
      option if your board has this chip. If unsure, say N. 
 | 
  
 | 
      This driver does not support isochronous transfers. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called isp116x-hcd. 
 | 
  
 | 
config USB_ISP1362_HCD 
 | 
    tristate "ISP1362 HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    depends on COMPILE_TEST # nothing uses this 
 | 
    help 
 | 
      Supports the Philips ISP1362 chip as a host controller 
 | 
  
 | 
      This driver does not support isochronous transfers. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called isp1362-hcd. 
 | 
  
 | 
config USB_FOTG210_HCD 
 | 
    tristate "FOTG210 HCD support" 
 | 
    depends on USB && HAS_DMA && HAS_IOMEM 
 | 
    help 
 | 
      Faraday FOTG210 is an OTG controller which can be configured as 
 | 
      an USB2.0 host. It is designed to meet USB2.0 EHCI specification 
 | 
      with minor modification. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called fotg210-hcd. 
 | 
  
 | 
config USB_MAX3421_HCD 
 | 
    tristate "MAX3421 HCD (USB-over-SPI) support" 
 | 
    depends on USB && SPI 
 | 
    help 
 | 
      The Maxim MAX3421E chip supports standard USB 2.0-compliant 
 | 
      full-speed devices either in host or peripheral mode.  This 
 | 
      driver supports the host-mode of the MAX3421E only. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the module will 
 | 
      be called max3421-hcd. 
 | 
  
 | 
config USB_OHCI_HCD 
 | 
    tristate "OHCI HCD (USB 1.1) support" 
 | 
    depends on HAS_DMA && HAS_IOMEM 
 | 
    help 
 | 
      The Open Host Controller Interface (OHCI) is a standard for accessing 
 | 
      USB 1.1 host controller hardware.  It does more in hardware than Intel's 
 | 
      UHCI specification.  If your USB host controller follows the OHCI spec, 
 | 
      say Y.  On most non-x86 systems, and on x86 hardware that's not using a 
 | 
      USB controller from Intel or VIA, this is appropriate.  If your host 
 | 
      controller doesn't use PCI, this is probably appropriate.  For a PCI 
 | 
      based system where you're not sure, the "lspci -v" entry will list the 
 | 
      right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called ohci-hcd. 
 | 
  
 | 
if USB_OHCI_HCD 
 | 
  
 | 
config USB_OHCI_HCD_OMAP1 
 | 
    tristate "OHCI support for OMAP1/2 chips" 
 | 
    depends on ARCH_OMAP1 
 | 
    depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) 
 | 
    default y 
 | 
    help 
 | 
      Enables support for the OHCI controller on OMAP1/2 chips. 
 | 
  
 | 
config USB_OHCI_HCD_SPEAR 
 | 
    tristate "Support for ST SPEAr on-chip OHCI USB controller" 
 | 
    depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST) 
 | 
    default y if PLAT_SPEAR 
 | 
    help 
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      ST SPEAr chips. 
 | 
  
 | 
config USB_OHCI_HCD_STI 
 | 
    tristate "Support for ST STiHxxx on-chip OHCI USB controller" 
 | 
    depends on (ARCH_STI || COMPILE_TEST) && OF 
 | 
    select GENERIC_PHY 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    help 
 | 
      Enable support for the on-chip OHCI controller found on 
 | 
      STMicroelectronics consumer electronics SoC's. 
 | 
  
 | 
config USB_OHCI_HCD_S3C2410 
 | 
    tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series" 
 | 
    depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST) 
 | 
    default y if (ARCH_S3C24XX || ARCH_S3C64XX) 
 | 
    help 
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      S3C24xx/S3C64xx chips. 
 | 
  
 | 
config USB_OHCI_HCD_LPC32XX 
 | 
    tristate "Support for LPC on-chip OHCI USB controller" 
 | 
    depends on USB_OHCI_HCD 
 | 
    depends on ARCH_LPC32XX || COMPILE_TEST 
 | 
    depends on USB_ISP1301 
 | 
    default y 
 | 
    help 
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      NXP chips. 
 | 
  
 | 
config USB_OHCI_HCD_PXA27X 
 | 
    tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" 
 | 
    depends on USB_OHCI_HCD && (PXA27x || PXA3xx) 
 | 
    default y 
 | 
    help 
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      PXA27x/PXA3xx chips. 
 | 
  
 | 
config USB_OHCI_HCD_AT91 
 | 
    tristate "Support for Atmel on-chip OHCI USB controller" 
 | 
    depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF 
 | 
    default y if ARCH_AT91 
 | 
    help 
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      Atmel chips. 
 | 
  
 | 
config USB_OHCI_HCD_OMAP3 
 | 
    tristate "OHCI support for OMAP3 and later chips" 
 | 
    depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_OHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enables support for the on-chip OHCI controller on 
 | 
      OMAP3 and later chips. 
 | 
  
 | 
config USB_OHCI_HCD_DAVINCI 
 | 
    tristate "OHCI support for TI DaVinci DA8xx" 
 | 
    depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST 
 | 
    depends on USB_OHCI_HCD 
 | 
    select PHY_DA8XX_USB 
 | 
    default y if ARCH_DAVINCI_DA8XX 
 | 
    help 
 | 
      Enables support for the DaVinci DA8xx integrated OHCI 
 | 
      controller. This driver cannot currently be a loadable 
 | 
      module because it lacks a proper PHY abstraction. 
 | 
  
 | 
config USB_OHCI_HCD_PPC_OF_BE 
 | 
    bool "OHCI support for OF platform bus (big endian)" 
 | 
    depends on PPC 
 | 
    select USB_OHCI_BIG_ENDIAN_DESC 
 | 
    select USB_OHCI_BIG_ENDIAN_MMIO 
 | 
    help 
 | 
      Enables support for big-endian USB controllers present on the 
 | 
      OpenFirmware platform bus. 
 | 
  
 | 
config USB_OHCI_HCD_PPC_OF_LE 
 | 
    bool "OHCI support for OF platform bus (little endian)" 
 | 
    depends on PPC 
 | 
    select USB_OHCI_LITTLE_ENDIAN 
 | 
    help 
 | 
      Enables support for little-endian USB controllers present on the 
 | 
      OpenFirmware platform bus. 
 | 
  
 | 
config USB_OHCI_HCD_PPC_OF 
 | 
    bool 
 | 
    depends on PPC 
 | 
    default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE 
 | 
  
 | 
config USB_OHCI_HCD_PCI 
 | 
    tristate "OHCI support for PCI-bus USB controllers" 
 | 
    depends on USB_PCI 
 | 
    default y 
 | 
    select USB_OHCI_LITTLE_ENDIAN 
 | 
    help 
 | 
      Enables support for PCI-bus plug-in USB controller cards. 
 | 
      If unsure, say Y. 
 | 
  
 | 
config USB_OHCI_HCD_SSB 
 | 
    bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" 
 | 
    depends on (SSB = y || SSB = USB_OHCI_HCD) 
 | 
    select USB_HCD_SSB 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Support for the Sonics Silicon Backplane (SSB) attached 
 | 
      Broadcom USB OHCI core. 
 | 
  
 | 
      This device is present in some embedded devices with 
 | 
      Broadcom based SSB bus. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_OHCI_SH 
 | 
    bool "OHCI support for SuperH USB controller (DEPRECATED)" 
 | 
    depends on SUPERH || COMPILE_TEST 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_OHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enables support for the on-chip OHCI controller on the SuperH. 
 | 
      If you use the PCI OHCI controller, this option is not necessary. 
 | 
  
 | 
config USB_OHCI_EXYNOS 
 | 
    tristate "OHCI support for Samsung S5P/Exynos SoC Series" 
 | 
    depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 
 | 
    help 
 | 
      Enable support for the Samsung Exynos SOC's on-chip OHCI controller. 
 | 
  
 | 
config USB_CNS3XXX_OHCI 
 | 
    bool "Cavium CNS3XXX OHCI Module (DEPRECATED)" 
 | 
    depends on ARCH_CNS3XXX || COMPILE_TEST 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_OHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enable support for the CNS3XXX SOC's on-chip OHCI controller. 
 | 
      It is needed for low-speed USB 1.0 device support. 
 | 
  
 | 
config USB_OHCI_HCD_PLATFORM 
 | 
    tristate "Generic OHCI driver for a platform device" 
 | 
    help 
 | 
      Adds an OHCI host driver for a generic platform device, which 
 | 
      provides a memory space and an irq. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_OCTEON_OHCI 
 | 
    bool "Octeon on-chip OHCI support (DEPRECATED)" 
 | 
    depends on CAVIUM_OCTEON_SOC 
 | 
    default USB_OCTEON_EHCI 
 | 
    select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 
 | 
    select USB_OHCI_LITTLE_ENDIAN 
 | 
    select USB_OHCI_HCD_PLATFORM 
 | 
    help 
 | 
      This option is deprecated now and the driver was removed, use 
 | 
      USB_OHCI_HCD_PLATFORM instead. 
 | 
  
 | 
      Enable support for the Octeon II SOC's on-chip OHCI 
 | 
      controller.  It is needed for low-speed USB 1.0 device 
 | 
      support.  All CN6XXX based chips with USB are supported. 
 | 
  
 | 
endif # USB_OHCI_HCD 
 | 
  
 | 
config USB_UHCI_HCD 
 | 
    tristate "UHCI HCD (most Intel and VIA) support" 
 | 
    depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC 
 | 
    help 
 | 
      The Universal Host Controller Interface is a standard by Intel for 
 | 
      accessing the USB hardware in the PC (which is also called the USB 
 | 
      host controller). If your USB host controller conforms to this 
 | 
      standard, you may want to say Y, but see below. All recent boards 
 | 
      with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, 
 | 
      i810, i820) conform to this standard. Also all VIA PCI chipsets 
 | 
      (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 
 | 
      133) and LEON/GRLIB SoCs with the GRUSBHC controller. 
 | 
      If unsure, say Y. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called uhci-hcd. 
 | 
  
 | 
config USB_UHCI_SUPPORT_NON_PCI_HC 
 | 
    bool 
 | 
    default y if (SPARC_LEON || USB_UHCI_PLATFORM) 
 | 
  
 | 
config USB_UHCI_PLATFORM 
 | 
    bool 
 | 
    default y if (ARCH_VT8500 || ARCH_ASPEED) 
 | 
  
 | 
config USB_UHCI_ASPEED 
 | 
    bool 
 | 
    default y if ARCH_ASPEED 
 | 
  
 | 
config USB_FHCI_HCD 
 | 
    tristate "Freescale QE USB Host Controller support" 
 | 
    depends on OF_GPIO && QE_GPIO && QUICC_ENGINE 
 | 
    select FSL_GTM 
 | 
    select QE_USB 
 | 
    help 
 | 
      This driver enables support for Freescale QE USB Host Controller 
 | 
      (as found on MPC8360 and MPC8323 processors), the driver supports 
 | 
      Full and Low Speed USB. 
 | 
  
 | 
config FHCI_DEBUG 
 | 
    bool "Freescale QE USB Host Controller debug support" 
 | 
    depends on USB_FHCI_HCD && DEBUG_FS 
 | 
    help 
 | 
      Say "y" to see some FHCI debug information and statistics 
 | 
      through debugfs. 
 | 
  
 | 
config USB_U132_HCD 
 | 
    tristate "Elan U132 Adapter Host Controller" 
 | 
    depends on USB_FTDI_ELAN 
 | 
    help 
 | 
      The U132 adapter is a USB to CardBus adapter specifically designed 
 | 
      for PC cards that contain an OHCI host controller. Typical PC cards 
 | 
      are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 
 | 
      adapter will *NOT* work with PC cards that do not contain an OHCI 
 | 
      controller. 
 | 
  
 | 
      For those PC cards that contain multiple OHCI controllers only the 
 | 
      first one is used. 
 | 
  
 | 
      The driver consists of two modules, the "ftdi-elan" module is a 
 | 
      USB client driver that interfaces to the FTDI chip within ELAN's 
 | 
      USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host 
 | 
      controller driver that talks to the OHCI controller within the 
 | 
      CardBus cards that are inserted in the U132 adapter. 
 | 
  
 | 
      This driver has been tested with a CardBus OHCI USB adapter, and 
 | 
      worked with a USB PEN Drive inserted into the first USB port of 
 | 
      the PCCARD. A rather pointless thing to do, but useful for testing. 
 | 
  
 | 
      It is safe to say M here. 
 | 
  
 | 
      See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> 
 | 
  
 | 
config USB_SL811_HCD 
 | 
    tristate "SL811HS HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    help 
 | 
      The SL811HS is a single-port USB controller that supports either 
 | 
      host side or peripheral side roles.  Enable this option if your 
 | 
      board has this chip, and you want to use it as a host controller.  
 | 
      If unsure, say N. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called sl811-hcd. 
 | 
  
 | 
config USB_SL811_HCD_ISO 
 | 
    bool "partial ISO support" 
 | 
    depends on USB_SL811_HCD 
 | 
    help 
 | 
      The driver doesn't support iso_frame_desc (yet), but for some simple 
 | 
      devices that just queue one ISO frame per URB, then ISO transfers 
 | 
      "should" work using the normal urb status fields. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_SL811_CS 
 | 
    tristate "CF/PCMCIA support for SL811HS HCD" 
 | 
    depends on USB_SL811_HCD && PCMCIA 
 | 
    help 
 | 
      Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC 
 | 
      REX-CFU1U CF card (often used with PDAs).  If unsure, say N. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called "sl811_cs". 
 | 
  
 | 
config USB_R8A66597_HCD 
 | 
    tristate "R8A66597 HCD support" 
 | 
    depends on HAS_IOMEM 
 | 
    help 
 | 
      The R8A66597 is a USB 2.0 host and peripheral controller. 
 | 
  
 | 
      Enable this option if your board has this chip, and you want 
 | 
      to use it as a host controller.  If unsure, say N. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called r8a66597-hcd. 
 | 
  
 | 
config USB_RENESAS_USBHS_HCD 
 | 
    tristate "Renesas USBHS HCD support" 
 | 
    depends on USB_RENESAS_USBHS 
 | 
    help 
 | 
      The Renesas USBHS is a USB 2.0 host and peripheral controller. 
 | 
  
 | 
      Enable this option if your board has this chip, and you want 
 | 
      to use it as a host controller.  If unsure, say N. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called renesas-usbhs. 
 | 
  
 | 
config USB_IMX21_HCD 
 | 
    tristate "i.MX21 HCD support" 
 | 
    depends on ARM && ARCH_MXC 
 | 
    help 
 | 
      This driver enables support for the on-chip USB host in the 
 | 
      i.MX21 processor. 
 | 
  
 | 
      To compile this driver as a module, choose M here: the 
 | 
      module will be called "imx21-hcd". 
 | 
  
 | 
config USB_HCD_BCMA 
 | 
    tristate "BCMA usb host driver" 
 | 
    depends on BCMA 
 | 
    select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 
 | 
    select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 
 | 
    help 
 | 
      Enable support for the EHCI and OCHI host controller on an bcma bus. 
 | 
      It converts the bcma driver into two platform device drivers 
 | 
      for ehci and ohci. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_HCD_SSB 
 | 
    tristate "SSB usb host driver" 
 | 
    depends on SSB 
 | 
    select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 
 | 
    select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 
 | 
    help 
 | 
      Enable support for the EHCI and OCHI host controller on an bcma bus. 
 | 
      It converts the bcma driver into two platform device drivers 
 | 
      for ehci and ohci. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config USB_HCD_TEST_MODE 
 | 
    bool "HCD test mode support" 
 | 
    help 
 | 
      Say 'Y' to enable additional software test modes that may be 
 | 
      supported by the host controller drivers. 
 | 
  
 | 
      One such test mode is the Embedded High-speed Host Electrical Test 
 | 
      (EHSET) for EHCI host controller hardware, specifically the "Single 
 | 
      Step Set Feature" test.  Typically this will be enabled for On-the-Go 
 | 
      or embedded hosts that need to undergo USB-IF compliance testing with 
 | 
      the aid of special testing hardware.  In the future, this may expand 
 | 
      to include other tests that require support from a HCD driver. 
 | 
  
 | 
      This option is of interest only to developers who need to validate 
 | 
      their USB hardware designs.  It is not needed for normal use.  If 
 | 
      unsure, say N. 
 |