xref: /openbmc/linux/drivers/usb/chipidea/Kconfig (revision 95caa2ae)
1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2cae8dc3bSGreg Kroah-Hartman
3bc25a80dSAlexander Shishkinconfig USB_CHIPIDEA
4bc25a80dSAlexander Shishkin	tristate "ChipIdea Highspeed Dual Role Controller"
52c740336SGeert Uytterhoeven	depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA
63ecb3e09SIvan T. Ivanov	select EXTCON
71b8fc5a5SStephen Boyd	select RESET_CONTROLLER
8a930d8bdSFabio Estevam	select USB_ULPI_BUS
905559f10SLi Jun	select USB_ROLE_SWITCH
107d999a7dSDmitry Osipenko	select USB_TEGRA_PHY if ARCH_TEGRA
11bc25a80dSAlexander Shishkin	help
12bc25a80dSAlexander Shishkin	  Say Y here if your system has a dual role high speed USB
13fb67cb00SPeter Chen	  controller based on ChipIdea silicon IP. It supports:
14fb67cb00SPeter Chen	  Dual-role switch (ID, OTG FSM, sysfs), Host-only, and
15fb67cb00SPeter Chen	  Peripheral-only.
16bc25a80dSAlexander Shishkin
172a53e060SChristoph Fritz	  When compiled dynamically, the module will be called ci_hdrc.ko.
18e443b333SAlexander Shishkin
19e443b333SAlexander Shishkinif USB_CHIPIDEA
20e443b333SAlexander Shishkin
21e443b333SAlexander Shishkinconfig USB_CHIPIDEA_UDC
22e443b333SAlexander Shishkin	bool "ChipIdea device controller"
23a0cfdc6bSLothar Waßmann	depends on USB_GADGET
24e443b333SAlexander Shishkin	help
25e443b333SAlexander Shishkin	  Say Y here to enable device controller functionality of the
26e443b333SAlexander Shishkin	  ChipIdea driver.
27e443b333SAlexander Shishkin
28eb70e5abSAlexander Shishkinconfig USB_CHIPIDEA_HOST
29eb70e5abSAlexander Shishkin	bool "ChipIdea host controller"
30a0cfdc6bSLothar Waßmann	depends on USB_EHCI_HCD
31ca72ae9bSRichard Zhao	select USB_EHCI_ROOT_HUB_TT
32eb70e5abSAlexander Shishkin	help
33eb70e5abSAlexander Shishkin	  Say Y here to enable host controller functionality of the
34eb70e5abSAlexander Shishkin	  ChipIdea driver.
3595caa2aeSMichał Mirosław
3695caa2aeSMichał Mirosławconfig USB_CHIPIDEA_PCI
3795caa2aeSMichał Mirosław	tristate "Enable PCI glue driver" if EMBEDDED
3895caa2aeSMichał Mirosław	depends on USB_PCI
3995caa2aeSMichał Mirosław	depends on NOP_USB_XCEIV
4095caa2aeSMichał Mirosław	default USB_CHIPIDEA
4195caa2aeSMichał Mirosław
4295caa2aeSMichał Mirosławconfig USB_CHIPIDEA_MSM
4395caa2aeSMichał Mirosław	tristate "Enable MSM hsusb glue driver" if EMBEDDED
4495caa2aeSMichał Mirosław	default USB_CHIPIDEA
4595caa2aeSMichał Mirosław
4695caa2aeSMichał Mirosławconfig USB_CHIPIDEA_IMX
4795caa2aeSMichał Mirosław	tristate "Enable i.MX USB glue driver" if EMBEDDED
4895caa2aeSMichał Mirosław	depends on OF
4995caa2aeSMichał Mirosław	default USB_CHIPIDEA
5095caa2aeSMichał Mirosław
5195caa2aeSMichał Mirosławconfig USB_CHIPIDEA_GENERIC
5295caa2aeSMichał Mirosław	tristate "Enable generic USB2 glue driver" if EMBEDDED
5395caa2aeSMichał Mirosław	default USB_CHIPIDEA
5495caa2aeSMichał Mirosław
5595caa2aeSMichał Mirosławconfig USB_CHIPIDEA_TEGRA
5695caa2aeSMichał Mirosław	tristate "Enable Tegra UDC glue driver" if EMBEDDED
5795caa2aeSMichał Mirosław	depends on OF
5895caa2aeSMichał Mirosław	depends on USB_CHIPIDEA_UDC
5995caa2aeSMichał Mirosław	default USB_CHIPIDEA
6095caa2aeSMichał Mirosław
61e443b333SAlexander Shishkinendif
62