xref: /linux/drivers/usb/chipidea/Kconfig (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
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	help
11	  Say Y here if your system has a dual role high speed USB
12	  controller based on ChipIdea silicon IP. It supports:
13	  Dual-role switch (ID, OTG FSM, sysfs), Host-only, and
14	  Peripheral-only.
15
16	  When compiled dynamically, the module will be called ci_hdrc.ko.
17
18if USB_CHIPIDEA
19
20config USB_CHIPIDEA_OF
21	tristate
22	depends on OF
23	default USB_CHIPIDEA
24
25config USB_CHIPIDEA_PCI
26	tristate
27	depends on USB_PCI
28	depends on NOP_USB_XCEIV
29	default USB_CHIPIDEA
30
31config USB_CHIPIDEA_UDC
32	bool "ChipIdea device controller"
33	depends on USB_GADGET
34	help
35	  Say Y here to enable device controller functionality of the
36	  ChipIdea driver.
37
38config USB_CHIPIDEA_HOST
39	bool "ChipIdea host controller"
40	depends on USB_EHCI_HCD
41	select USB_EHCI_ROOT_HUB_TT
42	help
43	  Say Y here to enable host controller functionality of the
44	  ChipIdea driver.
45endif
46