| # 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 |