1*cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2*cae8dc3bSGreg 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" 57aea8928aSJean Delvare depends on EXTCON && (ARCH_OMAP2PLUS || COMPILE_TEST) 58c5a1fbcaSGeorge Cherian depends on OF 591a356dbcSFelipe Balbi default USB_DWC3 601a356dbcSFelipe Balbi help 611a356dbcSFelipe Balbi Some platforms from Texas Instruments like OMAP5, DRA7xxx and 621a356dbcSFelipe Balbi AM437x use this IP for USB2/3 functionality. 631a356dbcSFelipe Balbi 641a356dbcSFelipe Balbi Say 'Y' or 'M' here if you have one such device 651a356dbcSFelipe Balbi 661a356dbcSFelipe Balbiconfig USB_DWC3_EXYNOS 671a356dbcSFelipe Balbi tristate "Samsung Exynos Platform" 68ba1773fbSFelipe Balbi depends on (ARCH_EXYNOS || COMPILE_TEST) && OF 691a356dbcSFelipe Balbi default USB_DWC3 701a356dbcSFelipe Balbi help 711a356dbcSFelipe Balbi Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside, 721a356dbcSFelipe Balbi say 'Y' or 'M' if you have one such device. 731a356dbcSFelipe Balbi 741a356dbcSFelipe Balbiconfig USB_DWC3_PCI 751a356dbcSFelipe Balbi tristate "PCIe-based Platforms" 762c93e790Syuan linyu depends on USB_PCI && ACPI 771a356dbcSFelipe Balbi default USB_DWC3 781a356dbcSFelipe Balbi help 793fe314caSThinh Nguyen If you're using the DesignWare Core IP with a PCIe (but not HAPS 803fe314caSThinh Nguyen platform), please say 'Y' or 'M' here. 811a356dbcSFelipe Balbi 823fe314caSThinh Nguyenconfig USB_DWC3_HAPS 833fe314caSThinh Nguyen tristate "Synopsys PCIe-based HAPS Platforms" 843fe314caSThinh Nguyen depends on USB_PCI 853fe314caSThinh Nguyen default USB_DWC3 863fe314caSThinh Nguyen help 873fe314caSThinh Nguyen If you're using the DesignWare Core IP with a Synopsys PCIe HAPS 883fe314caSThinh Nguyen platform, please say 'Y' or 'M' here. 891a356dbcSFelipe Balbi 90943befc3SWingMan Kwokconfig USB_DWC3_KEYSTONE 91943befc3SWingMan Kwok tristate "Texas Instruments Keystone2 Platforms" 92aea8928aSJean Delvare depends on ARCH_KEYSTONE || COMPILE_TEST 93943befc3SWingMan Kwok default USB_DWC3 94943befc3SWingMan Kwok help 95943befc3SWingMan Kwok Support of USB2/3 functionality in TI Keystone2 platforms. 96943befc3SWingMan Kwok Say 'Y' or 'M' here if you have one such device 97943befc3SWingMan Kwok 9816adc674SFelipe Balbiconfig USB_DWC3_OF_SIMPLE 9916adc674SFelipe Balbi tristate "Generic OF Simple Glue Layer" 10016adc674SFelipe Balbi depends on OF && COMMON_CLK 10116adc674SFelipe Balbi default USB_DWC3 10216adc674SFelipe Balbi help 10316adc674SFelipe Balbi Support USB2/3 functionality in simple SoC integrations. 10416adc674SFelipe Balbi Currently supports Xilinx and Qualcomm DWC USB3 IP. 10516adc674SFelipe Balbi Say 'Y' or 'M' if you have one such device. 10616adc674SFelipe Balbi 107f83fca07SPeter Griffinconfig USB_DWC3_ST 108f83fca07SPeter Griffin tristate "STMicroelectronics Platforms" 109ba1773fbSFelipe Balbi depends on (ARCH_STI || COMPILE_TEST) && OF 110f83fca07SPeter Griffin default USB_DWC3 111f83fca07SPeter Griffin help 112f83fca07SPeter Griffin STMicroelectronics SoCs with one DesignWare Core USB3 IP 113f83fca07SPeter Griffin inside (i.e. STiH407). 114f83fca07SPeter Griffin Say 'Y' or 'M' if you have one such device. 115f83fca07SPeter Griffin 116a4333c3aSManu Gautamconfig USB_DWC3_QCOM 117a4333c3aSManu Gautam tristate "Qualcomm Platform" 1183def4031SArnd Bergmann depends on EXTCON && (ARCH_QCOM || COMPILE_TEST) 119a4333c3aSManu Gautam depends on OF 120a4333c3aSManu Gautam default USB_DWC3 121a4333c3aSManu Gautam help 122a4333c3aSManu Gautam Some Qualcomm SoCs use DesignWare Core IP for USB2/3 123a4333c3aSManu Gautam functionality. 124a4333c3aSManu Gautam This driver also handles Qscratch wrapper which is needed 125a4333c3aSManu Gautam for peripheral mode support. 126a4333c3aSManu Gautam Say 'Y' or 'M' if you have one such device. 127a4333c3aSManu Gautam 12872246da4SFelipe Balbiendif 129