1# SPDX-License-Identifier: GPL-2.0
2
3config USB_CHIPIDEA
4	tristate "ChipIdea Highspeed Dual Role Controller"
5	depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
6	select EXTCON
7	select RESET_CONTROLLER
8	select USB_ULPI_BUS
9	select USB_ROLE_SWITCH
10	select USB_TEGRA_PHY if ARCH_TEGRA
11	help
12	  Say Y here if your system has a dual role high speed USB
13	  controller based on ChipIdea silicon IP. It supports:
14	  Dual-role switch (ID, OTG FSM, sysfs), Host-only, and
15	  Peripheral-only.
16
17	  When compiled dynamically, the module will be called ci_hdrc.ko.
18
19if USB_CHIPIDEA
20
21config USB_CHIPIDEA_UDC
22	bool "ChipIdea device controller"
23	depends on USB_GADGET
24	help
25	  Say Y here to enable device controller functionality of the
26	  ChipIdea driver.
27
28config USB_CHIPIDEA_HOST
29	bool "ChipIdea host controller"
30	depends on USB_EHCI_HCD
31	select USB_EHCI_ROOT_HUB_TT
32	help
33	  Say Y here to enable host controller functionality of the
34	  ChipIdea driver.
35
36config USB_CHIPIDEA_PCI
37	tristate "Enable PCI glue driver" if EXPERT
38	depends on USB_PCI
39	depends on NOP_USB_XCEIV
40	default USB_CHIPIDEA
41
42config USB_CHIPIDEA_MSM
43	tristate "Enable MSM hsusb glue driver" if EXPERT
44	default USB_CHIPIDEA
45
46config USB_CHIPIDEA_NPCM
47	tristate "Enable NPCM hsusb glue driver" if EXPERT
48	default USB_CHIPIDEA
49
50config USB_CHIPIDEA_IMX
51	tristate "Enable i.MX USB glue driver" if EXPERT
52	depends on OF
53	default USB_CHIPIDEA
54
55config USB_CHIPIDEA_GENERIC
56	tristate "Enable generic USB2 glue driver" if EXPERT
57	default USB_CHIPIDEA
58
59config USB_CHIPIDEA_TEGRA
60	tristate "Enable Tegra USB glue driver" if EXPERT
61	depends on OF
62	default USB_CHIPIDEA
63
64endif
65