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