162 lines
4.6 KiB
Plaintext
162 lines
4.6 KiB
Plaintext
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
config USB_DWC3
|
||
|
tristate "DesignWare USB3 DRD Core Support"
|
||
|
depends on (USB || USB_GADGET) && HAS_DMA
|
||
|
select USB_XHCI_PLATFORM if USB_XHCI_HCD
|
||
|
select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE
|
||
|
help
|
||
|
Say Y or M here if your system has a Dual Role SuperSpeed
|
||
|
USB controller based on the DesignWare USB3 IP Core.
|
||
|
|
||
|
If you choose to build this driver is a dynamically linked
|
||
|
module, the module will be called dwc3.ko.
|
||
|
|
||
|
if USB_DWC3
|
||
|
|
||
|
config USB_DWC3_ULPI
|
||
|
bool "Register ULPI PHY Interface"
|
||
|
depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3
|
||
|
help
|
||
|
Select this if you have ULPI type PHY attached to your DWC3
|
||
|
controller.
|
||
|
|
||
|
choice
|
||
|
bool "DWC3 Mode Selection"
|
||
|
default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET)
|
||
|
default USB_DWC3_HOST if (USB && !USB_GADGET)
|
||
|
default USB_DWC3_GADGET if (!USB && USB_GADGET)
|
||
|
|
||
|
config USB_DWC3_HOST
|
||
|
bool "Host only mode"
|
||
|
depends on USB=y || USB=USB_DWC3
|
||
|
help
|
||
|
Select this when you want to use DWC3 in host mode only,
|
||
|
thereby the gadget feature will be regressed.
|
||
|
|
||
|
config USB_DWC3_GADGET
|
||
|
bool "Gadget only mode"
|
||
|
depends on USB_GADGET=y || USB_GADGET=USB_DWC3
|
||
|
help
|
||
|
Select this when you want to use DWC3 in gadget mode only,
|
||
|
thereby the host feature will be regressed.
|
||
|
|
||
|
config USB_DWC3_DUAL_ROLE
|
||
|
bool "Dual Role mode"
|
||
|
depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3))
|
||
|
depends on (EXTCON=y || EXTCON=USB_DWC3)
|
||
|
help
|
||
|
This is the default mode of working of DWC3 controller where
|
||
|
both host and gadget features are enabled.
|
||
|
|
||
|
endchoice
|
||
|
|
||
|
comment "Platform Glue Driver Support"
|
||
|
|
||
|
config USB_DWC3_OMAP
|
||
|
tristate "Texas Instruments OMAP5 and similar Platforms"
|
||
|
depends on ARCH_OMAP2PLUS || COMPILE_TEST
|
||
|
depends on EXTCON || !EXTCON
|
||
|
depends on OF
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Some platforms from Texas Instruments like OMAP5, DRA7xxx and
|
||
|
AM437x use this IP for USB2/3 functionality.
|
||
|
|
||
|
Say 'Y' or 'M' here if you have one such device
|
||
|
|
||
|
config USB_DWC3_EXYNOS
|
||
|
tristate "Samsung Exynos Platform"
|
||
|
depends on (ARCH_EXYNOS || COMPILE_TEST) && OF
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside,
|
||
|
say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_PCI
|
||
|
tristate "PCIe-based Platforms"
|
||
|
depends on USB_PCI && ACPI
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
If you're using the DesignWare Core IP with a PCIe (but not HAPS
|
||
|
platform), please say 'Y' or 'M' here.
|
||
|
|
||
|
config USB_DWC3_HAPS
|
||
|
tristate "Synopsys PCIe-based HAPS Platforms"
|
||
|
depends on USB_PCI
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
If you're using the DesignWare Core IP with a Synopsys PCIe HAPS
|
||
|
platform, please say 'Y' or 'M' here.
|
||
|
|
||
|
config USB_DWC3_KEYSTONE
|
||
|
tristate "Texas Instruments Keystone2/AM654 Platforms"
|
||
|
depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Support of USB2/3 functionality in TI Keystone2 and AM654 platforms.
|
||
|
Say 'Y' or 'M' here if you have one such device
|
||
|
|
||
|
config USB_DWC3_MESON_G12A
|
||
|
tristate "Amlogic Meson G12A Platforms"
|
||
|
depends on OF && COMMON_CLK
|
||
|
depends on ARCH_MESON || COMPILE_TEST
|
||
|
default USB_DWC3
|
||
|
select USB_ROLE_SWITCH
|
||
|
select REGMAP_MMIO
|
||
|
help
|
||
|
Support USB2/3 functionality in Amlogic G12A platforms.
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_OF_SIMPLE
|
||
|
tristate "Generic OF Simple Glue Layer"
|
||
|
depends on OF && COMMON_CLK
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Support USB2/3 functionality in simple SoC integrations.
|
||
|
Currently supports Xilinx and Qualcomm DWC USB3 IP.
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_ST
|
||
|
tristate "STMicroelectronics Platforms"
|
||
|
depends on (ARCH_STI || COMPILE_TEST) && OF
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
STMicroelectronics SoCs with one DesignWare Core USB3 IP
|
||
|
inside (i.e. STiH407).
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_QCOM
|
||
|
tristate "Qualcomm Platform"
|
||
|
depends on ARCH_QCOM || COMPILE_TEST
|
||
|
depends on EXTCON || !EXTCON
|
||
|
depends on (OF || ACPI)
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Some Qualcomm SoCs use DesignWare Core IP for USB2/3
|
||
|
functionality.
|
||
|
This driver also handles Qscratch wrapper which is needed
|
||
|
for peripheral mode support.
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_IMX8MP
|
||
|
tristate "NXP iMX8MP Platform"
|
||
|
depends on OF && COMMON_CLK
|
||
|
depends on (ARCH_MXC && ARM64) || COMPILE_TEST
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
NXP iMX8M Plus SoC use DesignWare Core IP for USB2/3
|
||
|
functionality.
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
config USB_DWC3_XILINX
|
||
|
tristate "Xilinx Platforms"
|
||
|
depends on (ARCH_ZYNQMP || ARCH_VERSAL) && OF
|
||
|
default USB_DWC3
|
||
|
help
|
||
|
Support Xilinx SoCs with DesignWare Core USB3 IP.
|
||
|
This driver handles both ZynqMP and Versal SoC operations.
|
||
|
Say 'Y' or 'M' if you have one such device.
|
||
|
|
||
|
endif
|