Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 config USB_DWC3
0004         tristate "DesignWare USB3 DRD Core Support"
0005         depends on (USB || USB_GADGET) && HAS_DMA
0006         select USB_XHCI_PLATFORM if USB_XHCI_HCD
0007         select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE
0008         help
0009           Say Y or M here if your system has a Dual Role SuperSpeed
0010           USB controller based on the DesignWare USB3 IP Core.
0011 
0012           If you choose to build this driver as a dynamically linked
0013           module, the module will be called dwc3.ko.
0014 
0015 if USB_DWC3
0016 
0017 config USB_DWC3_ULPI
0018         bool "Register ULPI PHY Interface"
0019         depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3
0020         help
0021           Select this if you have ULPI type PHY attached to your DWC3
0022           controller.
0023 
0024 choice
0025         bool "DWC3 Mode Selection"
0026         default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET)
0027         default USB_DWC3_HOST if (USB && !USB_GADGET)
0028         default USB_DWC3_GADGET if (!USB && USB_GADGET)
0029 
0030 config USB_DWC3_HOST
0031         bool "Host only mode"
0032         depends on USB=y || USB=USB_DWC3
0033         help
0034           Select this when you want to use DWC3 in host mode only,
0035           thereby the gadget feature will be regressed.
0036 
0037 config USB_DWC3_GADGET
0038         bool "Gadget only mode"
0039         depends on USB_GADGET=y || USB_GADGET=USB_DWC3
0040         help
0041           Select this when you want to use DWC3 in gadget mode only,
0042           thereby the host feature will be regressed.
0043 
0044 config USB_DWC3_DUAL_ROLE
0045         bool "Dual Role mode"
0046         depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3))
0047         depends on (EXTCON=y || EXTCON=USB_DWC3)
0048         help
0049           This is the default mode of working of DWC3 controller where
0050           both host and gadget features are enabled.
0051 
0052 endchoice
0053 
0054 comment "Platform Glue Driver Support"
0055 
0056 config USB_DWC3_OMAP
0057         tristate "Texas Instruments OMAP5 and similar Platforms"
0058         depends on ARCH_OMAP2PLUS || COMPILE_TEST
0059         depends on EXTCON || !EXTCON
0060         depends on OF
0061         default USB_DWC3
0062         help
0063           Some platforms from Texas Instruments like OMAP5, DRA7xxx and
0064           AM437x use this IP for USB2/3 functionality.
0065 
0066           Say 'Y' or 'M' here if you have one such device
0067 
0068 config USB_DWC3_EXYNOS
0069         tristate "Samsung Exynos SoC Platform"
0070         depends on (ARCH_EXYNOS || COMPILE_TEST) && OF
0071         default USB_DWC3
0072         help
0073           Recent Samsung Exynos SoCs (Exynos5250, Exynos5410, Exynos542x,
0074           Exynos5800, Exynos5433, Exynos7) ship with one DesignWare Core USB3
0075           IP inside, say 'Y' or 'M' if you have one such device.
0076 
0077 config USB_DWC3_PCI
0078         tristate "PCIe-based Platforms"
0079         depends on USB_PCI && ACPI
0080         default USB_DWC3
0081         help
0082           If you're using the DesignWare Core IP with a PCIe (but not HAPS
0083           platform), please say 'Y' or 'M' here.
0084 
0085 config USB_DWC3_HAPS
0086         tristate "Synopsys PCIe-based HAPS Platforms"
0087         depends on USB_PCI
0088         default USB_DWC3
0089         help
0090           If you're using the DesignWare Core IP with a Synopsys PCIe HAPS
0091           platform, please say 'Y' or 'M' here.
0092 
0093 config USB_DWC3_KEYSTONE
0094         tristate "Texas Instruments Keystone2/AM654 Platforms"
0095         depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
0096         default USB_DWC3
0097         help
0098           Support of USB2/3 functionality in TI Keystone2 and AM654 platforms.
0099           Say 'Y' or 'M' here if you have one such device
0100 
0101 config USB_DWC3_MESON_G12A
0102         tristate "Amlogic Meson G12A Platforms"
0103         depends on OF && COMMON_CLK
0104         depends on ARCH_MESON || COMPILE_TEST
0105         default USB_DWC3
0106         select USB_ROLE_SWITCH
0107         select REGMAP_MMIO
0108         help
0109           Support USB2/3 functionality in Amlogic G12A platforms.
0110           Say 'Y' or 'M' if you have one such device.
0111 
0112 config USB_DWC3_OF_SIMPLE
0113         tristate "Generic OF Simple Glue Layer"
0114         depends on OF && COMMON_CLK
0115         default USB_DWC3
0116         help
0117           Support USB2/3 functionality in simple SoC integrations.
0118           Currently supports Xilinx and Qualcomm DWC USB3 IP.
0119           Say 'Y' or 'M' if you have one such device.
0120 
0121 config USB_DWC3_ST
0122         tristate "STMicroelectronics Platforms"
0123         depends on (ARCH_STI || COMPILE_TEST) && OF
0124         default USB_DWC3
0125         help
0126           STMicroelectronics SoCs with one DesignWare Core USB3 IP
0127           inside (i.e. STiH407).
0128           Say 'Y' or 'M' if you have one such device.
0129 
0130 config USB_DWC3_QCOM
0131         tristate "Qualcomm Platform"
0132         depends on ARCH_QCOM || COMPILE_TEST
0133         depends on EXTCON || !EXTCON
0134         depends on (OF || ACPI)
0135         default USB_DWC3
0136         help
0137           Some Qualcomm SoCs use DesignWare Core IP for USB2/3
0138           functionality.
0139           This driver also handles Qscratch wrapper which is needed
0140           for peripheral mode support.
0141           Say 'Y' or 'M' if you have one such device.
0142 
0143 config USB_DWC3_IMX8MP
0144         tristate "NXP iMX8MP Platform"
0145         depends on OF && COMMON_CLK
0146         depends on (ARCH_MXC && ARM64) || COMPILE_TEST
0147         default USB_DWC3
0148         help
0149           NXP iMX8M Plus SoC use DesignWare Core IP for USB2/3
0150           functionality.
0151           Say 'Y' or 'M' if you have one such device.
0152 
0153 config USB_DWC3_XILINX
0154         tristate "Xilinx Platforms"
0155         depends on (ARCH_ZYNQMP || ARCH_VERSAL) && OF
0156         default USB_DWC3
0157         help
0158           Support Xilinx SoCs with DesignWare Core USB3 IP.
0159           This driver handles both ZynqMP and Versal SoC operations.
0160           Say 'Y' or 'M' if you have one such device.
0161 
0162 config USB_DWC3_AM62
0163         tristate "Texas Instruments AM62 Platforms"
0164         depends on ARCH_K3 || COMPILE_TEST
0165         default USB_DWC3
0166         help
0167           Support TI's AM62 platforms with DesignWare Core USB3 IP.
0168           The Designware Core USB3 IP is programmed to operate in
0169           in USB 2.0 mode only.
0170           Say 'Y' or 'M' here if you have one such device
0171 endif