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 SPL_USB_DWC3_AM62
	bool "TI AM62 USB wrapper"
	depends on SPL_DM_USB && SPL_USB_DWC3_GENERIC && SPL_SYSCON
	help
	  Select this for TI AM62 Platforms.
	  This wrapper supports Host and Peripheral operation modes.

config USB_DWC3_AM62
	bool "TI AM62 USB wrapper"
	depends on DM_USB && USB_DWC3_GENERIC && SYSCON
	help
	  Select this for TI AM62 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
	select 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
	select 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_DWC3
	select USB_DWC3_GENERIC
	select PHY
	select PHY_UNIPHIER_USB3
	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
