162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig USB_CHIPIDEA
462306a36Sopenharmony_ci	tristate "ChipIdea Highspeed Dual Role Controller"
562306a36Sopenharmony_ci	depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
662306a36Sopenharmony_ci	select EXTCON
762306a36Sopenharmony_ci	select RESET_CONTROLLER
862306a36Sopenharmony_ci	select USB_ULPI_BUS
962306a36Sopenharmony_ci	select USB_ROLE_SWITCH
1062306a36Sopenharmony_ci	select USB_TEGRA_PHY if ARCH_TEGRA
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  Say Y here if your system has a dual role high speed USB
1362306a36Sopenharmony_ci	  controller based on ChipIdea silicon IP. It supports:
1462306a36Sopenharmony_ci	  Dual-role switch (ID, OTG FSM, sysfs), Host-only, and
1562306a36Sopenharmony_ci	  Peripheral-only.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  When compiled dynamically, the module will be called ci_hdrc.ko.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciif USB_CHIPIDEA
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig USB_CHIPIDEA_UDC
2262306a36Sopenharmony_ci	bool "ChipIdea device controller"
2362306a36Sopenharmony_ci	depends on USB_GADGET
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	  Say Y here to enable device controller functionality of the
2662306a36Sopenharmony_ci	  ChipIdea driver.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig USB_CHIPIDEA_HOST
2962306a36Sopenharmony_ci	bool "ChipIdea host controller"
3062306a36Sopenharmony_ci	depends on USB_EHCI_HCD
3162306a36Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  Say Y here to enable host controller functionality of the
3462306a36Sopenharmony_ci	  ChipIdea driver.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig USB_CHIPIDEA_PCI
3762306a36Sopenharmony_ci	tristate "Enable PCI glue driver" if EXPERT
3862306a36Sopenharmony_ci	depends on USB_PCI
3962306a36Sopenharmony_ci	depends on NOP_USB_XCEIV
4062306a36Sopenharmony_ci	default USB_CHIPIDEA
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig USB_CHIPIDEA_MSM
4362306a36Sopenharmony_ci	tristate "Enable MSM hsusb glue driver" if EXPERT
4462306a36Sopenharmony_ci	default USB_CHIPIDEA
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig USB_CHIPIDEA_IMX
4762306a36Sopenharmony_ci	tristate "Enable i.MX USB glue driver" if EXPERT
4862306a36Sopenharmony_ci	depends on OF
4962306a36Sopenharmony_ci	default USB_CHIPIDEA
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig USB_CHIPIDEA_GENERIC
5262306a36Sopenharmony_ci	tristate "Enable generic USB2 glue driver" if EXPERT
5362306a36Sopenharmony_ci	default USB_CHIPIDEA
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig USB_CHIPIDEA_TEGRA
5662306a36Sopenharmony_ci	tristate "Enable Tegra USB glue driver" if EXPERT
5762306a36Sopenharmony_ci	depends on OF
5862306a36Sopenharmony_ci	default USB_CHIPIDEA
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciendif
61