xref: /linux/drivers/usb/chipidea/Kconfig (revision e53524cdcc02d089e757b668da031ba06ff665c3)
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_IMX
47	tristate "Enable i.MX USB glue driver" if EXPERT
48	depends on OF
49	default USB_CHIPIDEA
50
51config USB_CHIPIDEA_GENERIC
52	tristate "Enable generic USB2 glue driver" if EXPERT
53	default USB_CHIPIDEA
54
55config USB_CHIPIDEA_TEGRA
56	tristate "Enable Tegra USB glue driver" if EXPERT
57	depends on OF
58	default USB_CHIPIDEA
59
60endif
61