xref: /linux/drivers/usb/dwc3/Kconfig (revision 3fe314ca8c970aefc2d2a96dd93df6de1f4f1a4b)
172246da4SFelipe Balbiconfig USB_DWC3
272246da4SFelipe Balbi	tristate "DesignWare USB3 DRD Core Support"
30244ad00SMartin Schwidefsky	depends on (USB || USB_GADGET) && HAS_DMA
4a26a1422SMasahiro Yamada	select USB_XHCI_PLATFORM if USB_XHCI_HCD
572246da4SFelipe Balbi	help
672246da4SFelipe Balbi	  Say Y or M here if your system has a Dual Role SuperSpeed
772246da4SFelipe Balbi	  USB controller based on the DesignWare USB3 IP Core.
872246da4SFelipe Balbi
972246da4SFelipe Balbi	  If you choose to build this driver is a dynamically linked
1072246da4SFelipe Balbi	  module, the module will be called dwc3.ko.
1172246da4SFelipe Balbi
1272246da4SFelipe Balbiif USB_DWC3
1372246da4SFelipe Balbi
1488bc9d19SHeikki Krogerusconfig USB_DWC3_ULPI
1588bc9d19SHeikki Krogerus	bool "Register ULPI PHY Interface"
1650641056SThierry Reding	depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3
1788bc9d19SHeikki Krogerus	help
1888bc9d19SHeikki Krogerus	  Select this if you have ULPI type PHY attached to your DWC3
1988bc9d19SHeikki Krogerus	  controller.
2088bc9d19SHeikki Krogerus
21388e5c51SVivek Gautamchoice
22388e5c51SVivek Gautam	bool "DWC3 Mode Selection"
23388e5c51SVivek Gautam	default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET)
24388e5c51SVivek Gautam	default USB_DWC3_HOST if (USB && !USB_GADGET)
25388e5c51SVivek Gautam	default USB_DWC3_GADGET if (!USB && USB_GADGET)
26388e5c51SVivek Gautam
27388e5c51SVivek Gautamconfig USB_DWC3_HOST
28388e5c51SVivek Gautam	bool "Host only mode"
291bc0d926SVivek Gautam	depends on USB=y || USB=USB_DWC3
30388e5c51SVivek Gautam	help
31388e5c51SVivek Gautam	  Select this when you want to use DWC3 in host mode only,
32388e5c51SVivek Gautam	  thereby the gadget feature will be regressed.
33388e5c51SVivek Gautam
34388e5c51SVivek Gautamconfig USB_DWC3_GADGET
35388e5c51SVivek Gautam	bool "Gadget only mode"
361bc0d926SVivek Gautam	depends on USB_GADGET=y || USB_GADGET=USB_DWC3
37388e5c51SVivek Gautam	help
38388e5c51SVivek Gautam	  Select this when you want to use DWC3 in gadget mode only,
39388e5c51SVivek Gautam	  thereby the host feature will be regressed.
40388e5c51SVivek Gautam
41388e5c51SVivek Gautamconfig USB_DWC3_DUAL_ROLE
42388e5c51SVivek Gautam	bool "Dual Role mode"
431bc0d926SVivek Gautam	depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3))
449840354fSRoger Quadros	depends on (EXTCON=y || EXTCON=USB_DWC3)
45388e5c51SVivek Gautam	help
46388e5c51SVivek Gautam	  This is the default mode of working of DWC3 controller where
47388e5c51SVivek Gautam	  both host and gadget features are enabled.
48388e5c51SVivek Gautam
49388e5c51SVivek Gautamendchoice
50388e5c51SVivek Gautam
511a356dbcSFelipe Balbicomment "Platform Glue Driver Support"
521a356dbcSFelipe Balbi
531a356dbcSFelipe Balbiconfig USB_DWC3_OMAP
541a356dbcSFelipe Balbi	tristate "Texas Instruments OMAP5 and similar Platforms"
55aea8928aSJean Delvare	depends on EXTCON && (ARCH_OMAP2PLUS || COMPILE_TEST)
56c5a1fbcaSGeorge Cherian	depends on OF
571a356dbcSFelipe Balbi	default USB_DWC3
581a356dbcSFelipe Balbi	help
591a356dbcSFelipe Balbi	  Some platforms from Texas Instruments like OMAP5, DRA7xxx and
601a356dbcSFelipe Balbi	  AM437x use this IP for USB2/3 functionality.
611a356dbcSFelipe Balbi
621a356dbcSFelipe Balbi	  Say 'Y' or 'M' here if you have one such device
631a356dbcSFelipe Balbi
641a356dbcSFelipe Balbiconfig USB_DWC3_EXYNOS
651a356dbcSFelipe Balbi	tristate "Samsung Exynos Platform"
66ba1773fbSFelipe Balbi	depends on (ARCH_EXYNOS || COMPILE_TEST) && OF
671a356dbcSFelipe Balbi	default USB_DWC3
681a356dbcSFelipe Balbi	help
691a356dbcSFelipe Balbi	  Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside,
701a356dbcSFelipe Balbi	  say 'Y' or 'M' if you have one such device.
711a356dbcSFelipe Balbi
721a356dbcSFelipe Balbiconfig USB_DWC3_PCI
731a356dbcSFelipe Balbi	tristate "PCIe-based Platforms"
742c93e790Syuan linyu	depends on USB_PCI && ACPI
751a356dbcSFelipe Balbi	default USB_DWC3
761a356dbcSFelipe Balbi	help
77*3fe314caSThinh Nguyen	  If you're using the DesignWare Core IP with a PCIe (but not HAPS
78*3fe314caSThinh Nguyen	  platform), please say 'Y' or 'M' here.
791a356dbcSFelipe Balbi
80*3fe314caSThinh Nguyenconfig USB_DWC3_HAPS
81*3fe314caSThinh Nguyen	tristate "Synopsys PCIe-based HAPS Platforms"
82*3fe314caSThinh Nguyen	depends on USB_PCI
83*3fe314caSThinh Nguyen	default USB_DWC3
84*3fe314caSThinh Nguyen	help
85*3fe314caSThinh Nguyen	  If you're using the DesignWare Core IP with a Synopsys PCIe HAPS
86*3fe314caSThinh Nguyen	  platform, please say 'Y' or 'M' here.
871a356dbcSFelipe Balbi
88943befc3SWingMan Kwokconfig USB_DWC3_KEYSTONE
89943befc3SWingMan Kwok	tristate "Texas Instruments Keystone2 Platforms"
90aea8928aSJean Delvare	depends on ARCH_KEYSTONE || COMPILE_TEST
91943befc3SWingMan Kwok	default USB_DWC3
92943befc3SWingMan Kwok	help
93943befc3SWingMan Kwok	  Support of USB2/3 functionality in TI Keystone2 platforms.
94943befc3SWingMan Kwok	  Say 'Y' or 'M' here if you have one such device
95943befc3SWingMan Kwok
9616adc674SFelipe Balbiconfig USB_DWC3_OF_SIMPLE
9716adc674SFelipe Balbi       tristate "Generic OF Simple Glue Layer"
9816adc674SFelipe Balbi       depends on OF && COMMON_CLK
9916adc674SFelipe Balbi       default USB_DWC3
10016adc674SFelipe Balbi       help
10116adc674SFelipe Balbi         Support USB2/3 functionality in simple SoC integrations.
10216adc674SFelipe Balbi	 Currently supports Xilinx and Qualcomm DWC USB3 IP.
10316adc674SFelipe Balbi	 Say 'Y' or 'M' if you have one such device.
10416adc674SFelipe Balbi
105f83fca07SPeter Griffinconfig USB_DWC3_ST
106f83fca07SPeter Griffin	tristate "STMicroelectronics Platforms"
107ba1773fbSFelipe Balbi	depends on (ARCH_STI || COMPILE_TEST) && OF
108f83fca07SPeter Griffin	default USB_DWC3
109f83fca07SPeter Griffin	help
110f83fca07SPeter Griffin	  STMicroelectronics SoCs with one DesignWare Core USB3 IP
111f83fca07SPeter Griffin	  inside (i.e. STiH407).
112f83fca07SPeter Griffin	  Say 'Y' or 'M' if you have one such device.
113f83fca07SPeter Griffin
114a4333c3aSManu Gautamconfig USB_DWC3_QCOM
115a4333c3aSManu Gautam	tristate "Qualcomm Platform"
116a4333c3aSManu Gautam	depends on ARCH_QCOM || COMPILE_TEST
117a4333c3aSManu Gautam	depends on OF
118a4333c3aSManu Gautam	default USB_DWC3
119a4333c3aSManu Gautam	help
120a4333c3aSManu Gautam	  Some Qualcomm SoCs use DesignWare Core IP for USB2/3
121a4333c3aSManu Gautam	  functionality.
122a4333c3aSManu Gautam	  This driver also handles Qscratch wrapper which is needed
123a4333c3aSManu Gautam	  for peripheral mode support.
124a4333c3aSManu Gautam	  Say 'Y' or 'M' if you have one such device.
125a4333c3aSManu Gautam
12672246da4SFelipe Balbiendif
127