xref: /kernel/linux/linux-6.6/drivers/usb/host/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# USB Host Controller Drivers
462306a36Sopenharmony_ci#
562306a36Sopenharmony_cicomment "USB Host Controller Drivers"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciconfig USB_C67X00_HCD
862306a36Sopenharmony_ci	tristate "Cypress C67x00 HCD support"
962306a36Sopenharmony_ci	depends on HAS_IOMEM
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
1262306a36Sopenharmony_ci	  host/peripheral/OTG USB controllers.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  Enable this option to support this chip in host controller mode.
1562306a36Sopenharmony_ci	  If unsure, say N.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1862306a36Sopenharmony_ci	  module will be called c67x00.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig USB_XHCI_HCD
2162306a36Sopenharmony_ci	tristate "xHCI HCD (USB 3.0) support"
2262306a36Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
2362306a36Sopenharmony_ci	help
2462306a36Sopenharmony_ci	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
2562306a36Sopenharmony_ci	  "SuperSpeed" host controller hardware.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2862306a36Sopenharmony_ci	  module will be called xhci-hcd.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciif USB_XHCI_HCD
3162306a36Sopenharmony_ciconfig USB_XHCI_DBGCAP
3262306a36Sopenharmony_ci	bool "xHCI support for debug capability"
3362306a36Sopenharmony_ci	depends on TTY
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI debug capability. Make
3662306a36Sopenharmony_ci	  sure that your xHCI host supports the extended debug capability and
3762306a36Sopenharmony_ci	  you want a TTY serial device based on the xHCI debug capability
3862306a36Sopenharmony_ci	  before enabling this option. If unsure, say 'N'.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciconfig USB_XHCI_PCI
4162306a36Sopenharmony_ci	tristate
4262306a36Sopenharmony_ci	depends on USB_PCI
4362306a36Sopenharmony_ci	depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
4462306a36Sopenharmony_ci	default y
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig USB_XHCI_PCI_RENESAS
4762306a36Sopenharmony_ci	tristate "Support for additional Renesas xHCI controller with firmware"
4862306a36Sopenharmony_ci	help
4962306a36Sopenharmony_ci	  Say 'Y' to enable the support for the Renesas xHCI controller with
5062306a36Sopenharmony_ci	  firmware. Make sure you have the firmware for the device and
5162306a36Sopenharmony_ci	  installed on your system for this device to work.
5262306a36Sopenharmony_ci	  If unsure, say 'N'.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig USB_XHCI_PLATFORM
5562306a36Sopenharmony_ci	tristate "Generic xHCI driver for a platform device"
5662306a36Sopenharmony_ci	help
5762306a36Sopenharmony_ci	  Adds an xHCI host driver for a generic platform device, which
5862306a36Sopenharmony_ci	  provides a memory space and an irq.
5962306a36Sopenharmony_ci	  It is also a prerequisite for platform specific drivers that
6062306a36Sopenharmony_ci	  implement some extra quirks.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  If unsure, say N.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig USB_XHCI_HISTB
6562306a36Sopenharmony_ci	tristate "xHCI support for HiSilicon STB SoCs"
6662306a36Sopenharmony_ci	depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
6962306a36Sopenharmony_ci	  found in HiSilicon STB SoCs.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig USB_XHCI_MTK
7262306a36Sopenharmony_ci	tristate "xHCI support for MediaTek SoCs"
7362306a36Sopenharmony_ci	select MFD_SYSCON
7462306a36Sopenharmony_ci	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
7562306a36Sopenharmony_ci	help
7662306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
7762306a36Sopenharmony_ci	  found in MediaTek SoCs.
7862306a36Sopenharmony_ci	  If unsure, say N.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig USB_XHCI_MVEBU
8162306a36Sopenharmony_ci	tristate "xHCI support for Marvell Armada 375/38x/37xx"
8262306a36Sopenharmony_ci	select USB_XHCI_PLATFORM
8362306a36Sopenharmony_ci	depends on HAS_IOMEM
8462306a36Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
8562306a36Sopenharmony_ci	help
8662306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
8762306a36Sopenharmony_ci	  found in Marvell Armada 375/38x/37xx ARM SOCs.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig USB_XHCI_RCAR
9062306a36Sopenharmony_ci	tristate "xHCI support for Renesas R-Car SoCs"
9162306a36Sopenharmony_ci	depends on USB_XHCI_PLATFORM
9262306a36Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
9362306a36Sopenharmony_ci	default ARCH_RENESAS
9462306a36Sopenharmony_ci	help
9562306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
9662306a36Sopenharmony_ci	  found in Renesas R-Car ARM SoCs.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig USB_XHCI_RZV2M
9962306a36Sopenharmony_ci	bool "xHCI support for Renesas RZ/V2M SoC"
10062306a36Sopenharmony_ci	depends on USB_XHCI_RCAR
10162306a36Sopenharmony_ci	depends on ARCH_R9A09G011 || COMPILE_TEST
10262306a36Sopenharmony_ci	depends on USB_RZV2M_USB3DRD=y || (USB_RZV2M_USB3DRD=USB_XHCI_RCAR)
10362306a36Sopenharmony_ci	help
10462306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
10562306a36Sopenharmony_ci	  found in Renesas RZ/V2M SoC.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ciconfig USB_XHCI_TEGRA
10862306a36Sopenharmony_ci	tristate "xHCI support for NVIDIA Tegra SoCs"
10962306a36Sopenharmony_ci	depends on PHY_TEGRA_XUSB
11062306a36Sopenharmony_ci	depends on RESET_CONTROLLER
11162306a36Sopenharmony_ci	select FW_LOADER
11262306a36Sopenharmony_ci	help
11362306a36Sopenharmony_ci	  Say 'Y' to enable the support for the xHCI host controller
11462306a36Sopenharmony_ci	  found in NVIDIA Tegra124 and later SoCs.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ciendif # USB_XHCI_HCD
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciconfig USB_EHCI_BRCMSTB
11962306a36Sopenharmony_ci       tristate
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig USB_BRCMSTB
12262306a36Sopenharmony_ci	tristate "Broadcom STB USB support"
12362306a36Sopenharmony_ci	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
12462306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
12562306a36Sopenharmony_ci	select USB_EHCI_BRCMSTB if USB_EHCI_HCD
12662306a36Sopenharmony_ci	select USB_XHCI_PLATFORM if USB_XHCI_HCD
12762306a36Sopenharmony_ci	help
12862306a36Sopenharmony_ci	  Enables support for XHCI, EHCI and OHCI host controllers
12962306a36Sopenharmony_ci	  found in Broadcom STB SoC's.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	  To compile these drivers as modules, choose M here: the
13262306a36Sopenharmony_ci	  modules will be called ohci-platform.ko, ehci-brcm.ko and
13362306a36Sopenharmony_ci	  xhci-plat-hcd.ko
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	  Disabling this will keep the controllers and corresponding
13662306a36Sopenharmony_ci	  PHYs powered down.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig USB_EHCI_HCD
13962306a36Sopenharmony_ci	tristate "EHCI HCD (USB 2.0) support"
14062306a36Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
14162306a36Sopenharmony_ci	help
14262306a36Sopenharmony_ci	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
14362306a36Sopenharmony_ci	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
14462306a36Sopenharmony_ci	  If your USB host controller supports USB 2.0, you will likely want to
14562306a36Sopenharmony_ci	  configure this Host Controller Driver.
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci	  EHCI controllers are packaged with "companion" host controllers (OHCI
14862306a36Sopenharmony_ci	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
14962306a36Sopenharmony_ci	  will connect to EHCI if the device is high speed, otherwise they
15062306a36Sopenharmony_ci	  connect to a companion controller.  If you configure EHCI, you should
15162306a36Sopenharmony_ci	  probably configure the OHCI (for NEC and some other vendors) USB Host
15262306a36Sopenharmony_ci	  Controller Driver or UHCI (for Via motherboards) Host Controller
15362306a36Sopenharmony_ci	  Driver too.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci	  You may want to read <file:Documentation/usb/ehci.rst>.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
15862306a36Sopenharmony_ci	  module will be called ehci-hcd.
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ciconfig USB_EHCI_ROOT_HUB_TT
16162306a36Sopenharmony_ci	bool "Root Hub Transaction Translators"
16262306a36Sopenharmony_ci	depends on USB_EHCI_HCD
16362306a36Sopenharmony_ci	help
16462306a36Sopenharmony_ci	  Some EHCI chips have vendor-specific extensions to integrate
16562306a36Sopenharmony_ci	  transaction translators, so that no OHCI or UHCI companion
16662306a36Sopenharmony_ci	  controller is needed.  It's safe to say "y" even if your
16762306a36Sopenharmony_ci	  controller doesn't support this feature.
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci	  This supports the EHCI implementation that's originally
17062306a36Sopenharmony_ci	  from ARC, and has since changed hands a few times.
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ciconfig USB_EHCI_TT_NEWSCHED
17362306a36Sopenharmony_ci	bool "Improved Transaction Translator scheduling"
17462306a36Sopenharmony_ci	depends on USB_EHCI_HCD
17562306a36Sopenharmony_ci	default y
17662306a36Sopenharmony_ci	help
17762306a36Sopenharmony_ci	  This changes the periodic scheduling code to fill more of the low
17862306a36Sopenharmony_ci	  and full speed bandwidth available from the Transaction Translator
17962306a36Sopenharmony_ci	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
18062306a36Sopenharmony_ci	  issued in each microframe, significantly reducing the number of
18162306a36Sopenharmony_ci	  periodic low/fullspeed transfers possible.
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	  If you have multiple periodic low/fullspeed devices connected to a
18462306a36Sopenharmony_ci	  highspeed USB hub which is connected to a highspeed USB Host
18562306a36Sopenharmony_ci	  Controller, and some of those devices will not work correctly
18662306a36Sopenharmony_ci	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
18762306a36Sopenharmony_ci	  you have only one such device and it doesn't work, you could try
18862306a36Sopenharmony_ci	  saying N.
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci	  If unsure, say Y.
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciif USB_EHCI_HCD
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciconfig USB_EHCI_PCI
19562306a36Sopenharmony_ci	tristate
19662306a36Sopenharmony_ci	depends on USB_PCI
19762306a36Sopenharmony_ci	default y
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ciconfig XPS_USB_HCD_XILINX
20062306a36Sopenharmony_ci	bool "Use Xilinx usb host EHCI controller core"
20162306a36Sopenharmony_ci	depends on (PPC32 || MICROBLAZE)
20262306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC
20362306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
20462306a36Sopenharmony_ci	help
20562306a36Sopenharmony_ci		Xilinx xps USB host controller core is EHCI compliant and has
20662306a36Sopenharmony_ci		transaction translator built-in. It can be configured to either
20762306a36Sopenharmony_ci		support both high speed and full speed devices, or high speed
20862306a36Sopenharmony_ci		devices only.
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ciconfig USB_EHCI_FSL
21162306a36Sopenharmony_ci	tristate "Support for Freescale on-chip EHCI USB controller"
21262306a36Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
21362306a36Sopenharmony_ci	help
21462306a36Sopenharmony_ci	  Variation of ARC USB block used in some Freescale chips.
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ciconfig USB_EHCI_HCD_NPCM7XX
21762306a36Sopenharmony_ci	tristate "Support for Nuvoton NPCM on-chip EHCI USB controller"
21862306a36Sopenharmony_ci	depends on (USB_EHCI_HCD && ARCH_NPCM) || COMPILE_TEST
21962306a36Sopenharmony_ci	default y if (USB_EHCI_HCD && ARCH_NPCM)
22062306a36Sopenharmony_ci	help
22162306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
22262306a36Sopenharmony_ci	  Nuvoton NPCM chips.
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ciconfig USB_EHCI_HCD_OMAP
22562306a36Sopenharmony_ci	tristate "EHCI support for OMAP3 and later chips"
22662306a36Sopenharmony_ci	depends on ARCH_OMAP || COMPILE_TEST
22762306a36Sopenharmony_ci	depends on NOP_USB_XCEIV
22862306a36Sopenharmony_ci	default y
22962306a36Sopenharmony_ci	help
23062306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
23162306a36Sopenharmony_ci	  OMAP3 and later chips.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciconfig USB_EHCI_HCD_ORION
23462306a36Sopenharmony_ci	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
23562306a36Sopenharmony_ci	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
23662306a36Sopenharmony_ci	default y if (PLAT_ORION || ARCH_MVEBU)
23762306a36Sopenharmony_ci	help
23862306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on Marvell's
23962306a36Sopenharmony_ci	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
24062306a36Sopenharmony_ci	  Armada 370.  This is different from the EHCI implementation
24162306a36Sopenharmony_ci	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
24262306a36Sopenharmony_ci	  Marvell PXA/MMP USB controller" for those.
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ciconfig USB_EHCI_HCD_SPEAR
24562306a36Sopenharmony_ci	tristate "Support for ST SPEAr on-chip EHCI USB controller"
24662306a36Sopenharmony_ci	depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
24762306a36Sopenharmony_ci	default y if PLAT_SPEAR
24862306a36Sopenharmony_ci	help
24962306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
25062306a36Sopenharmony_ci	  ST SPEAr chips.
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ciconfig USB_EHCI_HCD_STI
25362306a36Sopenharmony_ci	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
25462306a36Sopenharmony_ci	depends on (ARCH_STI || COMPILE_TEST) && OF
25562306a36Sopenharmony_ci	select GENERIC_PHY
25662306a36Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM
25762306a36Sopenharmony_ci	help
25862306a36Sopenharmony_ci	  Enable support for the on-chip EHCI controller found on
25962306a36Sopenharmony_ci	  STMicroelectronics consumer electronics SoC's.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ciconfig USB_EHCI_HCD_AT91
26262306a36Sopenharmony_ci	tristate  "Support for Atmel on-chip EHCI USB controller"
26362306a36Sopenharmony_ci	depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
26462306a36Sopenharmony_ci	default y if ARCH_AT91
26562306a36Sopenharmony_ci	help
26662306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on
26762306a36Sopenharmony_ci	  Atmel chips.
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ciconfig USB_EHCI_TEGRA
27062306a36Sopenharmony_ci	tristate "NVIDIA Tegra HCD support"
27162306a36Sopenharmony_ci	depends on ARCH_TEGRA
27262306a36Sopenharmony_ci	select USB_CHIPIDEA
27362306a36Sopenharmony_ci	select USB_CHIPIDEA_HOST
27462306a36Sopenharmony_ci	select USB_CHIPIDEA_TEGRA
27562306a36Sopenharmony_ci	select USB_GADGET
27662306a36Sopenharmony_ci	help
27762306a36Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
27862306a36Sopenharmony_ci	  USB_CHIPIDEA_TEGRA instead.
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci	  Enable support for the internal USB Host Controllers
28162306a36Sopenharmony_ci	  found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ciconfig USB_EHCI_HCD_PPC_OF
28462306a36Sopenharmony_ci	bool "EHCI support for PPC USB controller on OF platform bus"
28562306a36Sopenharmony_ci	depends on PPC
28662306a36Sopenharmony_ci	default y
28762306a36Sopenharmony_ci	help
28862306a36Sopenharmony_ci	  Enables support for the USB controller present on the PowerPC
28962306a36Sopenharmony_ci	  OpenFirmware platform bus.
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ciconfig USB_EHCI_SH
29262306a36Sopenharmony_ci	bool "EHCI support for SuperH USB controller"
29362306a36Sopenharmony_ci	depends on SUPERH || COMPILE_TEST
29462306a36Sopenharmony_ci	help
29562306a36Sopenharmony_ci	  Enables support for the on-chip EHCI controller on the SuperH.
29662306a36Sopenharmony_ci	  If you use the PCI EHCI controller, this option is not necessary.
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ciconfig USB_EHCI_EXYNOS
29962306a36Sopenharmony_ci	tristate "EHCI support for Samsung S5P/Exynos SoC Series"
30062306a36Sopenharmony_ci	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
30162306a36Sopenharmony_ci	help
30262306a36Sopenharmony_ci	  Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip EHCI
30362306a36Sopenharmony_ci	  controller.
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ciconfig USB_EHCI_MV
30662306a36Sopenharmony_ci	tristate "EHCI support for Marvell PXA/MMP USB controller"
30762306a36Sopenharmony_ci	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
30862306a36Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
30962306a36Sopenharmony_ci	help
31062306a36Sopenharmony_ci	  Enables support for Marvell (including PXA and MMP series) on-chip
31162306a36Sopenharmony_ci	  USB SPH and OTG controller. SPH is a single port host, and it can
31262306a36Sopenharmony_ci	  only be EHCI host. OTG is controller that can switch to host mode.
31362306a36Sopenharmony_ci	  Note that this driver will not work on Marvell's other EHCI
31462306a36Sopenharmony_ci	  controller used by the EBU-type SoCs including Orion, Kirkwood,
31562306a36Sopenharmony_ci	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
31662306a36Sopenharmony_ci	  on-chip EHCI USB controller" for those.
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ciconfig USB_OCTEON_HCD
31962306a36Sopenharmony_ci	tristate "Cavium Networks Octeon USB support"
32062306a36Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC && USB
32162306a36Sopenharmony_ci	help
32262306a36Sopenharmony_ci	  This driver supports USB host controller on some Cavium
32362306a36Sopenharmony_ci	  Networks' products in the Octeon family.
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
32662306a36Sopenharmony_ci	  will be called octeon-hcd.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ciconfig USB_EHCI_HCD_PLATFORM
32962306a36Sopenharmony_ci	tristate "Generic EHCI driver for a platform device"
33062306a36Sopenharmony_ci	help
33162306a36Sopenharmony_ci	  Adds an EHCI host driver for a generic platform device, which
33262306a36Sopenharmony_ci	  provides a memory space and an irq.
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci	  If unsure, say N.
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ciconfig USB_OCTEON_EHCI
33762306a36Sopenharmony_ci	bool "Octeon on-chip EHCI support (DEPRECATED)"
33862306a36Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
33962306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
34062306a36Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM
34162306a36Sopenharmony_ci	help
34262306a36Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
34362306a36Sopenharmony_ci	  USB_EHCI_HCD_PLATFORM instead.
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci	  Enable support for the Octeon II SOC's on-chip EHCI
34662306a36Sopenharmony_ci	  controller.  It is needed for high-speed (480Mbit/sec)
34762306a36Sopenharmony_ci	  USB 2.0 device support.  All CN6XXX based chips with USB are
34862306a36Sopenharmony_ci	  supported.
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ciendif # USB_EHCI_HCD
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ciconfig USB_OXU210HP_HCD
35362306a36Sopenharmony_ci	tristate "OXU210HP HCD support"
35462306a36Sopenharmony_ci	depends on HAS_IOMEM
35562306a36Sopenharmony_ci	help
35662306a36Sopenharmony_ci	  The OXU210HP is an USB host/OTG/device controller. Enable this
35762306a36Sopenharmony_ci	  option if your board has this chip. If unsure, say N.
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci	  This driver does not support isochronous transfers and doesn't
36062306a36Sopenharmony_ci	  implement OTG nor USB device controllers.
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
36362306a36Sopenharmony_ci	  module will be called oxu210hp-hcd.
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ciconfig USB_ISP116X_HCD
36662306a36Sopenharmony_ci	tristate "ISP116X HCD support"
36762306a36Sopenharmony_ci	depends on HAS_IOMEM
36862306a36Sopenharmony_ci	help
36962306a36Sopenharmony_ci	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
37062306a36Sopenharmony_ci	  option if your board has this chip. If unsure, say N.
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	  This driver does not support isochronous transfers.
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
37562306a36Sopenharmony_ci	  module will be called isp116x-hcd.
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ciconfig USB_ISP1362_HCD
37862306a36Sopenharmony_ci	tristate "ISP1362 HCD support"
37962306a36Sopenharmony_ci	depends on HAS_IOPORT
38062306a36Sopenharmony_ci	depends on COMPILE_TEST # nothing uses this
38162306a36Sopenharmony_ci	help
38262306a36Sopenharmony_ci	  Supports the Philips ISP1362 chip as a host controller
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ci	  This driver does not support isochronous transfers.
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
38762306a36Sopenharmony_ci	  module will be called isp1362-hcd.
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ciconfig USB_MAX3421_HCD
39062306a36Sopenharmony_ci	tristate "MAX3421 HCD (USB-over-SPI) support"
39162306a36Sopenharmony_ci	depends on USB && SPI
39262306a36Sopenharmony_ci	help
39362306a36Sopenharmony_ci	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
39462306a36Sopenharmony_ci	  full-speed devices either in host or peripheral mode.  This
39562306a36Sopenharmony_ci	  driver supports the host-mode of the MAX3421E only.
39662306a36Sopenharmony_ci
39762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
39862306a36Sopenharmony_ci	  be called max3421-hcd.
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ciconfig USB_OHCI_HCD
40162306a36Sopenharmony_ci	tristate "OHCI HCD (USB 1.1) support"
40262306a36Sopenharmony_ci	depends on HAS_DMA && HAS_IOMEM
40362306a36Sopenharmony_ci	help
40462306a36Sopenharmony_ci	  The Open Host Controller Interface (OHCI) is a standard for accessing
40562306a36Sopenharmony_ci	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
40662306a36Sopenharmony_ci	  UHCI specification.  If your USB host controller follows the OHCI spec,
40762306a36Sopenharmony_ci	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
40862306a36Sopenharmony_ci	  USB controller from Intel or VIA, this is appropriate.  If your host
40962306a36Sopenharmony_ci	  controller doesn't use PCI, this is probably appropriate.  For a PCI
41062306a36Sopenharmony_ci	  based system where you're not sure, the "lspci -v" entry will list the
41162306a36Sopenharmony_ci	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
41462306a36Sopenharmony_ci	  module will be called ohci-hcd.
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ciif USB_OHCI_HCD
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ciconfig USB_OHCI_HCD_OMAP1
41962306a36Sopenharmony_ci	tristate "OHCI support for OMAP1/2 chips"
42062306a36Sopenharmony_ci	depends on ARCH_OMAP1
42162306a36Sopenharmony_ci	default y
42262306a36Sopenharmony_ci	help
42362306a36Sopenharmony_ci	  Enables support for the OHCI controller on OMAP1/2 chips.
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_ciconfig USB_OHCI_HCD_SPEAR
42662306a36Sopenharmony_ci	tristate "Support for ST SPEAr on-chip OHCI USB controller"
42762306a36Sopenharmony_ci	depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
42862306a36Sopenharmony_ci	default y if PLAT_SPEAR
42962306a36Sopenharmony_ci	help
43062306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
43162306a36Sopenharmony_ci	  ST SPEAr chips.
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ciconfig USB_OHCI_HCD_STI
43462306a36Sopenharmony_ci	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
43562306a36Sopenharmony_ci	depends on (ARCH_STI || COMPILE_TEST) && OF
43662306a36Sopenharmony_ci	select GENERIC_PHY
43762306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
43862306a36Sopenharmony_ci	help
43962306a36Sopenharmony_ci	  Enable support for the on-chip OHCI controller found on
44062306a36Sopenharmony_ci	  STMicroelectronics consumer electronics SoC's.
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ciconfig USB_OHCI_HCD_S3C2410
44362306a36Sopenharmony_ci	tristate "OHCI support for Samsung S3C64xx SoC series"
44462306a36Sopenharmony_ci	depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST)
44562306a36Sopenharmony_ci	default ARCH_S3C64XX
44662306a36Sopenharmony_ci	help
44762306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
44862306a36Sopenharmony_ci	  S3C64xx chips.
44962306a36Sopenharmony_ci
45062306a36Sopenharmony_ciconfig USB_OHCI_HCD_LPC32XX
45162306a36Sopenharmony_ci	tristate "Support for LPC on-chip OHCI USB controller"
45262306a36Sopenharmony_ci	depends on USB_OHCI_HCD
45362306a36Sopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
45462306a36Sopenharmony_ci	depends on USB_ISP1301
45562306a36Sopenharmony_ci	default y
45662306a36Sopenharmony_ci	help
45762306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
45862306a36Sopenharmony_ci	  NXP chips.
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ciconfig USB_OHCI_HCD_PXA27X
46162306a36Sopenharmony_ci	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
46262306a36Sopenharmony_ci	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
46362306a36Sopenharmony_ci	default y
46462306a36Sopenharmony_ci	help
46562306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
46662306a36Sopenharmony_ci	  PXA27x/PXA3xx chips.
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ciconfig USB_OHCI_HCD_AT91
46962306a36Sopenharmony_ci	tristate "Support for Atmel on-chip OHCI USB controller"
47062306a36Sopenharmony_ci	depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
47162306a36Sopenharmony_ci	default y if ARCH_AT91
47262306a36Sopenharmony_ci	help
47362306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
47462306a36Sopenharmony_ci	  Atmel chips.
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_ciconfig USB_OHCI_HCD_OMAP3
47762306a36Sopenharmony_ci	tristate "OHCI support for OMAP3 and later chips"
47862306a36Sopenharmony_ci	depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
47962306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
48062306a36Sopenharmony_ci	default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
48162306a36Sopenharmony_ci	help
48262306a36Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
48362306a36Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci	  Enables support for the on-chip OHCI controller on
48662306a36Sopenharmony_ci	  OMAP3 and later chips.
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ciconfig USB_OHCI_HCD_DAVINCI
48962306a36Sopenharmony_ci	tristate "OHCI support for TI DaVinci DA8xx"
49062306a36Sopenharmony_ci	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
49162306a36Sopenharmony_ci	depends on USB_OHCI_HCD
49262306a36Sopenharmony_ci	select PHY_DA8XX_USB
49362306a36Sopenharmony_ci	default y if ARCH_DAVINCI_DA8XX
49462306a36Sopenharmony_ci	help
49562306a36Sopenharmony_ci	  Enables support for the DaVinci DA8xx integrated OHCI
49662306a36Sopenharmony_ci	  controller. This driver cannot currently be a loadable
49762306a36Sopenharmony_ci	  module because it lacks a proper PHY abstraction.
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF_BE
50062306a36Sopenharmony_ci	bool "OHCI support for OF platform bus (big endian)"
50162306a36Sopenharmony_ci	depends on PPC
50262306a36Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_DESC
50362306a36Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO
50462306a36Sopenharmony_ci	help
50562306a36Sopenharmony_ci	  Enables support for big-endian USB controllers present on the
50662306a36Sopenharmony_ci	  OpenFirmware platform bus.
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF_LE
50962306a36Sopenharmony_ci	bool "OHCI support for OF platform bus (little endian)"
51062306a36Sopenharmony_ci	depends on PPC
51162306a36Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
51262306a36Sopenharmony_ci	help
51362306a36Sopenharmony_ci	  Enables support for little-endian USB controllers present on the
51462306a36Sopenharmony_ci	  OpenFirmware platform bus.
51562306a36Sopenharmony_ci
51662306a36Sopenharmony_ciconfig USB_OHCI_HCD_PPC_OF
51762306a36Sopenharmony_ci	bool
51862306a36Sopenharmony_ci	depends on PPC
51962306a36Sopenharmony_ci	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ciconfig USB_OHCI_HCD_PCI
52262306a36Sopenharmony_ci	tristate "OHCI support for PCI-bus USB controllers"
52362306a36Sopenharmony_ci	depends on USB_PCI
52462306a36Sopenharmony_ci	default y
52562306a36Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
52662306a36Sopenharmony_ci	help
52762306a36Sopenharmony_ci	  Enables support for PCI-bus plug-in USB controller cards.
52862306a36Sopenharmony_ci	  If unsure, say Y.
52962306a36Sopenharmony_ci
53062306a36Sopenharmony_ciconfig USB_OHCI_HCD_SSB
53162306a36Sopenharmony_ci	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
53262306a36Sopenharmony_ci	depends on (SSB = y || SSB = USB_OHCI_HCD)
53362306a36Sopenharmony_ci	select USB_HCD_SSB
53462306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
53562306a36Sopenharmony_ci	help
53662306a36Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
53762306a36Sopenharmony_ci	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
53862306a36Sopenharmony_ci
53962306a36Sopenharmony_ci	  Support for the Sonics Silicon Backplane (SSB) attached
54062306a36Sopenharmony_ci	  Broadcom USB OHCI core.
54162306a36Sopenharmony_ci
54262306a36Sopenharmony_ci	  This device is present in some embedded devices with
54362306a36Sopenharmony_ci	  Broadcom based SSB bus.
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci	  If unsure, say N.
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ciconfig USB_OHCI_EXYNOS
54862306a36Sopenharmony_ci	tristate "OHCI support for Samsung S5P/Exynos SoC Series"
54962306a36Sopenharmony_ci	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
55062306a36Sopenharmony_ci	help
55162306a36Sopenharmony_ci	  Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip OHCI
55262306a36Sopenharmony_ci	  controller.
55362306a36Sopenharmony_ci
55462306a36Sopenharmony_ciconfig USB_OHCI_HCD_PLATFORM
55562306a36Sopenharmony_ci	tristate "Generic OHCI driver for a platform device"
55662306a36Sopenharmony_ci	help
55762306a36Sopenharmony_ci	  Adds an OHCI host driver for a generic platform device, which
55862306a36Sopenharmony_ci	  provides a memory space and an irq.
55962306a36Sopenharmony_ci
56062306a36Sopenharmony_ci	  If unsure, say N.
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ciconfig USB_OCTEON_OHCI
56362306a36Sopenharmony_ci	bool "Octeon on-chip OHCI support (DEPRECATED)"
56462306a36Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
56562306a36Sopenharmony_ci	default USB_OCTEON_EHCI
56662306a36Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
56762306a36Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
56862306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM
56962306a36Sopenharmony_ci	help
57062306a36Sopenharmony_ci	  This option is deprecated now and the driver was removed, use
57162306a36Sopenharmony_ci	  USB_OHCI_HCD_PLATFORM instead.
57262306a36Sopenharmony_ci
57362306a36Sopenharmony_ci	  Enable support for the Octeon II SOC's on-chip OHCI
57462306a36Sopenharmony_ci	  controller.  It is needed for low-speed USB 1.0 device
57562306a36Sopenharmony_ci	  support.  All CN6XXX based chips with USB are supported.
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_ciendif # USB_OHCI_HCD
57862306a36Sopenharmony_ci
57962306a36Sopenharmony_ciconfig USB_UHCI_HCD
58062306a36Sopenharmony_ci	tristate "UHCI HCD (most Intel and VIA) support"
58162306a36Sopenharmony_ci	depends on (USB_PCI && HAS_IOPORT) || USB_UHCI_SUPPORT_NON_PCI_HC
58262306a36Sopenharmony_ci	help
58362306a36Sopenharmony_ci	  The Universal Host Controller Interface is a standard by Intel for
58462306a36Sopenharmony_ci	  accessing the USB hardware in the PC (which is also called the USB
58562306a36Sopenharmony_ci	  host controller). If your USB host controller conforms to this
58662306a36Sopenharmony_ci	  standard, you may want to say Y, but see below. All recent boards
58762306a36Sopenharmony_ci	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
58862306a36Sopenharmony_ci	  i810, i820) conform to this standard. Also all VIA PCI chipsets
58962306a36Sopenharmony_ci	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
59062306a36Sopenharmony_ci	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
59162306a36Sopenharmony_ci	  If unsure, say Y.
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
59462306a36Sopenharmony_ci	  module will be called uhci-hcd.
59562306a36Sopenharmony_ci
59662306a36Sopenharmony_ciconfig USB_UHCI_SUPPORT_NON_PCI_HC
59762306a36Sopenharmony_ci	bool
59862306a36Sopenharmony_ci	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ciconfig USB_UHCI_PLATFORM
60162306a36Sopenharmony_ci	bool
60262306a36Sopenharmony_ci	default y if (ARCH_VT8500 || ARCH_ASPEED)
60362306a36Sopenharmony_ci
60462306a36Sopenharmony_ciconfig USB_UHCI_ASPEED
60562306a36Sopenharmony_ci	bool
60662306a36Sopenharmony_ci	default y if ARCH_ASPEED
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ciconfig USB_FHCI_HCD
60962306a36Sopenharmony_ci	tristate "Freescale QE USB Host Controller support"
61062306a36Sopenharmony_ci	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
61162306a36Sopenharmony_ci	select FSL_GTM
61262306a36Sopenharmony_ci	select QE_USB
61362306a36Sopenharmony_ci	help
61462306a36Sopenharmony_ci	  This driver enables support for Freescale QE USB Host Controller
61562306a36Sopenharmony_ci	  (as found on MPC8360 and MPC8323 processors), the driver supports
61662306a36Sopenharmony_ci	  Full and Low Speed USB.
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_ciconfig FHCI_DEBUG
61962306a36Sopenharmony_ci	bool "Freescale QE USB Host Controller debug support"
62062306a36Sopenharmony_ci	depends on USB_FHCI_HCD && DEBUG_FS
62162306a36Sopenharmony_ci	help
62262306a36Sopenharmony_ci	  Say "y" to see some FHCI debug information and statistics
62362306a36Sopenharmony_ci	  through debugfs.
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ciconfig USB_SL811_HCD
62662306a36Sopenharmony_ci	tristate "SL811HS HCD support"
62762306a36Sopenharmony_ci	depends on HAS_IOMEM
62862306a36Sopenharmony_ci	help
62962306a36Sopenharmony_ci	  The SL811HS is a single-port USB controller that supports either
63062306a36Sopenharmony_ci	  host side or peripheral side roles.  Enable this option if your
63162306a36Sopenharmony_ci	  board has this chip, and you want to use it as a host controller. 
63262306a36Sopenharmony_ci	  If unsure, say N.
63362306a36Sopenharmony_ci
63462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
63562306a36Sopenharmony_ci	  module will be called sl811-hcd.
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_ciconfig USB_SL811_HCD_ISO
63862306a36Sopenharmony_ci	bool "partial ISO support"
63962306a36Sopenharmony_ci	depends on USB_SL811_HCD
64062306a36Sopenharmony_ci	help
64162306a36Sopenharmony_ci	  The driver doesn't support iso_frame_desc (yet), but for some simple
64262306a36Sopenharmony_ci	  devices that just queue one ISO frame per URB, then ISO transfers
64362306a36Sopenharmony_ci	  "should" work using the normal urb status fields.
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ci	  If unsure, say N.
64662306a36Sopenharmony_ci
64762306a36Sopenharmony_ciconfig USB_SL811_CS
64862306a36Sopenharmony_ci	tristate "CF/PCMCIA support for SL811HS HCD"
64962306a36Sopenharmony_ci	depends on USB_SL811_HCD && PCMCIA
65062306a36Sopenharmony_ci	help
65162306a36Sopenharmony_ci	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
65262306a36Sopenharmony_ci	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
65562306a36Sopenharmony_ci	  module will be called "sl811_cs".
65662306a36Sopenharmony_ci
65762306a36Sopenharmony_ciconfig USB_R8A66597_HCD
65862306a36Sopenharmony_ci	tristate "R8A66597 HCD support"
65962306a36Sopenharmony_ci	depends on HAS_IOMEM
66062306a36Sopenharmony_ci	help
66162306a36Sopenharmony_ci	  The R8A66597 is a USB 2.0 host and peripheral controller.
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ci	  Enable this option if your board has this chip, and you want
66462306a36Sopenharmony_ci	  to use it as a host controller.  If unsure, say N.
66562306a36Sopenharmony_ci
66662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
66762306a36Sopenharmony_ci	  module will be called r8a66597-hcd.
66862306a36Sopenharmony_ci
66962306a36Sopenharmony_ciconfig USB_RENESAS_USBHS_HCD
67062306a36Sopenharmony_ci	tristate "Renesas USBHS HCD support"
67162306a36Sopenharmony_ci	depends on USB_RENESAS_USBHS
67262306a36Sopenharmony_ci	help
67362306a36Sopenharmony_ci	  The Renesas USBHS is a USB 2.0 host and peripheral controller.
67462306a36Sopenharmony_ci
67562306a36Sopenharmony_ci	  Enable this option if your board has this chip, and you want
67662306a36Sopenharmony_ci	  to use it as a host controller.  If unsure, say N.
67762306a36Sopenharmony_ci
67862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
67962306a36Sopenharmony_ci	  module will be called renesas-usbhs.
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ciconfig USB_HCD_BCMA
68262306a36Sopenharmony_ci	tristate "BCMA usb host driver"
68362306a36Sopenharmony_ci	depends on BCMA
68462306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
68562306a36Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
68662306a36Sopenharmony_ci	help
68762306a36Sopenharmony_ci	  Enable support for the EHCI and OCHI host controller on an bcma bus.
68862306a36Sopenharmony_ci	  It converts the bcma driver into two platform device drivers
68962306a36Sopenharmony_ci	  for ehci and ohci.
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci	  If unsure, say N.
69262306a36Sopenharmony_ci
69362306a36Sopenharmony_ciconfig USB_HCD_SSB
69462306a36Sopenharmony_ci	tristate "SSB usb host driver"
69562306a36Sopenharmony_ci	depends on SSB
69662306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
69762306a36Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
69862306a36Sopenharmony_ci	help
69962306a36Sopenharmony_ci	  Enable support for the EHCI and OCHI host controller on an bcma bus.
70062306a36Sopenharmony_ci	  It converts the bcma driver into two platform device drivers
70162306a36Sopenharmony_ci	  for ehci and ohci.
70262306a36Sopenharmony_ci
70362306a36Sopenharmony_ci	  If unsure, say N.
70462306a36Sopenharmony_ci
70562306a36Sopenharmony_ciconfig USB_HCD_TEST_MODE
70662306a36Sopenharmony_ci	bool "HCD test mode support"
70762306a36Sopenharmony_ci	help
70862306a36Sopenharmony_ci	  Say 'Y' to enable additional software test modes that may be
70962306a36Sopenharmony_ci	  supported by the host controller drivers.
71062306a36Sopenharmony_ci
71162306a36Sopenharmony_ci	  One such test mode is the Embedded High-speed Host Electrical Test
71262306a36Sopenharmony_ci	  (EHSET) for EHCI host controller hardware, specifically the "Single
71362306a36Sopenharmony_ci	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
71462306a36Sopenharmony_ci	  or embedded hosts that need to undergo USB-IF compliance testing with
71562306a36Sopenharmony_ci	  the aid of special testing hardware.  In the future, this may expand
71662306a36Sopenharmony_ci	  to include other tests that require support from a HCD driver.
71762306a36Sopenharmony_ci
71862306a36Sopenharmony_ci	  This option is of interest only to developers who need to validate
71962306a36Sopenharmony_ci	  their USB hardware designs.  It is not needed for normal use.  If
72062306a36Sopenharmony_ci	  unsure, say N.
72162306a36Sopenharmony_ci
72262306a36Sopenharmony_ciconfig USB_XEN_HCD
72362306a36Sopenharmony_ci	tristate "Xen usb virtual host driver"
72462306a36Sopenharmony_ci	depends on XEN
72562306a36Sopenharmony_ci	select XEN_XENBUS_FRONTEND
72662306a36Sopenharmony_ci	help
72762306a36Sopenharmony_ci	  The Xen usb virtual host driver serves as a frontend driver enabling
72862306a36Sopenharmony_ci	  a Xen guest system to access USB Devices passed through to the guest
72962306a36Sopenharmony_ci	  by the Xen host (usually Dom0).
73062306a36Sopenharmony_ci	  Only needed if the kernel is running in a Xen guest and generic
73162306a36Sopenharmony_ci	  access to a USB device is needed.
732