xref: /kernel/linux/linux-5.10/drivers/usb/host/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# USB Host Controller Drivers
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_cicomment "USB Host Controller Drivers"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciconfig USB_C67X00_HCD
88c2ecf20Sopenharmony_ci	tristate "Cypress C67x00 HCD support"
98c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
128c2ecf20Sopenharmony_ci	  host/peripheral/OTG USB controllers.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  Enable this option to support this chip in host controller mode.
158c2ecf20Sopenharmony_ci	  If unsure, say N.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
188c2ecf20Sopenharmony_ci	  module will be called c67x00.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig USB_XHCI_HCD
218c2ecf20Sopenharmony_ci	tristate "xHCI HCD (USB 3.0) support"
228c2ecf20Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
258c2ecf20Sopenharmony_ci	  "SuperSpeed" host controller hardware.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
288c2ecf20Sopenharmony_ci	  module will be called xhci-hcd.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciif USB_XHCI_HCD
318c2ecf20Sopenharmony_ciconfig USB_XHCI_DBGCAP
328c2ecf20Sopenharmony_ci	bool "xHCI support for debug capability"
338c2ecf20Sopenharmony_ci	depends on TTY
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI debug capability. Make
368c2ecf20Sopenharmony_ci	  sure that your xHCI host supports the extended debug capability and
378c2ecf20Sopenharmony_ci	  you want a TTY serial device based on the xHCI debug capability
388c2ecf20Sopenharmony_ci	  before enabling this option. If unsure, say 'N'.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciconfig USB_XHCI_PCI
418c2ecf20Sopenharmony_ci	tristate
428c2ecf20Sopenharmony_ci	depends on USB_PCI
438c2ecf20Sopenharmony_ci	depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
448c2ecf20Sopenharmony_ci	default y
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciconfig USB_XHCI_PCI_RENESAS
478c2ecf20Sopenharmony_ci	tristate "Support for additional Renesas xHCI controller with firmware"
488c2ecf20Sopenharmony_ci	help
498c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the Renesas xHCI controller with
508c2ecf20Sopenharmony_ci	  firmware. Make sure you have the firwmare for the device and
518c2ecf20Sopenharmony_ci	  installed on your system for this device to work.
528c2ecf20Sopenharmony_ci	  If unsure, say 'N'.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig USB_XHCI_PLATFORM
558c2ecf20Sopenharmony_ci	tristate "Generic xHCI driver for a platform device"
568c2ecf20Sopenharmony_ci	select USB_XHCI_RCAR if ARCH_RENESAS
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  Adds an xHCI host driver for a generic platform device, which
598c2ecf20Sopenharmony_ci	  provides a memory space and an irq.
608c2ecf20Sopenharmony_ci	  It is also a prerequisite for platform specific drivers that
618c2ecf20Sopenharmony_ci	  implement some extra quirks.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	  If unsure, say N.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciconfig USB_XHCI_HISTB
668c2ecf20Sopenharmony_ci	tristate "xHCI support for HiSilicon STB SoCs"
678c2ecf20Sopenharmony_ci	depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
708c2ecf20Sopenharmony_ci	  found in HiSilicon STB SoCs.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig USB_XHCI_MTK
738c2ecf20Sopenharmony_ci	tristate "xHCI support for MediaTek SoCs"
748c2ecf20Sopenharmony_ci	select MFD_SYSCON
758c2ecf20Sopenharmony_ci	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
788c2ecf20Sopenharmony_ci	  found in MediaTek SoCs.
798c2ecf20Sopenharmony_ci	  If unsure, say N.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciconfig USB_XHCI_MVEBU
828c2ecf20Sopenharmony_ci	tristate "xHCI support for Marvell Armada 375/38x/37xx"
838c2ecf20Sopenharmony_ci	select USB_XHCI_PLATFORM
848c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
858c2ecf20Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
888c2ecf20Sopenharmony_ci	  found in Marvell Armada 375/38x/37xx ARM SOCs.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig USB_XHCI_RCAR
918c2ecf20Sopenharmony_ci	tristate "xHCI support for Renesas R-Car SoCs"
928c2ecf20Sopenharmony_ci	depends on USB_XHCI_PLATFORM
938c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
968c2ecf20Sopenharmony_ci	  found in Renesas R-Car ARM SoCs.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig USB_XHCI_TEGRA
998c2ecf20Sopenharmony_ci	tristate "xHCI support for NVIDIA Tegra SoCs"
1008c2ecf20Sopenharmony_ci	depends on PHY_TEGRA_XUSB
1018c2ecf20Sopenharmony_ci	depends on RESET_CONTROLLER
1028c2ecf20Sopenharmony_ci	select FW_LOADER
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
1058c2ecf20Sopenharmony_ci	  found in NVIDIA Tegra124 and later SoCs.
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ciendif # USB_XHCI_HCD
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciconfig USB_EHCI_BRCMSTB
1108c2ecf20Sopenharmony_ci       tristate
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig USB_BRCMSTB
1138c2ecf20Sopenharmony_ci	tristate "Broadcom STB USB support"
1148c2ecf20Sopenharmony_ci	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
1158c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
1168c2ecf20Sopenharmony_ci	select USB_EHCI_BRCMSTB if USB_EHCI_HCD
1178c2ecf20Sopenharmony_ci	select USB_XHCI_PLATFORM if USB_XHCI_HCD
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  Enables support for XHCI, EHCI and OHCI host controllers
1208c2ecf20Sopenharmony_ci	  found in Broadcom STB SoC's.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci	  To compile these drivers as modules, choose M here: the
1238c2ecf20Sopenharmony_ci	  modules will be called ohci-platform.ko, ehci-brcm.ko and
1248c2ecf20Sopenharmony_ci	  xhci-plat-hcd.ko
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	  Disabling this will keep the controllers and corresponding
1278c2ecf20Sopenharmony_ci	  PHYs powered down.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD
1308c2ecf20Sopenharmony_ci	tristate "EHCI HCD (USB 2.0) support"
1318c2ecf20Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
1348c2ecf20Sopenharmony_ci	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
1358c2ecf20Sopenharmony_ci	  If your USB host controller supports USB 2.0, you will likely want to
1368c2ecf20Sopenharmony_ci	  configure this Host Controller Driver.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	  EHCI controllers are packaged with "companion" host controllers (OHCI
1398c2ecf20Sopenharmony_ci	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
1408c2ecf20Sopenharmony_ci	  will connect to EHCI if the device is high speed, otherwise they
1418c2ecf20Sopenharmony_ci	  connect to a companion controller.  If you configure EHCI, you should
1428c2ecf20Sopenharmony_ci	  probably configure the OHCI (for NEC and some other vendors) USB Host
1438c2ecf20Sopenharmony_ci	  Controller Driver or UHCI (for Via motherboards) Host Controller
1448c2ecf20Sopenharmony_ci	  Driver too.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	  You may want to read <file:Documentation/usb/ehci.rst>.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1498c2ecf20Sopenharmony_ci	  module will be called ehci-hcd.
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciconfig USB_EHCI_ROOT_HUB_TT
1528c2ecf20Sopenharmony_ci	bool "Root Hub Transaction Translators"
1538c2ecf20Sopenharmony_ci	depends on USB_EHCI_HCD
1548c2ecf20Sopenharmony_ci	help
1558c2ecf20Sopenharmony_ci	  Some EHCI chips have vendor-specific extensions to integrate
1568c2ecf20Sopenharmony_ci	  transaction translators, so that no OHCI or UHCI companion
1578c2ecf20Sopenharmony_ci	  controller is needed.  It's safe to say "y" even if your
1588c2ecf20Sopenharmony_ci	  controller doesn't support this feature.
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci	  This supports the EHCI implementation that's originally
1618c2ecf20Sopenharmony_ci	  from ARC, and has since changed hands a few times.
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ciconfig USB_EHCI_TT_NEWSCHED
1648c2ecf20Sopenharmony_ci	bool "Improved Transaction Translator scheduling"
1658c2ecf20Sopenharmony_ci	depends on USB_EHCI_HCD
1668c2ecf20Sopenharmony_ci	default y
1678c2ecf20Sopenharmony_ci	help
1688c2ecf20Sopenharmony_ci	  This changes the periodic scheduling code to fill more of the low
1698c2ecf20Sopenharmony_ci	  and full speed bandwidth available from the Transaction Translator
1708c2ecf20Sopenharmony_ci	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
1718c2ecf20Sopenharmony_ci	  issued in each microframe, significantly reducing the number of
1728c2ecf20Sopenharmony_ci	  periodic low/fullspeed transfers possible.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci	  If you have multiple periodic low/fullspeed devices connected to a
1758c2ecf20Sopenharmony_ci	  highspeed USB hub which is connected to a highspeed USB Host
1768c2ecf20Sopenharmony_ci	  Controller, and some of those devices will not work correctly
1778c2ecf20Sopenharmony_ci	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
1788c2ecf20Sopenharmony_ci	  you have only one such device and it doesn't work, you could try
1798c2ecf20Sopenharmony_ci	  saying N.
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci	  If unsure, say Y.
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciif USB_EHCI_HCD
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciconfig USB_EHCI_PCI
1868c2ecf20Sopenharmony_ci	tristate
1878c2ecf20Sopenharmony_ci	depends on USB_PCI
1888c2ecf20Sopenharmony_ci	default y
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_PMC_MSP
1918c2ecf20Sopenharmony_ci	tristate "EHCI support for on-chip PMC MSP71xx USB controller"
1928c2ecf20Sopenharmony_ci	depends on MSP_HAS_USB
1938c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC
1948c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
1958c2ecf20Sopenharmony_ci	help
1968c2ecf20Sopenharmony_ci		Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
1978c2ecf20Sopenharmony_ci		If unsure, say N.
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciconfig XPS_USB_HCD_XILINX
2008c2ecf20Sopenharmony_ci	bool "Use Xilinx usb host EHCI controller core"
2018c2ecf20Sopenharmony_ci	depends on (PPC32 || MICROBLAZE)
2028c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC
2038c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
2048c2ecf20Sopenharmony_ci	help
2058c2ecf20Sopenharmony_ci		Xilinx xps USB host controller core is EHCI compliant and has
2068c2ecf20Sopenharmony_ci		transaction translator built-in. It can be configured to either
2078c2ecf20Sopenharmony_ci		support both high speed and full speed devices, or high speed
2088c2ecf20Sopenharmony_ci		devices only.
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ciconfig USB_EHCI_FSL
2118c2ecf20Sopenharmony_ci	tristate "Support for Freescale on-chip EHCI USB controller"
2128c2ecf20Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
2138c2ecf20Sopenharmony_ci	help
2148c2ecf20Sopenharmony_ci	  Variation of ARC USB block used in some Freescale chips.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig USB_EHCI_MXC
2178c2ecf20Sopenharmony_ci	tristate "Support for Freescale i.MX on-chip EHCI USB controller"
2188c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2198c2ecf20Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
2208c2ecf20Sopenharmony_ci	help
2218c2ecf20Sopenharmony_ci	  Variation of ARC USB block used in some Freescale chips.
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_NPCM7XX
2248c2ecf20Sopenharmony_ci	tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
2258c2ecf20Sopenharmony_ci	depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
2268c2ecf20Sopenharmony_ci	default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
2278c2ecf20Sopenharmony_ci	help
2288c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
2298c2ecf20Sopenharmony_ci	  Nuvoton NPCM7XX chips.
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_OMAP
2328c2ecf20Sopenharmony_ci	tristate "EHCI support for OMAP3 and later chips"
2338c2ecf20Sopenharmony_ci	depends on ARCH_OMAP
2348c2ecf20Sopenharmony_ci	depends on NOP_USB_XCEIV
2358c2ecf20Sopenharmony_ci	default y
2368c2ecf20Sopenharmony_ci	help
2378c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
2388c2ecf20Sopenharmony_ci	  OMAP3 and later chips.
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_ORION
2418c2ecf20Sopenharmony_ci	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
2428c2ecf20Sopenharmony_ci	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
2438c2ecf20Sopenharmony_ci	default y if (PLAT_ORION || ARCH_MVEBU)
2448c2ecf20Sopenharmony_ci	help
2458c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on Marvell's
2468c2ecf20Sopenharmony_ci	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
2478c2ecf20Sopenharmony_ci	  Armada 370.  This is different from the EHCI implementation
2488c2ecf20Sopenharmony_ci	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
2498c2ecf20Sopenharmony_ci	  Marvell PXA/MMP USB controller" for those.
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_SPEAR
2528c2ecf20Sopenharmony_ci	tristate "Support for ST SPEAr on-chip EHCI USB controller"
2538c2ecf20Sopenharmony_ci	depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
2548c2ecf20Sopenharmony_ci	default y if PLAT_SPEAR
2558c2ecf20Sopenharmony_ci	help
2568c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
2578c2ecf20Sopenharmony_ci	  ST SPEAr chips.
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_STI
2608c2ecf20Sopenharmony_ci	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
2618c2ecf20Sopenharmony_ci	depends on (ARCH_STI || COMPILE_TEST) && OF
2628c2ecf20Sopenharmony_ci	select GENERIC_PHY
2638c2ecf20Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM
2648c2ecf20Sopenharmony_ci	help
2658c2ecf20Sopenharmony_ci	  Enable support for the on-chip EHCI controller found on
2668c2ecf20Sopenharmony_ci	  STMicroelectronics consumer electronics SoC's.
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_AT91
2698c2ecf20Sopenharmony_ci	tristate  "Support for Atmel on-chip EHCI USB controller"
2708c2ecf20Sopenharmony_ci	depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
2718c2ecf20Sopenharmony_ci	default y if ARCH_AT91
2728c2ecf20Sopenharmony_ci	help
2738c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
2748c2ecf20Sopenharmony_ci	  Atmel chips.
2758c2ecf20Sopenharmony_ci
2768c2ecf20Sopenharmony_ciconfig USB_EHCI_TEGRA
2778c2ecf20Sopenharmony_ci	tristate "NVIDIA Tegra HCD support"
2788c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA
2798c2ecf20Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
2808c2ecf20Sopenharmony_ci	select USB_TEGRA_PHY
2818c2ecf20Sopenharmony_ci	help
2828c2ecf20Sopenharmony_ci	  This driver enables support for the internal USB Host Controllers
2838c2ecf20Sopenharmony_ci	  found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_PPC_OF
2868c2ecf20Sopenharmony_ci	bool "EHCI support for PPC USB controller on OF platform bus"
2878c2ecf20Sopenharmony_ci	depends on PPC
2888c2ecf20Sopenharmony_ci	default y
2898c2ecf20Sopenharmony_ci	help
2908c2ecf20Sopenharmony_ci	  Enables support for the USB controller present on the PowerPC
2918c2ecf20Sopenharmony_ci	  OpenFirmware platform bus.
2928c2ecf20Sopenharmony_ci
2938c2ecf20Sopenharmony_ciconfig USB_EHCI_SH
2948c2ecf20Sopenharmony_ci	bool "EHCI support for SuperH USB controller"
2958c2ecf20Sopenharmony_ci	depends on SUPERH || COMPILE_TEST
2968c2ecf20Sopenharmony_ci	help
2978c2ecf20Sopenharmony_ci	  Enables support for the on-chip EHCI controller on the SuperH.
2988c2ecf20Sopenharmony_ci	  If you use the PCI EHCI controller, this option is not necessary.
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ciconfig USB_EHCI_EXYNOS
3018c2ecf20Sopenharmony_ci	tristate "EHCI support for Samsung S5P/Exynos SoC Series"
3028c2ecf20Sopenharmony_ci	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
3038c2ecf20Sopenharmony_ci	help
3048c2ecf20Sopenharmony_ci	  Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ciconfig USB_EHCI_MV
3078c2ecf20Sopenharmony_ci	tristate "EHCI support for Marvell PXA/MMP USB controller"
3088c2ecf20Sopenharmony_ci	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
3098c2ecf20Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
3108c2ecf20Sopenharmony_ci	help
3118c2ecf20Sopenharmony_ci	  Enables support for Marvell (including PXA and MMP series) on-chip
3128c2ecf20Sopenharmony_ci	  USB SPH and OTG controller. SPH is a single port host, and it can
3138c2ecf20Sopenharmony_ci	  only be EHCI host. OTG is controller that can switch to host mode.
3148c2ecf20Sopenharmony_ci	  Note that this driver will not work on Marvell's other EHCI
3158c2ecf20Sopenharmony_ci	  controller used by the EBU-type SoCs including Orion, Kirkwood,
3168c2ecf20Sopenharmony_ci	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
3178c2ecf20Sopenharmony_ci	  on-chip EHCI USB controller" for those.
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ciconfig USB_CNS3XXX_EHCI
3208c2ecf20Sopenharmony_ci	bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
3218c2ecf20Sopenharmony_ci	depends on ARCH_CNS3XXX || COMPILE_TEST
3228c2ecf20Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM
3238c2ecf20Sopenharmony_ci	help
3248c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
3258c2ecf20Sopenharmony_ci	  USB_EHCI_HCD_PLATFORM instead.
3268c2ecf20Sopenharmony_ci
3278c2ecf20Sopenharmony_ci	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
3288c2ecf20Sopenharmony_ci	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
3298c2ecf20Sopenharmony_ci	  support.
3308c2ecf20Sopenharmony_ci
3318c2ecf20Sopenharmony_ciconfig USB_EHCI_HCD_PLATFORM
3328c2ecf20Sopenharmony_ci	tristate "Generic EHCI driver for a platform device"
3338c2ecf20Sopenharmony_ci	help
3348c2ecf20Sopenharmony_ci	  Adds an EHCI host driver for a generic platform device, which
3358c2ecf20Sopenharmony_ci	  provides a memory space and an irq.
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci	  If unsure, say N.
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ciconfig USB_OCTEON_EHCI
3408c2ecf20Sopenharmony_ci	bool "Octeon on-chip EHCI support (DEPRECATED)"
3418c2ecf20Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
3428c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
3438c2ecf20Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM
3448c2ecf20Sopenharmony_ci	help
3458c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
3468c2ecf20Sopenharmony_ci	  USB_EHCI_HCD_PLATFORM instead.
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ci	  Enable support for the Octeon II SOC's on-chip EHCI
3498c2ecf20Sopenharmony_ci	  controller.  It is needed for high-speed (480Mbit/sec)
3508c2ecf20Sopenharmony_ci	  USB 2.0 device support.  All CN6XXX based chips with USB are
3518c2ecf20Sopenharmony_ci	  supported.
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ciendif # USB_EHCI_HCD
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ciconfig USB_OXU210HP_HCD
3568c2ecf20Sopenharmony_ci	tristate "OXU210HP HCD support"
3578c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3588c2ecf20Sopenharmony_ci	help
3598c2ecf20Sopenharmony_ci	  The OXU210HP is an USB host/OTG/device controller. Enable this
3608c2ecf20Sopenharmony_ci	  option if your board has this chip. If unsure, say N.
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci	  This driver does not support isochronous transfers and doesn't
3638c2ecf20Sopenharmony_ci	  implement OTG nor USB device controllers.
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3668c2ecf20Sopenharmony_ci	  module will be called oxu210hp-hcd.
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ciconfig USB_ISP116X_HCD
3698c2ecf20Sopenharmony_ci	tristate "ISP116X HCD support"
3708c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3718c2ecf20Sopenharmony_ci	help
3728c2ecf20Sopenharmony_ci	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
3738c2ecf20Sopenharmony_ci	  option if your board has this chip. If unsure, say N.
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ci	  This driver does not support isochronous transfers.
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3788c2ecf20Sopenharmony_ci	  module will be called isp116x-hcd.
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ciconfig USB_ISP1362_HCD
3818c2ecf20Sopenharmony_ci	tristate "ISP1362 HCD support"
3828c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3838c2ecf20Sopenharmony_ci	depends on COMPILE_TEST # nothing uses this
3848c2ecf20Sopenharmony_ci	help
3858c2ecf20Sopenharmony_ci	  Supports the Philips ISP1362 chip as a host controller
3868c2ecf20Sopenharmony_ci
3878c2ecf20Sopenharmony_ci	  This driver does not support isochronous transfers.
3888c2ecf20Sopenharmony_ci
3898c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3908c2ecf20Sopenharmony_ci	  module will be called isp1362-hcd.
3918c2ecf20Sopenharmony_ci
3928c2ecf20Sopenharmony_ciconfig USB_FOTG210_HCD
3938c2ecf20Sopenharmony_ci	tristate "FOTG210 HCD support"
3948c2ecf20Sopenharmony_ci	depends on USB && HAS_DMA && HAS_IOMEM
3958c2ecf20Sopenharmony_ci	help
3968c2ecf20Sopenharmony_ci	  Faraday FOTG210 is an OTG controller which can be configured as
3978c2ecf20Sopenharmony_ci	  an USB2.0 host. It is designed to meet USB2.0 EHCI specification
3988c2ecf20Sopenharmony_ci	  with minor modification.
3998c2ecf20Sopenharmony_ci
4008c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4018c2ecf20Sopenharmony_ci	  module will be called fotg210-hcd.
4028c2ecf20Sopenharmony_ci
4038c2ecf20Sopenharmony_ciconfig USB_MAX3421_HCD
4048c2ecf20Sopenharmony_ci	tristate "MAX3421 HCD (USB-over-SPI) support"
4058c2ecf20Sopenharmony_ci	depends on USB && SPI
4068c2ecf20Sopenharmony_ci	help
4078c2ecf20Sopenharmony_ci	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
4088c2ecf20Sopenharmony_ci	  full-speed devices either in host or peripheral mode.  This
4098c2ecf20Sopenharmony_ci	  driver supports the host-mode of the MAX3421E only.
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
4128c2ecf20Sopenharmony_ci	  be called max3421-hcd.
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD
4158c2ecf20Sopenharmony_ci	tristate "OHCI HCD (USB 1.1) support"
4168c2ecf20Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
4178c2ecf20Sopenharmony_ci	help
4188c2ecf20Sopenharmony_ci	  The Open Host Controller Interface (OHCI) is a standard for accessing
4198c2ecf20Sopenharmony_ci	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
4208c2ecf20Sopenharmony_ci	  UHCI specification.  If your USB host controller follows the OHCI spec,
4218c2ecf20Sopenharmony_ci	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
4228c2ecf20Sopenharmony_ci	  USB controller from Intel or VIA, this is appropriate.  If your host
4238c2ecf20Sopenharmony_ci	  controller doesn't use PCI, this is probably appropriate.  For a PCI
4248c2ecf20Sopenharmony_ci	  based system where you're not sure, the "lspci -v" entry will list the
4258c2ecf20Sopenharmony_ci	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
4268c2ecf20Sopenharmony_ci
4278c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4288c2ecf20Sopenharmony_ci	  module will be called ohci-hcd.
4298c2ecf20Sopenharmony_ci
4308c2ecf20Sopenharmony_ciif USB_OHCI_HCD
4318c2ecf20Sopenharmony_ci
4328c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_OMAP1
4338c2ecf20Sopenharmony_ci	tristate "OHCI support for OMAP1/2 chips"
4348c2ecf20Sopenharmony_ci	depends on ARCH_OMAP1
4358c2ecf20Sopenharmony_ci	depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
4368c2ecf20Sopenharmony_ci	default y
4378c2ecf20Sopenharmony_ci	help
4388c2ecf20Sopenharmony_ci	  Enables support for the OHCI controller on OMAP1/2 chips.
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_SPEAR
4418c2ecf20Sopenharmony_ci	tristate "Support for ST SPEAr on-chip OHCI USB controller"
4428c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
4438c2ecf20Sopenharmony_ci	default y if PLAT_SPEAR
4448c2ecf20Sopenharmony_ci	help
4458c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
4468c2ecf20Sopenharmony_ci	  ST SPEAr chips.
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_STI
4498c2ecf20Sopenharmony_ci	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
4508c2ecf20Sopenharmony_ci	depends on (ARCH_STI || COMPILE_TEST) && OF
4518c2ecf20Sopenharmony_ci	select GENERIC_PHY
4528c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
4538c2ecf20Sopenharmony_ci	help
4548c2ecf20Sopenharmony_ci	  Enable support for the on-chip OHCI controller found on
4558c2ecf20Sopenharmony_ci	  STMicroelectronics consumer electronics SoC's.
4568c2ecf20Sopenharmony_ci
4578c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_S3C2410
4588c2ecf20Sopenharmony_ci	tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
4598c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
4608c2ecf20Sopenharmony_ci	default y if (ARCH_S3C24XX || ARCH_S3C64XX)
4618c2ecf20Sopenharmony_ci	help
4628c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
4638c2ecf20Sopenharmony_ci	  S3C24xx/S3C64xx chips.
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_LPC32XX
4668c2ecf20Sopenharmony_ci	tristate "Support for LPC on-chip OHCI USB controller"
4678c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD
4688c2ecf20Sopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
4698c2ecf20Sopenharmony_ci	depends on USB_ISP1301
4708c2ecf20Sopenharmony_ci	default y
4718c2ecf20Sopenharmony_ci	help
4728c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
4738c2ecf20Sopenharmony_ci	  NXP chips.
4748c2ecf20Sopenharmony_ci
4758c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PXA27X
4768c2ecf20Sopenharmony_ci	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
4778c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
4788c2ecf20Sopenharmony_ci	default y
4798c2ecf20Sopenharmony_ci	help
4808c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
4818c2ecf20Sopenharmony_ci	  PXA27x/PXA3xx chips.
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_AT91
4848c2ecf20Sopenharmony_ci	tristate "Support for Atmel on-chip OHCI USB controller"
4858c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
4868c2ecf20Sopenharmony_ci	default y if ARCH_AT91
4878c2ecf20Sopenharmony_ci	help
4888c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
4898c2ecf20Sopenharmony_ci	  Atmel chips.
4908c2ecf20Sopenharmony_ci
4918c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_OMAP3
4928c2ecf20Sopenharmony_ci	tristate "OHCI support for OMAP3 and later chips"
4938c2ecf20Sopenharmony_ci	depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
4948c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
4958c2ecf20Sopenharmony_ci	default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
4968c2ecf20Sopenharmony_ci	help
4978c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
4988c2ecf20Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
5018c2ecf20Sopenharmony_ci	  OMAP3 and later chips.
5028c2ecf20Sopenharmony_ci
5038c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_DAVINCI
5048c2ecf20Sopenharmony_ci	tristate "OHCI support for TI DaVinci DA8xx"
5058c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
5068c2ecf20Sopenharmony_ci	depends on USB_OHCI_HCD
5078c2ecf20Sopenharmony_ci	select PHY_DA8XX_USB
5088c2ecf20Sopenharmony_ci	default y if ARCH_DAVINCI_DA8XX
5098c2ecf20Sopenharmony_ci	help
5108c2ecf20Sopenharmony_ci	  Enables support for the DaVinci DA8xx integrated OHCI
5118c2ecf20Sopenharmony_ci	  controller. This driver cannot currently be a loadable
5128c2ecf20Sopenharmony_ci	  module because it lacks a proper PHY abstraction.
5138c2ecf20Sopenharmony_ci
5148c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF_BE
5158c2ecf20Sopenharmony_ci	bool "OHCI support for OF platform bus (big endian)"
5168c2ecf20Sopenharmony_ci	depends on PPC
5178c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_DESC
5188c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO
5198c2ecf20Sopenharmony_ci	help
5208c2ecf20Sopenharmony_ci	  Enables support for big-endian USB controllers present on the
5218c2ecf20Sopenharmony_ci	  OpenFirmware platform bus.
5228c2ecf20Sopenharmony_ci
5238c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF_LE
5248c2ecf20Sopenharmony_ci	bool "OHCI support for OF platform bus (little endian)"
5258c2ecf20Sopenharmony_ci	depends on PPC
5268c2ecf20Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
5278c2ecf20Sopenharmony_ci	help
5288c2ecf20Sopenharmony_ci	  Enables support for little-endian USB controllers present on the
5298c2ecf20Sopenharmony_ci	  OpenFirmware platform bus.
5308c2ecf20Sopenharmony_ci
5318c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF
5328c2ecf20Sopenharmony_ci	bool
5338c2ecf20Sopenharmony_ci	depends on PPC
5348c2ecf20Sopenharmony_ci	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
5358c2ecf20Sopenharmony_ci
5368c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PCI
5378c2ecf20Sopenharmony_ci	tristate "OHCI support for PCI-bus USB controllers"
5388c2ecf20Sopenharmony_ci	depends on USB_PCI
5398c2ecf20Sopenharmony_ci	default y
5408c2ecf20Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
5418c2ecf20Sopenharmony_ci	help
5428c2ecf20Sopenharmony_ci	  Enables support for PCI-bus plug-in USB controller cards.
5438c2ecf20Sopenharmony_ci	  If unsure, say Y.
5448c2ecf20Sopenharmony_ci
5458c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_SSB
5468c2ecf20Sopenharmony_ci	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
5478c2ecf20Sopenharmony_ci	depends on (SSB = y || SSB = USB_OHCI_HCD)
5488c2ecf20Sopenharmony_ci	select USB_HCD_SSB
5498c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
5508c2ecf20Sopenharmony_ci	help
5518c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
5528c2ecf20Sopenharmony_ci	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
5538c2ecf20Sopenharmony_ci
5548c2ecf20Sopenharmony_ci	  Support for the Sonics Silicon Backplane (SSB) attached
5558c2ecf20Sopenharmony_ci	  Broadcom USB OHCI core.
5568c2ecf20Sopenharmony_ci
5578c2ecf20Sopenharmony_ci	  This device is present in some embedded devices with
5588c2ecf20Sopenharmony_ci	  Broadcom based SSB bus.
5598c2ecf20Sopenharmony_ci
5608c2ecf20Sopenharmony_ci	  If unsure, say N.
5618c2ecf20Sopenharmony_ci
5628c2ecf20Sopenharmony_ciconfig USB_OHCI_SH
5638c2ecf20Sopenharmony_ci	bool "OHCI support for SuperH USB controller (DEPRECATED)"
5648c2ecf20Sopenharmony_ci	depends on SUPERH || COMPILE_TEST
5658c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
5668c2ecf20Sopenharmony_ci	help
5678c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
5688c2ecf20Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
5698c2ecf20Sopenharmony_ci
5708c2ecf20Sopenharmony_ci	  Enables support for the on-chip OHCI controller on the SuperH.
5718c2ecf20Sopenharmony_ci	  If you use the PCI OHCI controller, this option is not necessary.
5728c2ecf20Sopenharmony_ci
5738c2ecf20Sopenharmony_ciconfig USB_OHCI_EXYNOS
5748c2ecf20Sopenharmony_ci	tristate "OHCI support for Samsung S5P/Exynos SoC Series"
5758c2ecf20Sopenharmony_ci	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
5768c2ecf20Sopenharmony_ci	help
5778c2ecf20Sopenharmony_ci	  Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
5788c2ecf20Sopenharmony_ci
5798c2ecf20Sopenharmony_ciconfig USB_CNS3XXX_OHCI
5808c2ecf20Sopenharmony_ci	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
5818c2ecf20Sopenharmony_ci	depends on ARCH_CNS3XXX || COMPILE_TEST
5828c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
5838c2ecf20Sopenharmony_ci	help
5848c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
5858c2ecf20Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
5868c2ecf20Sopenharmony_ci
5878c2ecf20Sopenharmony_ci	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
5888c2ecf20Sopenharmony_ci	  It is needed for low-speed USB 1.0 device support.
5898c2ecf20Sopenharmony_ci
5908c2ecf20Sopenharmony_ciconfig USB_OHCI_HCD_PLATFORM
5918c2ecf20Sopenharmony_ci	tristate "Generic OHCI driver for a platform device"
5928c2ecf20Sopenharmony_ci	help
5938c2ecf20Sopenharmony_ci	  Adds an OHCI host driver for a generic platform device, which
5948c2ecf20Sopenharmony_ci	  provides a memory space and an irq.
5958c2ecf20Sopenharmony_ci
5968c2ecf20Sopenharmony_ci	  If unsure, say N.
5978c2ecf20Sopenharmony_ci
5988c2ecf20Sopenharmony_ciconfig USB_OCTEON_OHCI
5998c2ecf20Sopenharmony_ci	bool "Octeon on-chip OHCI support (DEPRECATED)"
6008c2ecf20Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
6018c2ecf20Sopenharmony_ci	default USB_OCTEON_EHCI
6028c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
6038c2ecf20Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
6048c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
6058c2ecf20Sopenharmony_ci	help
6068c2ecf20Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
6078c2ecf20Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
6088c2ecf20Sopenharmony_ci
6098c2ecf20Sopenharmony_ci	  Enable support for the Octeon II SOC's on-chip OHCI
6108c2ecf20Sopenharmony_ci	  controller.  It is needed for low-speed USB 1.0 device
6118c2ecf20Sopenharmony_ci	  support.  All CN6XXX based chips with USB are supported.
6128c2ecf20Sopenharmony_ci
6138c2ecf20Sopenharmony_ciendif # USB_OHCI_HCD
6148c2ecf20Sopenharmony_ci
6158c2ecf20Sopenharmony_ciconfig USB_UHCI_HCD
6168c2ecf20Sopenharmony_ci	tristate "UHCI HCD (most Intel and VIA) support"
6178c2ecf20Sopenharmony_ci	depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
6188c2ecf20Sopenharmony_ci	help
6198c2ecf20Sopenharmony_ci	  The Universal Host Controller Interface is a standard by Intel for
6208c2ecf20Sopenharmony_ci	  accessing the USB hardware in the PC (which is also called the USB
6218c2ecf20Sopenharmony_ci	  host controller). If your USB host controller conforms to this
6228c2ecf20Sopenharmony_ci	  standard, you may want to say Y, but see below. All recent boards
6238c2ecf20Sopenharmony_ci	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
6248c2ecf20Sopenharmony_ci	  i810, i820) conform to this standard. Also all VIA PCI chipsets
6258c2ecf20Sopenharmony_ci	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
6268c2ecf20Sopenharmony_ci	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
6278c2ecf20Sopenharmony_ci	  If unsure, say Y.
6288c2ecf20Sopenharmony_ci
6298c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6308c2ecf20Sopenharmony_ci	  module will be called uhci-hcd.
6318c2ecf20Sopenharmony_ci
6328c2ecf20Sopenharmony_ciconfig USB_UHCI_SUPPORT_NON_PCI_HC
6338c2ecf20Sopenharmony_ci	bool
6348c2ecf20Sopenharmony_ci	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
6358c2ecf20Sopenharmony_ci
6368c2ecf20Sopenharmony_ciconfig USB_UHCI_PLATFORM
6378c2ecf20Sopenharmony_ci	bool
6388c2ecf20Sopenharmony_ci	default y if (ARCH_VT8500 || ARCH_ASPEED)
6398c2ecf20Sopenharmony_ci
6408c2ecf20Sopenharmony_ciconfig USB_UHCI_ASPEED
6418c2ecf20Sopenharmony_ci	bool
6428c2ecf20Sopenharmony_ci	default y if ARCH_ASPEED
6438c2ecf20Sopenharmony_ci
6448c2ecf20Sopenharmony_ciconfig USB_FHCI_HCD
6458c2ecf20Sopenharmony_ci	tristate "Freescale QE USB Host Controller support"
6468c2ecf20Sopenharmony_ci	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
6478c2ecf20Sopenharmony_ci	select FSL_GTM
6488c2ecf20Sopenharmony_ci	select QE_USB
6498c2ecf20Sopenharmony_ci	help
6508c2ecf20Sopenharmony_ci	  This driver enables support for Freescale QE USB Host Controller
6518c2ecf20Sopenharmony_ci	  (as found on MPC8360 and MPC8323 processors), the driver supports
6528c2ecf20Sopenharmony_ci	  Full and Low Speed USB.
6538c2ecf20Sopenharmony_ci
6548c2ecf20Sopenharmony_ciconfig FHCI_DEBUG
6558c2ecf20Sopenharmony_ci	bool "Freescale QE USB Host Controller debug support"
6568c2ecf20Sopenharmony_ci	depends on USB_FHCI_HCD && DEBUG_FS
6578c2ecf20Sopenharmony_ci	help
6588c2ecf20Sopenharmony_ci	  Say "y" to see some FHCI debug information and statistics
6598c2ecf20Sopenharmony_ci	  through debugfs.
6608c2ecf20Sopenharmony_ci
6618c2ecf20Sopenharmony_ciconfig USB_U132_HCD
6628c2ecf20Sopenharmony_ci	tristate "Elan U132 Adapter Host Controller"
6638c2ecf20Sopenharmony_ci	depends on USB_FTDI_ELAN
6648c2ecf20Sopenharmony_ci	help
6658c2ecf20Sopenharmony_ci	  The U132 adapter is a USB to CardBus adapter specifically designed
6668c2ecf20Sopenharmony_ci	  for PC cards that contain an OHCI host controller. Typical PC cards
6678c2ecf20Sopenharmony_ci	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
6688c2ecf20Sopenharmony_ci	  adapter will *NOT* work with PC cards that do not contain an OHCI
6698c2ecf20Sopenharmony_ci	  controller.
6708c2ecf20Sopenharmony_ci
6718c2ecf20Sopenharmony_ci	  For those PC cards that contain multiple OHCI controllers only the
6728c2ecf20Sopenharmony_ci	  first one is used.
6738c2ecf20Sopenharmony_ci
6748c2ecf20Sopenharmony_ci	  The driver consists of two modules, the "ftdi-elan" module is a
6758c2ecf20Sopenharmony_ci	  USB client driver that interfaces to the FTDI chip within ELAN's
6768c2ecf20Sopenharmony_ci	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
6778c2ecf20Sopenharmony_ci	  controller driver that talks to the OHCI controller within the
6788c2ecf20Sopenharmony_ci	  CardBus cards that are inserted in the U132 adapter.
6798c2ecf20Sopenharmony_ci
6808c2ecf20Sopenharmony_ci	  This driver has been tested with a CardBus OHCI USB adapter, and
6818c2ecf20Sopenharmony_ci	  worked with a USB PEN Drive inserted into the first USB port of
6828c2ecf20Sopenharmony_ci	  the PCCARD. A rather pointless thing to do, but useful for testing.
6838c2ecf20Sopenharmony_ci
6848c2ecf20Sopenharmony_ci	  It is safe to say M here.
6858c2ecf20Sopenharmony_ci
6868c2ecf20Sopenharmony_ci	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
6878c2ecf20Sopenharmony_ci
6888c2ecf20Sopenharmony_ciconfig USB_SL811_HCD
6898c2ecf20Sopenharmony_ci	tristate "SL811HS HCD support"
6908c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
6918c2ecf20Sopenharmony_ci	help
6928c2ecf20Sopenharmony_ci	  The SL811HS is a single-port USB controller that supports either
6938c2ecf20Sopenharmony_ci	  host side or peripheral side roles.  Enable this option if your
6948c2ecf20Sopenharmony_ci	  board has this chip, and you want to use it as a host controller. 
6958c2ecf20Sopenharmony_ci	  If unsure, say N.
6968c2ecf20Sopenharmony_ci
6978c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6988c2ecf20Sopenharmony_ci	  module will be called sl811-hcd.
6998c2ecf20Sopenharmony_ci
7008c2ecf20Sopenharmony_ciconfig USB_SL811_HCD_ISO
7018c2ecf20Sopenharmony_ci	bool "partial ISO support"
7028c2ecf20Sopenharmony_ci	depends on USB_SL811_HCD
7038c2ecf20Sopenharmony_ci	help
7048c2ecf20Sopenharmony_ci	  The driver doesn't support iso_frame_desc (yet), but for some simple
7058c2ecf20Sopenharmony_ci	  devices that just queue one ISO frame per URB, then ISO transfers
7068c2ecf20Sopenharmony_ci	  "should" work using the normal urb status fields.
7078c2ecf20Sopenharmony_ci
7088c2ecf20Sopenharmony_ci	  If unsure, say N.
7098c2ecf20Sopenharmony_ci
7108c2ecf20Sopenharmony_ciconfig USB_SL811_CS
7118c2ecf20Sopenharmony_ci	tristate "CF/PCMCIA support for SL811HS HCD"
7128c2ecf20Sopenharmony_ci	depends on USB_SL811_HCD && PCMCIA
7138c2ecf20Sopenharmony_ci	help
7148c2ecf20Sopenharmony_ci	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
7158c2ecf20Sopenharmony_ci	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
7168c2ecf20Sopenharmony_ci
7178c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7188c2ecf20Sopenharmony_ci	  module will be called "sl811_cs".
7198c2ecf20Sopenharmony_ci
7208c2ecf20Sopenharmony_ciconfig USB_R8A66597_HCD
7218c2ecf20Sopenharmony_ci	tristate "R8A66597 HCD support"
7228c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
7238c2ecf20Sopenharmony_ci	help
7248c2ecf20Sopenharmony_ci	  The R8A66597 is a USB 2.0 host and peripheral controller.
7258c2ecf20Sopenharmony_ci
7268c2ecf20Sopenharmony_ci	  Enable this option if your board has this chip, and you want
7278c2ecf20Sopenharmony_ci	  to use it as a host controller.  If unsure, say N.
7288c2ecf20Sopenharmony_ci
7298c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7308c2ecf20Sopenharmony_ci	  module will be called r8a66597-hcd.
7318c2ecf20Sopenharmony_ci
7328c2ecf20Sopenharmony_ciconfig USB_RENESAS_USBHS_HCD
7338c2ecf20Sopenharmony_ci	tristate "Renesas USBHS HCD support"
7348c2ecf20Sopenharmony_ci	depends on USB_RENESAS_USBHS
7358c2ecf20Sopenharmony_ci	help
7368c2ecf20Sopenharmony_ci	  The Renesas USBHS is a USB 2.0 host and peripheral controller.
7378c2ecf20Sopenharmony_ci
7388c2ecf20Sopenharmony_ci	  Enable this option if your board has this chip, and you want
7398c2ecf20Sopenharmony_ci	  to use it as a host controller.  If unsure, say N.
7408c2ecf20Sopenharmony_ci
7418c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7428c2ecf20Sopenharmony_ci	  module will be called renesas-usbhs.
7438c2ecf20Sopenharmony_ci
7448c2ecf20Sopenharmony_ciconfig USB_IMX21_HCD
7458c2ecf20Sopenharmony_ci	tristate "i.MX21 HCD support"
7468c2ecf20Sopenharmony_ci	depends on ARM && ARCH_MXC
7478c2ecf20Sopenharmony_ci	help
7488c2ecf20Sopenharmony_ci	  This driver enables support for the on-chip USB host in the
7498c2ecf20Sopenharmony_ci	  i.MX21 processor.
7508c2ecf20Sopenharmony_ci
7518c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7528c2ecf20Sopenharmony_ci	  module will be called "imx21-hcd".
7538c2ecf20Sopenharmony_ci
7548c2ecf20Sopenharmony_ciconfig USB_HCD_BCMA
7558c2ecf20Sopenharmony_ci	tristate "BCMA usb host driver"
7568c2ecf20Sopenharmony_ci	depends on BCMA
7578c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
7588c2ecf20Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
7598c2ecf20Sopenharmony_ci	help
7608c2ecf20Sopenharmony_ci	  Enable support for the EHCI and OCHI host controller on an bcma bus.
7618c2ecf20Sopenharmony_ci	  It converts the bcma driver into two platform device drivers
7628c2ecf20Sopenharmony_ci	  for ehci and ohci.
7638c2ecf20Sopenharmony_ci
7648c2ecf20Sopenharmony_ci	  If unsure, say N.
7658c2ecf20Sopenharmony_ci
7668c2ecf20Sopenharmony_ciconfig USB_HCD_SSB
7678c2ecf20Sopenharmony_ci	tristate "SSB usb host driver"
7688c2ecf20Sopenharmony_ci	depends on SSB
7698c2ecf20Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
7708c2ecf20Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
7718c2ecf20Sopenharmony_ci	help
7728c2ecf20Sopenharmony_ci	  Enable support for the EHCI and OCHI host controller on an bcma bus.
7738c2ecf20Sopenharmony_ci	  It converts the bcma driver into two platform device drivers
7748c2ecf20Sopenharmony_ci	  for ehci and ohci.
7758c2ecf20Sopenharmony_ci
7768c2ecf20Sopenharmony_ci	  If unsure, say N.
7778c2ecf20Sopenharmony_ci
7788c2ecf20Sopenharmony_ciconfig USB_HCD_TEST_MODE
7798c2ecf20Sopenharmony_ci	bool "HCD test mode support"
7808c2ecf20Sopenharmony_ci	help
7818c2ecf20Sopenharmony_ci	  Say 'Y' to enable additional software test modes that may be
7828c2ecf20Sopenharmony_ci	  supported by the host controller drivers.
7838c2ecf20Sopenharmony_ci
7848c2ecf20Sopenharmony_ci	  One such test mode is the Embedded High-speed Host Electrical Test
7858c2ecf20Sopenharmony_ci	  (EHSET) for EHCI host controller hardware, specifically the "Single
7868c2ecf20Sopenharmony_ci	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
7878c2ecf20Sopenharmony_ci	  or embedded hosts that need to undergo USB-IF compliance testing with
7888c2ecf20Sopenharmony_ci	  the aid of special testing hardware.  In the future, this may expand
7898c2ecf20Sopenharmony_ci	  to include other tests that require support from a HCD driver.
7908c2ecf20Sopenharmony_ci
7918c2ecf20Sopenharmony_ci	  This option is of interest only to developers who need to validate
7928c2ecf20Sopenharmony_ci	  their USB hardware designs.  It is not needed for normal use.  If
7938c2ecf20Sopenharmony_ci	  unsure, say N.
794