config USB_DWC3
	bool "DesignWare USB3 DRD Core Support"
	depends on USB_XHCI_HCD || USB_GADGET
	help
	  Say Y here if your system has a Dual Role SuperSpeed
	  USB controller based on the DesignWare USB3 IP Core.

if USB_DWC3

config USB_DWC3_GADGET
	bool "USB Gadget support for DWC3"
	default y
	depends on USB_GADGET
	select USB_GADGET_DUALSPEED

comment "Platform Glue Driver Support"

config USB_DWC3_OMAP
	bool "Texas Instruments OMAP5 and similar Platforms"
	help
	  Some platforms from Texas Instruments like OMAP5, DRA7xxx and
	  AM437x use this IP for USB2/3 functionality.

	  Say 'Y' here if you have one such device

config USB_DWC3_GENERIC
	bool "Generic implementation of a DWC3 wrapper (aka dwc3 glue)"
	depends on DM_USB && USB_DWC3 && MISC
	help
	  Select this for Xilinx ZynqMP and similar Platforms.
	  This wrapper supports Host and Peripheral operation modes.

config SPL_USB_DWC3_GENERIC
	bool "Generic implementation of a DWC3 wrapper (aka dwc3 glue) for the SPL"
	depends on SPL_DM_USB && USB_DWC3 && SPL_MISC
	help
	  Select this for Xilinx ZynqMP and similar Platforms.
	  This wrapper supports Host and Peripheral operation modes.

config USB_DWC3_MESON_G12A
	bool "Amlogic Meson G12A USB wrapper"
	depends on DM_USB && USB_DWC3 && ARCH_MESON
	imply PHY
	help
	  Select this for Amlogic Meson G12A Platforms.
	  This wrapper supports Host and Peripheral operation modes.

config USB_DWC3_MESON_GXL
	bool "Amlogic Meson GXL USB wrapper"
	depends on DM_USB && USB_DWC3 && ARCH_MESON
	imply PHY
	help
	  Select this for Amlogic Meson GXL and GXM Platforms.
	  This wrapper supports Host and Peripheral operation modes.

config USB_DWC3_UNIPHIER
	bool "DesignWare USB3 Host Support on UniPhier Platforms"
	depends on ARCH_UNIPHIER && USB_XHCI_DWC3
	help
	  Support of USB2/3 functionality in Socionext UniPhier platforms.
	  Say 'Y' here if you have one such device.

config USB_DWC3_LAYERSCAPE
	bool "Freescale Layerscape platform support"
	depends on DM_USB && USB_DWC3
	depends on !USB_XHCI_FSL
	help
	  Select this for Freescale Layerscape Platforms.

	  Host and Peripheral operation modes are supported. OTG is not
	  supported.

menu "PHY Subsystem"

config USB_DWC3_PHY_OMAP
	bool "TI OMAP SoC series USB DRD PHY driver"
	help
	  Enable single driver for both USB2 PHY programming and USB3 PHY
	  programming for TI SoCs.

config USB_DWC3_PHY_SAMSUNG
	bool "Exynos5 SoC series USB DRD PHY driver"
	help
	  Enable USB DRD PHY support for Exynos 5 SoC series.
	  This driver provides PHY interface for USB 3.0 DRD controller
	  present on Exynos5 SoC series.

endmenu

endif
