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 6a26a1422SMasahiro Yamada select USB_XHCI_PLATFORM if USB_XHCI_HCD 772246da4SFelipe Balbi help 872246da4SFelipe Balbi Say Y or M here if your system has a Dual Role SuperSpeed 972246da4SFelipe Balbi USB controller based on the DesignWare USB3 IP Core. 1072246da4SFelipe Balbi 1172246da4SFelipe Balbi If you choose to build this driver is a dynamically linked 1272246da4SFelipe Balbi module, the module will be called dwc3.ko. 1372246da4SFelipe Balbi 1472246da4SFelipe Balbiif USB_DWC3 1572246da4SFelipe Balbi 1688bc9d19SHeikki Krogerusconfig USB_DWC3_ULPI 1788bc9d19SHeikki Krogerus bool "Register ULPI PHY Interface" 1850641056SThierry Reding depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3 1988bc9d19SHeikki Krogerus help 2088bc9d19SHeikki Krogerus Select this if you have ULPI type PHY attached to your DWC3 2188bc9d19SHeikki Krogerus controller. 2288bc9d19SHeikki Krogerus 23388e5c51SVivek Gautamchoice 24388e5c51SVivek Gautam bool "DWC3 Mode Selection" 25388e5c51SVivek Gautam default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) 26388e5c51SVivek Gautam default USB_DWC3_HOST if (USB && !USB_GADGET) 27388e5c51SVivek Gautam default USB_DWC3_GADGET if (!USB && USB_GADGET) 28388e5c51SVivek Gautam 29388e5c51SVivek Gautamconfig USB_DWC3_HOST 30388e5c51SVivek Gautam bool "Host only mode" 311bc0d926SVivek Gautam depends on USB=y || USB=USB_DWC3 32388e5c51SVivek Gautam help 33388e5c51SVivek Gautam Select this when you want to use DWC3 in host mode only, 34388e5c51SVivek Gautam thereby the gadget feature will be regressed. 35388e5c51SVivek Gautam 36388e5c51SVivek Gautamconfig USB_DWC3_GADGET 37388e5c51SVivek Gautam bool "Gadget only mode" 381bc0d926SVivek Gautam depends on USB_GADGET=y || USB_GADGET=USB_DWC3 39388e5c51SVivek Gautam help 40388e5c51SVivek Gautam Select this when you want to use DWC3 in gadget mode only, 41388e5c51SVivek Gautam thereby the host feature will be regressed. 42388e5c51SVivek Gautam 43388e5c51SVivek Gautamconfig USB_DWC3_DUAL_ROLE 44388e5c51SVivek Gautam bool "Dual Role mode" 451bc0d926SVivek Gautam depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) 469840354fSRoger Quadros depends on (EXTCON=y || EXTCON=USB_DWC3) 47388e5c51SVivek Gautam help 48388e5c51SVivek Gautam This is the default mode of working of DWC3 controller where 49388e5c51SVivek Gautam both host and gadget features are enabled. 50388e5c51SVivek Gautam 51388e5c51SVivek Gautamendchoice 52388e5c51SVivek Gautam 531a356dbcSFelipe Balbicomment "Platform Glue Driver Support" 541a356dbcSFelipe Balbi 551a356dbcSFelipe Balbiconfig USB_DWC3_OMAP 561a356dbcSFelipe Balbi tristate "Texas Instruments OMAP5 and similar Platforms" 5767130830SMarc Gonzalez depends on ARCH_OMAP2PLUS || COMPILE_TEST 5867130830SMarc Gonzalez depends on EXTCON || !EXTCON 59c5a1fbcaSGeorge Cherian depends on OF 601a356dbcSFelipe Balbi default USB_DWC3 611a356dbcSFelipe Balbi help 621a356dbcSFelipe Balbi Some platforms from Texas Instruments like OMAP5, DRA7xxx and 631a356dbcSFelipe Balbi AM437x use this IP for USB2/3 functionality. 641a356dbcSFelipe Balbi 651a356dbcSFelipe Balbi Say 'Y' or 'M' here if you have one such device 661a356dbcSFelipe Balbi 671a356dbcSFelipe Balbiconfig USB_DWC3_EXYNOS 681a356dbcSFelipe Balbi tristate "Samsung Exynos Platform" 69ba1773fbSFelipe Balbi depends on (ARCH_EXYNOS || COMPILE_TEST) && OF 701a356dbcSFelipe Balbi default USB_DWC3 711a356dbcSFelipe Balbi help 721a356dbcSFelipe Balbi Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside, 731a356dbcSFelipe Balbi say 'Y' or 'M' if you have one such device. 741a356dbcSFelipe Balbi 751a356dbcSFelipe Balbiconfig USB_DWC3_PCI 761a356dbcSFelipe Balbi tristate "PCIe-based Platforms" 772c93e790Syuan linyu depends on USB_PCI && ACPI 781a356dbcSFelipe Balbi default USB_DWC3 791a356dbcSFelipe Balbi help 803fe314caSThinh Nguyen If you're using the DesignWare Core IP with a PCIe (but not HAPS 813fe314caSThinh Nguyen platform), please say 'Y' or 'M' here. 821a356dbcSFelipe Balbi 833fe314caSThinh Nguyenconfig USB_DWC3_HAPS 843fe314caSThinh Nguyen tristate "Synopsys PCIe-based HAPS Platforms" 853fe314caSThinh Nguyen depends on USB_PCI 863fe314caSThinh Nguyen default USB_DWC3 873fe314caSThinh Nguyen help 883fe314caSThinh Nguyen If you're using the DesignWare Core IP with a Synopsys PCIe HAPS 893fe314caSThinh Nguyen platform, please say 'Y' or 'M' here. 901a356dbcSFelipe Balbi 91943befc3SWingMan Kwokconfig USB_DWC3_KEYSTONE 92eca6b494SRoger Quadros tristate "Texas Instruments Keystone2/AM654 Platforms" 93eca6b494SRoger Quadros depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 94943befc3SWingMan Kwok default USB_DWC3 95943befc3SWingMan Kwok help 96eca6b494SRoger Quadros Support of USB2/3 functionality in TI Keystone2 and AM654 platforms. 97943befc3SWingMan Kwok Say 'Y' or 'M' here if you have one such device 98943befc3SWingMan Kwok 99c9999337SNeil Armstrongconfig USB_DWC3_MESON_G12A 100c9999337SNeil Armstrong tristate "Amlogic Meson G12A Platforms" 101c9999337SNeil Armstrong depends on OF && COMMON_CLK 102c9999337SNeil Armstrong depends on ARCH_MESON || COMPILE_TEST 103c9999337SNeil Armstrong default USB_DWC3 104c9999337SNeil Armstrong select USB_ROLE_SWITCH 105*a51bab59SArnd Bergmann select REGMAP_MMIO 106c9999337SNeil Armstrong help 107c9999337SNeil Armstrong Support USB2/3 functionality in Amlogic G12A platforms. 108c9999337SNeil Armstrong Say 'Y' or 'M' if you have one such device. 109c9999337SNeil Armstrong 11016adc674SFelipe Balbiconfig USB_DWC3_OF_SIMPLE 11116adc674SFelipe Balbi tristate "Generic OF Simple Glue Layer" 11216adc674SFelipe Balbi depends on OF && COMMON_CLK 11316adc674SFelipe Balbi default USB_DWC3 11416adc674SFelipe Balbi help 11516adc674SFelipe Balbi Support USB2/3 functionality in simple SoC integrations. 11616adc674SFelipe Balbi Currently supports Xilinx and Qualcomm DWC USB3 IP. 11716adc674SFelipe Balbi Say 'Y' or 'M' if you have one such device. 11816adc674SFelipe Balbi 119f83fca07SPeter Griffinconfig USB_DWC3_ST 120f83fca07SPeter Griffin tristate "STMicroelectronics Platforms" 121ba1773fbSFelipe Balbi depends on (ARCH_STI || COMPILE_TEST) && OF 122f83fca07SPeter Griffin default USB_DWC3 123f83fca07SPeter Griffin help 124f83fca07SPeter Griffin STMicroelectronics SoCs with one DesignWare Core USB3 IP 125f83fca07SPeter Griffin inside (i.e. STiH407). 126f83fca07SPeter Griffin Say 'Y' or 'M' if you have one such device. 127f83fca07SPeter Griffin 128a4333c3aSManu Gautamconfig USB_DWC3_QCOM 129a4333c3aSManu Gautam tristate "Qualcomm Platform" 13067130830SMarc Gonzalez depends on ARCH_QCOM || COMPILE_TEST 13167130830SMarc Gonzalez depends on EXTCON || !EXTCON 1322bc02355SLee Jones depends on (OF || ACPI) 133a4333c3aSManu Gautam default USB_DWC3 134a4333c3aSManu Gautam help 135a4333c3aSManu Gautam Some Qualcomm SoCs use DesignWare Core IP for USB2/3 136a4333c3aSManu Gautam functionality. 137a4333c3aSManu Gautam This driver also handles Qscratch wrapper which is needed 138a4333c3aSManu Gautam for peripheral mode support. 139a4333c3aSManu Gautam Say 'Y' or 'M' if you have one such device. 140a4333c3aSManu Gautam 14172246da4SFelipe Balbiendif 142