# 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_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 register bitfield-controlled Multiplexer"
	depends on (OF && MFD_SYSCON) || COMPILE_TEST
	help
	  MMIO register bitfield-controlled Multiplexer controller.

	  The driver builds multiplexer controllers for bitfields in a syscon
	  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
