# SPDX-License-Identifier: GPL-2.0-only
config USB_DWC3
	tristate "DesignWare USB3 DRD Core Support"
	depends on USB && HAS_DMA
	depends on OFDEVICE
	select USB_XHCI
	select USB_OTGDEV
	help
	  Say Y or M here if your system has a Dual Role SuperSpeed
	  USB controller based on the DesignWare USB3 IP Core.

	  If you choose to build this driver is a dynamically linked
	  module, the module will be called dwc3.ko.

if USB_DWC3

choice
	bool "DWC3 Mode Selection"

config USB_DWC3_HOST
	bool "Host only mode"
	help
	  Select this when you want to use DWC3 in host mode only,
	  thereby the gadget feature will be regressed.

config USB_DWC3_GADGET
	bool "Gadget only mode"
	depends on USB_GADGET
	help
	  Select this when you want to use DWC3 in gadget mode only,
	  thereby the host feature will be regressed.

config USB_DWC3_DUAL_ROLE
	bool "Dual Role mode"
	depends on USB_GADGET
	help
	  This is the default mode of working of DWC3 controller where
	  both host and gadget features are enabled.

endchoice

config USB_DWC3_OF_SIMPLE
	tristate "Generic OF Simple Glue Layer"
	depends on COMMON_CLK
	default USB_DWC3
	help
	 Support USB2/3 functionality in simple SoC integrations.
	 Currently supports Xilinx and Qualcomm DWC USB3 IP.
	 Say 'Y' or 'M' if you have one such device.

config USB_DWC3_AM62
	tristate "Texas Instruments AM62 Platforms"
	depends on ARCH_K3 || COMPILE_TEST
	default USB_DWC3
	help
	  Support TI's AM62 platforms with DesignWare Core USB3 IP.
	  The Designware Core USB3 IP is programmed to operate in
	  in USB 2.0 mode only.
	  Say 'Y' or 'M' here if you have one such device

endif
