xref: /linux/drivers/usb/dwc3/Kconfig (revision 6a34dfa15d6edf7e78b8118d862d2db0889cf669)
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