# SPDX-License-Identifier: GPL-2.0

config USB_CHIPIDEA
	tristate "ChipIdea Highspeed Dual Role Controller"
	depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
	select EXTCON
	select RESET_CONTROLLER
	select USB_ULPI_BUS
	select USB_ROLE_SWITCH
	select USB_TEGRA_PHY if ARCH_TEGRA
	help
	  Say Y here if your system has a dual role high speed USB
	  controller based on ChipIdea silicon IP. It supports:
	  Dual-role switch (ID, OTG FSM, sysfs), Host-only, and
	  Peripheral-only.

	  When compiled dynamically, the module will be called ci_hdrc.ko.

if USB_CHIPIDEA

config USB_CHIPIDEA_UDC
	bool "ChipIdea device controller"
	depends on USB_GADGET
	help
	  Say Y here to enable device controller functionality of the
	  ChipIdea driver.

config USB_CHIPIDEA_HOST
	bool "ChipIdea host controller"
	depends on USB_EHCI_HCD
	select USB_EHCI_ROOT_HUB_TT
	help
	  Say Y here to enable host controller functionality of the
	  ChipIdea driver.

config USB_CHIPIDEA_PCI
	tristate "Enable PCI glue driver" if EXPERT
	depends on USB_PCI
	depends on NOP_USB_XCEIV
	default USB_CHIPIDEA

config USB_CHIPIDEA_MSM
	tristate "Enable MSM hsusb glue driver" if EXPERT
	default USB_CHIPIDEA

config USB_CHIPIDEA_NPCM
	tristate "Enable NPCM hsusb glue driver" if EXPERT
	default USB_CHIPIDEA

config USB_CHIPIDEA_IMX
	tristate "Enable i.MX USB glue driver" if EXPERT
	depends on OF
	default USB_CHIPIDEA

config USB_CHIPIDEA_GENERIC
	tristate "Enable generic USB2 glue driver" if EXPERT
	default USB_CHIPIDEA

config USB_CHIPIDEA_TEGRA
	tristate "Enable Tegra USB glue driver" if EXPERT
	depends on OF
	default USB_CHIPIDEA

endif
