1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2cae8dc3bSGreg Kroah-Hartman 372246da4SFelipe Balbiconfig USB_DWC3 472246da4SFelipe Balbi tristate "DesignWare USB3 DRD Core Support" 50244ad00SMartin Schwidefsky depends on (USB || USB_GADGET) && HAS_DMA 67d80dbd7SArnd Bergmann depends on (EXTCON || EXTCON=n) 7a26a1422SMasahiro Yamada select USB_XHCI_PLATFORM if USB_XHCI_HCD 84748d396SArnd Bergmann select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE 972246da4SFelipe Balbi help 1072246da4SFelipe Balbi Say Y or M here if your system has a Dual Role SuperSpeed 1172246da4SFelipe Balbi USB controller based on the DesignWare USB3 IP Core. 1272246da4SFelipe Balbi 133085d1bdSKushagra Verma If you choose to build this driver as a dynamically linked 1472246da4SFelipe Balbi module, the module will be called dwc3.ko. 1572246da4SFelipe Balbi 1672246da4SFelipe Balbiif USB_DWC3 1772246da4SFelipe Balbi 1888bc9d19SHeikki Krogerusconfig USB_DWC3_ULPI 1988bc9d19SHeikki Krogerus bool "Register ULPI PHY Interface" 2050641056SThierry Reding depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3 2188bc9d19SHeikki Krogerus help 2288bc9d19SHeikki Krogerus Select this if you have ULPI type PHY attached to your DWC3 2388bc9d19SHeikki Krogerus controller. 2488bc9d19SHeikki Krogerus 25388e5c51SVivek Gautamchoice 26*b95d0899SMasahiro Yamada prompt "DWC3 Mode Selection" 27388e5c51SVivek Gautam default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) 28388e5c51SVivek Gautam default USB_DWC3_HOST if (USB && !USB_GADGET) 29388e5c51SVivek Gautam default USB_DWC3_GADGET if (!USB && USB_GADGET) 30388e5c51SVivek Gautam 31388e5c51SVivek Gautamconfig USB_DWC3_HOST 32388e5c51SVivek Gautam bool "Host only mode" 331bc0d926SVivek Gautam depends on USB=y || USB=USB_DWC3 34388e5c51SVivek Gautam help 35388e5c51SVivek Gautam Select this when you want to use DWC3 in host mode only, 36388e5c51SVivek Gautam thereby the gadget feature will be regressed. 37388e5c51SVivek Gautam 38388e5c51SVivek Gautamconfig USB_DWC3_GADGET 39388e5c51SVivek Gautam bool "Gadget only mode" 401bc0d926SVivek Gautam depends on USB_GADGET=y || USB_GADGET=USB_DWC3 41388e5c51SVivek Gautam help 42388e5c51SVivek Gautam Select this when you want to use DWC3 in gadget mode only, 43388e5c51SVivek Gautam thereby the host feature will be regressed. 44388e5c51SVivek Gautam 45388e5c51SVivek Gautamconfig USB_DWC3_DUAL_ROLE 46388e5c51SVivek Gautam bool "Dual Role mode" 471bc0d926SVivek Gautam depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) 48388e5c51SVivek Gautam help 49388e5c51SVivek Gautam This is the default mode of working of DWC3 controller where 50388e5c51SVivek Gautam both host and gadget features are enabled. 51388e5c51SVivek Gautam 52388e5c51SVivek Gautamendchoice 53388e5c51SVivek Gautam 541a356dbcSFelipe Balbicomment "Platform Glue Driver Support" 551a356dbcSFelipe Balbi 561a356dbcSFelipe Balbiconfig USB_DWC3_OMAP 571a356dbcSFelipe Balbi tristate "Texas Instruments OMAP5 and similar Platforms" 5867130830SMarc Gonzalez depends on ARCH_OMAP2PLUS || COMPILE_TEST 5967130830SMarc Gonzalez depends on EXTCON || !EXTCON 60c5a1fbcaSGeorge Cherian depends on OF 611a356dbcSFelipe Balbi default USB_DWC3 621a356dbcSFelipe Balbi help 631a356dbcSFelipe Balbi Some platforms from Texas Instruments like OMAP5, DRA7xxx and 641a356dbcSFelipe Balbi AM437x use this IP for USB2/3 functionality. 651a356dbcSFelipe Balbi 661a356dbcSFelipe Balbi Say 'Y' or 'M' here if you have one such device 671a356dbcSFelipe Balbi 681a356dbcSFelipe Balbiconfig USB_DWC3_EXYNOS 692abc8657SKrzysztof Kozlowski tristate "Samsung Exynos SoC Platform" 70ba1773fbSFelipe Balbi depends on (ARCH_EXYNOS || COMPILE_TEST) && OF 711a356dbcSFelipe Balbi default USB_DWC3 721a356dbcSFelipe Balbi help 732abc8657SKrzysztof Kozlowski Recent Samsung Exynos SoCs (Exynos5250, Exynos5410, Exynos542x, 742abc8657SKrzysztof Kozlowski Exynos5800, Exynos5433, Exynos7) ship with one DesignWare Core USB3 752abc8657SKrzysztof Kozlowski IP inside, say 'Y' or 'M' if you have one such device. 761a356dbcSFelipe Balbi 771a356dbcSFelipe Balbiconfig USB_DWC3_PCI 781a356dbcSFelipe Balbi tristate "PCIe-based Platforms" 792c93e790Syuan linyu depends on USB_PCI && ACPI 801a356dbcSFelipe Balbi default USB_DWC3 811a356dbcSFelipe Balbi help 823fe314caSThinh Nguyen If you're using the DesignWare Core IP with a PCIe (but not HAPS 833fe314caSThinh Nguyen platform), please say 'Y' or 'M' here. 841a356dbcSFelipe Balbi 853fe314caSThinh Nguyenconfig USB_DWC3_HAPS 863fe314caSThinh Nguyen tristate "Synopsys PCIe-based HAPS Platforms" 873fe314caSThinh Nguyen depends on USB_PCI 883fe314caSThinh Nguyen default USB_DWC3 893fe314caSThinh Nguyen help 903fe314caSThinh Nguyen If you're using the DesignWare Core IP with a Synopsys PCIe HAPS 913fe314caSThinh Nguyen platform, please say 'Y' or 'M' here. 921a356dbcSFelipe Balbi 93943befc3SWingMan Kwokconfig USB_DWC3_KEYSTONE 94eca6b494SRoger Quadros tristate "Texas Instruments Keystone2/AM654 Platforms" 95eca6b494SRoger Quadros depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 96943befc3SWingMan Kwok default USB_DWC3 97943befc3SWingMan Kwok help 98eca6b494SRoger Quadros Support of USB2/3 functionality in TI Keystone2 and AM654 platforms. 99943befc3SWingMan Kwok Say 'Y' or 'M' here if you have one such device 100943befc3SWingMan Kwok 101c9999337SNeil Armstrongconfig USB_DWC3_MESON_G12A 102c9999337SNeil Armstrong tristate "Amlogic Meson G12A Platforms" 103c9999337SNeil Armstrong depends on OF && COMMON_CLK 104c9999337SNeil Armstrong depends on ARCH_MESON || COMPILE_TEST 105c9999337SNeil Armstrong default USB_DWC3 106c9999337SNeil Armstrong select USB_ROLE_SWITCH 107a51bab59SArnd Bergmann select REGMAP_MMIO 108c9999337SNeil Armstrong help 109c9999337SNeil Armstrong Support USB2/3 functionality in Amlogic G12A platforms. 110c9999337SNeil Armstrong Say 'Y' or 'M' if you have one such device. 111c9999337SNeil Armstrong 11216adc674SFelipe Balbiconfig USB_DWC3_OF_SIMPLE 11316adc674SFelipe Balbi tristate "Generic OF Simple Glue Layer" 11416adc674SFelipe Balbi depends on OF && COMMON_CLK 11516adc674SFelipe Balbi default USB_DWC3 11616adc674SFelipe Balbi help 11716adc674SFelipe Balbi Support USB2/3 functionality in simple SoC integrations. 11816adc674SFelipe Balbi Currently supports Xilinx and Qualcomm DWC USB3 IP. 11916adc674SFelipe Balbi Say 'Y' or 'M' if you have one such device. 12016adc674SFelipe Balbi 121f83fca07SPeter Griffinconfig USB_DWC3_ST 122f83fca07SPeter Griffin tristate "STMicroelectronics Platforms" 123ba1773fbSFelipe Balbi depends on (ARCH_STI || COMPILE_TEST) && OF 124f83fca07SPeter Griffin default USB_DWC3 125f83fca07SPeter Griffin help 126f83fca07SPeter Griffin STMicroelectronics SoCs with one DesignWare Core USB3 IP 127f83fca07SPeter Griffin inside (i.e. STiH407). 128f83fca07SPeter Griffin Say 'Y' or 'M' if you have one such device. 129f83fca07SPeter Griffin 130a4333c3aSManu Gautamconfig USB_DWC3_QCOM 131a4333c3aSManu Gautam tristate "Qualcomm Platform" 13267130830SMarc Gonzalez depends on ARCH_QCOM || COMPILE_TEST 13367130830SMarc Gonzalez depends on EXTCON || !EXTCON 13441717b88SKrishna Kurapati depends on OF 135a4333c3aSManu Gautam default USB_DWC3 136a4333c3aSManu Gautam help 137a4333c3aSManu Gautam Some Qualcomm SoCs use DesignWare Core IP for USB2/3 138a4333c3aSManu Gautam functionality. 139a4333c3aSManu Gautam This driver also handles Qscratch wrapper which is needed 140a4333c3aSManu Gautam for peripheral mode support. 141a4333c3aSManu Gautam Say 'Y' or 'M' if you have one such device. 142a4333c3aSManu Gautam 1436dd25659SLi Junconfig USB_DWC3_IMX8MP 1446dd25659SLi Jun tristate "NXP iMX8MP Platform" 1456dd25659SLi Jun depends on OF && COMMON_CLK 1466dd25659SLi Jun depends on (ARCH_MXC && ARM64) || COMPILE_TEST 1476dd25659SLi Jun default USB_DWC3 1486dd25659SLi Jun help 1496dd25659SLi Jun NXP iMX8M Plus SoC use DesignWare Core IP for USB2/3 1506dd25659SLi Jun functionality. 1516dd25659SLi Jun Say 'Y' or 'M' if you have one such device. 1526dd25659SLi Jun 15384770f02SManish Naraniconfig USB_DWC3_XILINX 15484770f02SManish Narani tristate "Xilinx Platforms" 1553205054dSLukas Bulwahn depends on (ARCH_ZYNQMP || COMPILE_TEST) && OF 15684770f02SManish Narani default USB_DWC3 15784770f02SManish Narani help 15884770f02SManish Narani Support Xilinx SoCs with DesignWare Core USB3 IP. 1593205054dSLukas Bulwahn This driver handles ZynqMP SoC operations. 16084770f02SManish Narani Say 'Y' or 'M' if you have one such device. 16184770f02SManish Narani 162e8784c0aSAswath Govindrajuconfig USB_DWC3_AM62 163e8784c0aSAswath Govindraju tristate "Texas Instruments AM62 Platforms" 164e8784c0aSAswath Govindraju depends on ARCH_K3 || COMPILE_TEST 165e8784c0aSAswath Govindraju default USB_DWC3 166e8784c0aSAswath Govindraju help 167e8784c0aSAswath Govindraju Support TI's AM62 platforms with DesignWare Core USB3 IP. 1683085d1bdSKushagra Verma The Designware Core USB3 IP is programmed to operate in 169e8784c0aSAswath Govindraju in USB 2.0 mode only. 170e8784c0aSAswath Govindraju Say 'Y' or 'M' here if you have one such device 171976f82e8SLadislav Michl 172976f82e8SLadislav Michlconfig USB_DWC3_OCTEON 173976f82e8SLadislav Michl tristate "Cavium Octeon Platforms" 174976f82e8SLadislav Michl depends on CAVIUM_OCTEON_SOC || COMPILE_TEST 175976f82e8SLadislav Michl default USB_DWC3 176976f82e8SLadislav Michl help 177976f82e8SLadislav Michl Support Cavium Octeon platforms with DesignWare Core USB3 IP. 178976f82e8SLadislav Michl Only the host mode is currently supported. 179976f82e8SLadislav Michl Say 'Y' or 'M' here if you have one such device. 180976f82e8SLadislav Michl 18134c20048SStanley Changconfig USB_DWC3_RTK 18234c20048SStanley Chang tristate "Realtek DWC3 Platform Driver" 18334c20048SStanley Chang depends on OF && ARCH_REALTEK 18434c20048SStanley Chang default USB_DWC3 18534c20048SStanley Chang select USB_ROLE_SWITCH 18634c20048SStanley Chang help 18734c20048SStanley Chang RTK DHC RTD SoCs with DesignWare Core USB3 IP inside, 18834c20048SStanley Chang and IP Core configured for USB 2.0 and USB 3.0 in host 18934c20048SStanley Chang or dual-role mode. 19034c20048SStanley Chang Say 'Y' or 'M' if you have such device. 19134c20048SStanley Chang 19272246da4SFelipe Balbiendif 193