162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Multiplexer devices
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig MULTIPLEXER
762306a36Sopenharmony_ci	tristate
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimenu "Multiplexer drivers"
1062306a36Sopenharmony_ci	depends on MULTIPLEXER
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig MUX_ADG792A
1362306a36Sopenharmony_ci	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
1462306a36Sopenharmony_ci	depends on I2C
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  The driver supports both operating the three multiplexers in
1962306a36Sopenharmony_ci	  parallel and operating them independently.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
2262306a36Sopenharmony_ci	  be called mux-adg792a.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciconfig MUX_ADGS1408
2562306a36Sopenharmony_ci	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
2662306a36Sopenharmony_ci	depends on SPI
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
2962306a36Sopenharmony_ci	  switches.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
3262306a36Sopenharmony_ci	  be called mux-adgs1408.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig MUX_GPIO
3562306a36Sopenharmony_ci	tristate "GPIO-controlled Multiplexer"
3662306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  GPIO-controlled Multiplexer controller.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  The driver builds a single multiplexer controller using a number
4162306a36Sopenharmony_ci	  of gpio pins. For N pins, there will be 2^N possible multiplexer
4262306a36Sopenharmony_ci	  states. The GPIO pins can be connected (by the hardware) to several
4362306a36Sopenharmony_ci	  multiplexers, which in that case will be operated in parallel.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
4662306a36Sopenharmony_ci	  be called mux-gpio.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig MUX_MMIO
4962306a36Sopenharmony_ci	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
5062306a36Sopenharmony_ci	depends on OF
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  MMIO/Regmap register bitfield-controlled Multiplexer controller.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	  The driver builds multiplexer controllers for bitfields in either
5562306a36Sopenharmony_ci	  a syscon register or a driver regmap register. For N bit wide
5662306a36Sopenharmony_ci	  bitfields, there will be 2^N possible multiplexer states.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
5962306a36Sopenharmony_ci	  be called mux-mmio.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciendmenu
62