# SPDX-License-Identifier: GPL-2.0

menu "USB Type-C Multiplexer/DeMultiplexer Switch support"

config TYPEC_MUX_FSA4480
	tristate "ON Semi FSA4480 Analog Audio Switch driver"
	depends on I2C
	select REGMAP_I2C
	help
	  Driver for the ON Semiconductor FSA4480 Analog Audio Switch, which
	  provides support for muxing analog audio and sideband signals on a
	  common USB Type-C connector.
	  If compiled as a module, the module will be named fsa4480.

config TYPEC_MUX_GPIO_SBU
	tristate "Generic GPIO based SBU mux for USB Type-C applications"
	help
	  Say Y or M if your system uses a GPIO based mux for managing the
	  connected state and the swapping of the SBU lines in a Type-C port.

config TYPEC_MUX_PI3USB30532
	tristate "Pericom PI3USB30532 Type-C cross switch driver"
	depends on I2C
	help
	  Say Y or M if your system has a Pericom PI3USB30532 Type-C cross
	  switch / mux chip found on some devices with a Type-C port.

config TYPEC_MUX_INTEL_PMC
	tristate "Intel PMC mux control"
	depends on ACPI
	depends on INTEL_SCU_IPC
	select USB_COMMON
	select USB_ROLE_SWITCH
	help
	  Driver for USB muxes controlled by Intel PMC FW. Intel PMC FW can
	  control the USB role switch and also the multiplexer/demultiplexer
	  switches used with USB Type-C Alternate Modes.

config TYPEC_MUX_NB7VPQ904M
	tristate "On Semiconductor NB7VPQ904M Type-C redriver driver"
	depends on I2C
	depends on DRM || DRM=n
	select DRM_PANEL_BRIDGE if DRM
	select REGMAP_I2C
	help
	  Say Y or M if your system has a On Semiconductor NB7VPQ904M Type-C
	  redriver chip found on some devices with a Type-C port.

endmenu