xref: /kernel/linux/linux-6.6/drivers/usb/roles/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig USB_ROLE_SWITCH
462306a36Sopenharmony_ci	tristate "USB Role Switch Support"
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  USB Role Switch is a device that can select the USB role - host or
762306a36Sopenharmony_ci	  device - for a USB port (connector). In most cases dual-role capable
862306a36Sopenharmony_ci	  USB controller will also represent the switch, but on some platforms
962306a36Sopenharmony_ci	  multiplexer/demultiplexer switch is used to route the data lines on
1062306a36Sopenharmony_ci	  the USB connector between separate USB host and device controllers.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  Say Y here if your USB connectors support both device and host roles.
1362306a36Sopenharmony_ci	  To compile the driver as module, choose M here: the module will be
1462306a36Sopenharmony_ci	  called roles.ko.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciif USB_ROLE_SWITCH
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig USB_ROLES_INTEL_XHCI
1962306a36Sopenharmony_ci	tristate "Intel XHCI USB Role Switch"
2062306a36Sopenharmony_ci	depends on ACPI && X86
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	  Driver for the internal USB role switch for switching the USB data
2362306a36Sopenharmony_ci	  lines between the xHCI host controller and the dwc3 gadget controller
2462306a36Sopenharmony_ci	  found on various Intel SoCs.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
2762306a36Sopenharmony_ci	  be called intel-xhci-usb-role-switch.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciendif # USB_ROLE_SWITCH
30