# SPDX-License-Identifier: GPL-2.0
#
# Multiplexer devices
#

config MULTIPLEXER
	tristate

menu "Multiplexer drivers"
	depends on MULTIPLEXER

config MUX_ADG792A
	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
	depends on I2C
	help
	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers

	  The driver supports both operating the three multiplexers in
	  parallel and operating them independently.

	  To compile the driver as a module, choose M here: the module will
	  be called mux-adg792a.

config MUX_ADGS1408
	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
	depends on SPI
	help
	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
	  switches.

	  To compile the driver as a module, choose M here: the module will
	  be called mux-adgs1408.

config MUX_GPIO
	tristate "GPIO-controlled Multiplexer"
	depends on GPIOLIB || COMPILE_TEST
	help
	  GPIO-controlled Multiplexer controller.

	  The driver builds a single multiplexer controller using a number
	  of gpio pins. For N pins, there will be 2^N possible multiplexer
	  states. The GPIO pins can be connected (by the hardware) to several
	  multiplexers, which in that case will be operated in parallel.

	  To compile the driver as a module, choose M here: the module will
	  be called mux-gpio.

config MUX_MMIO
	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
	depends on OF
	help
	  MMIO/Regmap register bitfield-controlled Multiplexer controller.

	  The driver builds multiplexer controllers for bitfields in either
	  a syscon register or a driver regmap register. For N bit wide
	  bitfields, there will be 2^N possible multiplexer states.

	  To compile the driver as a module, choose M here: the module will
	  be called mux-mmio.

endmenu