2014-11-07 09:48:31 +00:00
|
|
|
#
|
|
|
|
# USB Host Controller Drivers
|
|
|
|
#
|
|
|
|
comment "USB Host Controller Drivers"
|
|
|
|
|
2016-07-31 15:16:34 +00:00
|
|
|
config USB_HOST
|
|
|
|
bool
|
2021-07-09 14:11:56 +00:00
|
|
|
select DM_USB
|
2016-07-31 15:16:34 +00:00
|
|
|
|
2014-11-07 09:48:31 +00:00
|
|
|
config USB_XHCI_HCD
|
|
|
|
bool "xHCI HCD (USB 3.0) support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
2016-07-31 15:16:34 +00:00
|
|
|
select USB_HOST
|
2014-11-07 09:48:31 +00:00
|
|
|
---help---
|
|
|
|
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
|
|
|
|
"SuperSpeed" host controller hardware.
|
|
|
|
|
|
|
|
if USB_XHCI_HCD
|
|
|
|
|
2016-06-03 22:35:04 +00:00
|
|
|
config USB_XHCI_DWC3
|
|
|
|
bool "DesignWare USB3 DRD Core Support"
|
|
|
|
help
|
|
|
|
Say Y or if your system has a Dual Role SuperSpeed
|
|
|
|
USB controller based on the DesignWare USB3 IP Core.
|
|
|
|
|
2018-04-11 15:08:00 +00:00
|
|
|
config USB_XHCI_DWC3_OF_SIMPLE
|
|
|
|
bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
|
2018-04-12 08:41:10 +00:00
|
|
|
depends on DM_USB
|
2019-06-30 16:01:54 +00:00
|
|
|
default y if ARCH_ROCKCHIP
|
2018-04-12 08:41:11 +00:00
|
|
|
default y if DRA7XX
|
2018-04-11 15:08:00 +00:00
|
|
|
help
|
|
|
|
Support USB2/3 functionality in simple SoC integrations with
|
|
|
|
USB controller based on the DesignWare USB3 IP Core.
|
|
|
|
|
2020-05-02 09:35:18 +00:00
|
|
|
config USB_XHCI_MTK
|
|
|
|
bool "Support for MediaTek on-chip xHCI USB controller"
|
|
|
|
depends on ARCH_MEDIATEK
|
|
|
|
help
|
|
|
|
Enables support for the on-chip xHCI controller on MediaTek SoCs.
|
|
|
|
|
2016-07-14 09:39:20 +00:00
|
|
|
config USB_XHCI_MVEBU
|
|
|
|
bool "MVEBU USB 3.0 support"
|
|
|
|
default y
|
|
|
|
depends on ARCH_MVEBU
|
2017-02-12 09:10:30 +00:00
|
|
|
select DM_REGULATOR
|
2016-07-14 09:39:20 +00:00
|
|
|
help
|
|
|
|
Choose this option to add support for USB 3.0 driver on mvebu
|
|
|
|
SoCs, which includes Armada8K, Armada3700 and other Armada
|
|
|
|
family SoCs.
|
|
|
|
|
2020-08-24 11:04:38 +00:00
|
|
|
config USB_XHCI_OCTEON
|
|
|
|
bool "Support for Marvell Octeon family on-chip xHCI USB controller"
|
|
|
|
depends on ARCH_OCTEON
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enables support for the on-chip xHCI controller on Marvell Octeon
|
|
|
|
family SoCs. This is a driver for the dwc3 to provide the glue logic
|
|
|
|
to configure the controller.
|
|
|
|
|
2021-09-13 00:32:22 +00:00
|
|
|
config USB_XHCI_OMAP
|
|
|
|
bool "Support for TI OMAP family xHCI USB controller"
|
|
|
|
depends on ARCH_OMAP2PLUS
|
|
|
|
help
|
|
|
|
Enables support for the on-chip xHCI controller found on some TI SoC
|
|
|
|
families. Note that some families have multiple contollers while
|
|
|
|
others only have something such as DesignWare-based controllers.
|
|
|
|
Consult the SoC documentation to determine if this option applies
|
|
|
|
to your hardware.
|
|
|
|
|
2017-07-19 13:50:08 +00:00
|
|
|
config USB_XHCI_PCI
|
|
|
|
bool "Support for PCI-based xHCI USB controller"
|
2017-07-19 13:51:07 +00:00
|
|
|
depends on DM_USB
|
2017-07-19 13:50:08 +00:00
|
|
|
default y if X86
|
|
|
|
help
|
|
|
|
Enables support for the PCI-based xHCI controller.
|
|
|
|
|
2017-10-15 13:01:29 +00:00
|
|
|
config USB_XHCI_RCAR
|
|
|
|
bool "Renesas RCar USB 3.0 support"
|
|
|
|
default y
|
|
|
|
depends on ARCH_RMOBILE
|
|
|
|
help
|
|
|
|
Choose this option to add support for USB 3.0 driver on Renesas
|
|
|
|
RCar Gen3 SoCs.
|
|
|
|
|
2017-09-05 09:04:24 +00:00
|
|
|
config USB_XHCI_STI
|
|
|
|
bool "Support for STMicroelectronics STiH407 family on-chip xHCI USB controller"
|
|
|
|
depends on ARCH_STI
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enables support for the on-chip xHCI controller on STMicroelectronics
|
|
|
|
STiH407 family SoCs. This is a driver for the dwc3 to provide the glue logic
|
|
|
|
to configure the controller.
|
|
|
|
|
2017-02-23 13:39:36 +00:00
|
|
|
config USB_XHCI_DRA7XX_INDEX
|
|
|
|
int "DRA7XX xHCI USB index"
|
|
|
|
range 0 1
|
|
|
|
default 0
|
|
|
|
depends on DRA7XX
|
|
|
|
help
|
|
|
|
Select the DRA7XX xHCI USB index.
|
|
|
|
Current supported values: 0, 1.
|
|
|
|
|
2017-10-23 02:09:22 +00:00
|
|
|
config USB_XHCI_FSL
|
|
|
|
bool "Support for NXP Layerscape on-chip xHCI USB controller"
|
|
|
|
default y if ARCH_LS1021A || FSL_LSCH3 || FSL_LSCH2
|
|
|
|
depends on !SPL_NO_USB
|
|
|
|
help
|
|
|
|
Enables support for the on-chip xHCI controller on NXP Layerscape SoCs.
|
2020-04-09 03:53:15 +00:00
|
|
|
|
|
|
|
config USB_XHCI_BRCM
|
|
|
|
bool "Broadcom USB3 Host XHCI controller"
|
|
|
|
depends on DM_USB
|
|
|
|
help
|
|
|
|
USB controller based on the Broadcom USB3 IP Core.
|
|
|
|
Supports USB2/3 functionality.
|
|
|
|
|
2016-07-31 15:16:32 +00:00
|
|
|
endif # USB_XHCI_HCD
|
2015-12-14 14:18:50 +00:00
|
|
|
|
2014-11-07 09:48:31 +00:00
|
|
|
config USB_EHCI_HCD
|
|
|
|
bool "EHCI HCD (USB 2.0) support"
|
2017-05-13 02:33:28 +00:00
|
|
|
default y if ARCH_MX5 || ARCH_MX6
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
2016-07-31 15:16:34 +00:00
|
|
|
select USB_HOST
|
2014-11-07 09:48:31 +00:00
|
|
|
---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.txt>.
|
|
|
|
|
|
|
|
if USB_EHCI_HCD
|
|
|
|
|
2021-10-09 13:27:35 +00:00
|
|
|
config USB_EHCI_IS_TDI
|
|
|
|
bool
|
|
|
|
|
2016-08-05 00:57:35 +00:00
|
|
|
config USB_EHCI_ATMEL
|
|
|
|
bool "Support for Atmel on-chip EHCI USB controller"
|
|
|
|
depends on ARCH_AT91
|
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on Atmel chips.
|
|
|
|
|
2015-09-01 09:39:44 +00:00
|
|
|
config USB_EHCI_MARVELL
|
2017-05-13 02:33:29 +00:00
|
|
|
bool "Support for Marvell on-chip EHCI USB controller"
|
2020-05-06 12:02:40 +00:00
|
|
|
depends on ARCH_MVEBU || ARCH_KIRKWOOD || ARCH_ORION5X
|
2015-09-01 09:39:44 +00:00
|
|
|
default y
|
2021-10-09 13:27:35 +00:00
|
|
|
select USB_EHCI_IS_TDI if !ARM64
|
2015-09-01 09:39:44 +00:00
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on MVEBU SoCs.
|
|
|
|
|
2019-04-04 10:26:55 +00:00
|
|
|
config USB_EHCI_MX5
|
|
|
|
bool "Support for i.MX5 on-chip EHCI USB controller"
|
|
|
|
depends on ARCH_MX5
|
|
|
|
help
|
|
|
|
Enables support for the on-chip EHCI controller on i.MX5 SoCs.
|
|
|
|
|
2015-07-23 14:19:35 +00:00
|
|
|
config USB_EHCI_MX6
|
2019-10-24 13:29:32 +00:00
|
|
|
bool "Support for i.MX6/i.MX7ULP on-chip EHCI USB controller"
|
2021-05-20 14:10:15 +00:00
|
|
|
depends on ARCH_MX6 || ARCH_MX7ULP || ARCH_IMXRT
|
2015-07-23 14:19:35 +00:00
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on i.MX6 SoCs.
|
|
|
|
|
2016-07-13 07:25:36 +00:00
|
|
|
config USB_EHCI_MX7
|
|
|
|
bool "Support for i.MX7 on-chip EHCI USB controller"
|
2021-04-02 12:07:22 +00:00
|
|
|
depends on ARCH_MX7 || IMX8M
|
|
|
|
select PHY if IMX8M
|
|
|
|
select NOP_PHY if IMX8M
|
2016-07-13 07:25:36 +00:00
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on i.MX7 SoCs.
|
|
|
|
|
2021-10-09 13:27:33 +00:00
|
|
|
config USB_EHCI_MXS
|
2021-12-22 09:55:06 +00:00
|
|
|
bool "Support for i.MX23/i.MX28 EHCI USB controller"
|
|
|
|
depends on ARCH_MX23 || ARCH_MX28
|
2021-10-09 13:27:33 +00:00
|
|
|
default y
|
2021-10-09 13:27:35 +00:00
|
|
|
select USB_EHCI_IS_TDI
|
2021-10-09 13:27:33 +00:00
|
|
|
help
|
2021-12-22 09:55:06 +00:00
|
|
|
Enables support for the on-chip EHCI controller on i.MX23 and
|
|
|
|
i.MX28 SoCs.
|
2021-10-09 13:27:33 +00:00
|
|
|
|
2017-05-13 02:33:30 +00:00
|
|
|
config USB_EHCI_OMAP
|
|
|
|
bool "Support for OMAP3+ on-chip EHCI USB controller"
|
|
|
|
depends on ARCH_OMAP2PLUS
|
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on OMAP3 and later
|
|
|
|
SoCs.
|
|
|
|
|
2021-09-13 00:32:28 +00:00
|
|
|
if USB_EHCI_OMAP
|
|
|
|
|
|
|
|
config HAS_OMAP_EHCI_PHY1_RESET_GPIO
|
|
|
|
bool "PHY #1 requires a GPIO hold to it in RESET while PHY settles"
|
|
|
|
help
|
|
|
|
Enable this to be able to configure the GPIO number used to hold the
|
|
|
|
PHY in RESET for enough time until the PHY is settled and ready.
|
|
|
|
|
|
|
|
config OMAP_EHCI_PHY1_RESET_GPIO
|
|
|
|
int "GPIO number to hold PHY #1 in RESET"
|
|
|
|
depends on HAS_OMAP_EHCI_PHY1_RESET_GPIO
|
|
|
|
|
|
|
|
config HAS_OMAP_EHCI_PHY2_RESET_GPIO
|
|
|
|
bool "PHY #2 requires a GPIO hold to it in RESET while PHY settles"
|
|
|
|
help
|
|
|
|
Enable this to be able to configure the GPIO number used to hold the
|
|
|
|
PHY in RESET for enough time until the PHY is settled and ready.
|
|
|
|
|
|
|
|
config OMAP_EHCI_PHY2_RESET_GPIO
|
|
|
|
int "GPIO number to hold PHY #2 in RESET"
|
|
|
|
depends on HAS_OMAP_EHCI_PHY2_RESET_GPIO
|
|
|
|
|
|
|
|
config HAS_OMAP_EHCI_PHY3_RESET_GPIO
|
|
|
|
bool "PHY #3 requires a GPIO hold to it in RESET while PHY settles"
|
|
|
|
help
|
|
|
|
Enable this to be able to configure the GPIO number used to hold the
|
|
|
|
PHY in RESET for enough time until the PHY is settled and ready.
|
|
|
|
|
|
|
|
config OMAP_EHCI_PHY3_RESET_GPIO
|
|
|
|
int "GPIO number to hold PHY #3 in RESET"
|
|
|
|
depends on HAS_OMAP_EHCI_PHY3_RESET_GPIO
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2019-03-25 16:24:54 +00:00
|
|
|
config USB_EHCI_VF
|
|
|
|
bool "Support for Vybrid on-chip EHCI USB controller"
|
|
|
|
depends on ARCH_VF610
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enables support for the on-chip EHCI controller on Vybrid SoCs.
|
|
|
|
|
2019-10-24 13:29:32 +00:00
|
|
|
if USB_EHCI_MX6 || USB_EHCI_MX7
|
2016-07-13 07:25:38 +00:00
|
|
|
|
|
|
|
config MXC_USB_OTG_HACTIVE
|
|
|
|
bool "USB Power pin high active"
|
|
|
|
---help---
|
|
|
|
Set the USB Power pin polarity to be high active (PWR_POL)
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2016-03-31 21:12:26 +00:00
|
|
|
config USB_EHCI_MSM
|
|
|
|
bool "Support for Qualcomm on-chip EHCI USB controller"
|
|
|
|
depends on DM_USB
|
|
|
|
select USB_ULPI_VIEWPORT
|
2018-09-21 10:35:50 +00:00
|
|
|
select MSM8916_USB_PHY
|
2016-03-31 21:12:26 +00:00
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on Qualcomm
|
|
|
|
Snapdragon SoCs.
|
|
|
|
|
2017-08-09 07:21:54 +00:00
|
|
|
config USB_EHCI_PCI
|
|
|
|
bool "Support for PCI-based EHCI USB controller"
|
|
|
|
default y if X86
|
|
|
|
help
|
|
|
|
Enables support for the PCI-based EHCI controller.
|
|
|
|
|
2019-02-20 12:17:27 +00:00
|
|
|
config USB_EHCI_TEGRA
|
|
|
|
bool "Support for NVIDIA Tegra on-chip EHCI USB controller"
|
2020-05-06 12:02:41 +00:00
|
|
|
depends on ARCH_TEGRA
|
2021-10-09 13:27:35 +00:00
|
|
|
select USB_EHCI_IS_TDI
|
2019-02-20 12:17:27 +00:00
|
|
|
---help---
|
|
|
|
Enable support for Tegra on-chip EHCI USB controller
|
|
|
|
|
2016-07-22 09:21:51 +00:00
|
|
|
config USB_EHCI_ZYNQ
|
|
|
|
bool "Support for Xilinx Zynq on-chip EHCI USB controller"
|
2020-08-24 12:41:51 +00:00
|
|
|
default y if ARCH_ZYNQ
|
2021-10-09 13:27:35 +00:00
|
|
|
select USB_EHCI_IS_TDI
|
2016-07-22 09:21:51 +00:00
|
|
|
---help---
|
|
|
|
Enable support for Zynq on-chip EHCI USB controller
|
|
|
|
|
2015-12-02 09:32:02 +00:00
|
|
|
config USB_EHCI_GENERIC
|
|
|
|
bool "Support for generic EHCI USB controller"
|
|
|
|
depends on DM_USB
|
2018-12-22 12:48:10 +00:00
|
|
|
default ARCH_SUNXI
|
2015-12-02 09:32:02 +00:00
|
|
|
---help---
|
|
|
|
Enables support for generic EHCI controller.
|
|
|
|
|
2017-12-20 02:34:20 +00:00
|
|
|
config USB_EHCI_FSL
|
|
|
|
bool "Support for FSL on-chip EHCI USB controller"
|
|
|
|
select CONFIG_EHCI_HCD_INIT_AFTER_RESET
|
|
|
|
---help---
|
|
|
|
Enables support for the on-chip EHCI controller on FSL chips.
|
2016-07-31 15:16:32 +00:00
|
|
|
endif # USB_EHCI_HCD
|
|
|
|
|
|
|
|
config USB_OHCI_HCD
|
|
|
|
bool "OHCI HCD (USB 1.1) support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
|
|
|
select USB_HOST
|
2016-07-31 15:16:32 +00:00
|
|
|
---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.
|
|
|
|
|
2021-07-09 14:11:56 +00:00
|
|
|
if USB_OHCI_HCD
|
|
|
|
|
2019-07-16 08:49:07 +00:00
|
|
|
config USB_OHCI_PCI
|
|
|
|
bool "Support for PCI-based OHCI USB controller"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on PCI
|
2019-07-16 08:49:07 +00:00
|
|
|
help
|
|
|
|
Enables support for the PCI-based OHCI controller.
|
|
|
|
|
2016-07-31 15:16:32 +00:00
|
|
|
config USB_OHCI_GENERIC
|
|
|
|
bool "Support for generic OHCI USB controller"
|
2018-12-22 12:48:10 +00:00
|
|
|
default ARCH_SUNXI
|
2016-07-31 15:16:32 +00:00
|
|
|
---help---
|
|
|
|
Enables support for generic OHCI controller.
|
|
|
|
|
2019-04-30 10:21:41 +00:00
|
|
|
config USB_OHCI_DA8XX
|
|
|
|
bool "Support for da850 OHCI USB controller"
|
|
|
|
help
|
|
|
|
Enable support for the da850 USB controller.
|
|
|
|
|
2016-07-31 15:16:32 +00:00
|
|
|
endif # USB_OHCI_HCD
|
2016-07-31 15:16:33 +00:00
|
|
|
|
|
|
|
config USB_UHCI_HCD
|
|
|
|
bool "UHCI HCD (most Intel and VIA) support"
|
2016-07-31 15:16:34 +00:00
|
|
|
select USB_HOST
|
2016-07-31 15:16:33 +00:00
|
|
|
---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.
|
|
|
|
|
|
|
|
if USB_UHCI_HCD
|
|
|
|
|
|
|
|
endif # USB_UHCI_HCD
|
2017-07-03 16:30:06 +00:00
|
|
|
|
|
|
|
config USB_DWC2
|
|
|
|
bool "DesignWare USB2 Core support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
2017-07-03 16:30:06 +00:00
|
|
|
select USB_HOST
|
|
|
|
---help---
|
|
|
|
The DesignWare USB 2.0 controller is compliant with the
|
|
|
|
USB-Implementers Forum (USB-IF) USB 2.0 specifications.
|
|
|
|
Hi-Speed (480 Mbps), Full-Speed (12 Mbps), and Low-Speed (1.5 Mbps)
|
|
|
|
operation is compliant to the controller Supplement. If you want to
|
|
|
|
enable this controller in host mode, say Y.
|
2018-02-28 13:16:58 +00:00
|
|
|
|
|
|
|
if USB_DWC2
|
|
|
|
config USB_DWC2_BUFFER_SIZE
|
|
|
|
int "Data buffer size in kB"
|
|
|
|
default 64
|
|
|
|
---help---
|
|
|
|
By default 64 kB buffer is used but if amount of RAM avaialble on
|
|
|
|
the target is not enough to accommodate allocation of buffer of
|
|
|
|
that size it is possible to shrink it. Smaller sizes should be fine
|
|
|
|
because larger transactions could be split in smaller ones.
|
|
|
|
|
|
|
|
endif # USB_DWC2
|
2019-08-11 11:23:43 +00:00
|
|
|
|
|
|
|
config USB_R8A66597_HCD
|
|
|
|
bool "Renesas R8A66597 USB Core support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
2019-08-11 11:23:43 +00:00
|
|
|
select USB_HOST
|
|
|
|
---help---
|
|
|
|
This enables support for the on-chip Renesas R8A66597 USB 2.0
|
|
|
|
controller, present in various RZ and SH SoCs.
|