xref: /openbmc/linux/drivers/mux/Kconfig (revision 8ecfaca7)
10edff03dSPeter Rosin# SPDX-License-Identifier: GPL-2.0
2a3b02a9cSPeter Rosin#
3a3b02a9cSPeter Rosin# Multiplexer devices
4a3b02a9cSPeter Rosin#
5a3b02a9cSPeter Rosin
64c19c0ecSPeter Rosinconfig MULTIPLEXER
74c19c0ecSPeter Rosin	tristate
8a3b02a9cSPeter Rosin
94c19c0ecSPeter Rosinmenu "Multiplexer drivers"
104c19c0ecSPeter Rosin	depends on MULTIPLEXER
112c089f08SPeter Rosin
12afda08c4SPeter Rosinconfig MUX_ADG792A
13afda08c4SPeter Rosin	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
14aca4e68aSArnd Bergmann	depends on I2C
15afda08c4SPeter Rosin	help
16afda08c4SPeter Rosin	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers
17afda08c4SPeter Rosin
18afda08c4SPeter Rosin	  The driver supports both operating the three multiplexers in
19afda08c4SPeter Rosin	  parallel and operating them independently.
20afda08c4SPeter Rosin
21afda08c4SPeter Rosin	  To compile the driver as a module, choose M here: the module will
22afda08c4SPeter Rosin	  be called mux-adg792a.
23afda08c4SPeter Rosin
248b9ce695SMircea Caprioruconfig MUX_ADGS1408
258b9ce695SMircea Caprioru	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
268b9ce695SMircea Caprioru	depends on SPI
278b9ce695SMircea Caprioru	help
288b9ce695SMircea Caprioru	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
298b9ce695SMircea Caprioru	  switches.
308b9ce695SMircea Caprioru
318b9ce695SMircea Caprioru	  To compile the driver as a module, choose M here: the module will
328b9ce695SMircea Caprioru	  be called mux-adgs1408.
338b9ce695SMircea Caprioru
342c089f08SPeter Rosinconfig MUX_GPIO
352c089f08SPeter Rosin	tristate "GPIO-controlled Multiplexer"
362c089f08SPeter Rosin	depends on GPIOLIB || COMPILE_TEST
372c089f08SPeter Rosin	help
382c089f08SPeter Rosin	  GPIO-controlled Multiplexer controller.
392c089f08SPeter Rosin
402c089f08SPeter Rosin	  The driver builds a single multiplexer controller using a number
412c089f08SPeter Rosin	  of gpio pins. For N pins, there will be 2^N possible multiplexer
422c089f08SPeter Rosin	  states. The GPIO pins can be connected (by the hardware) to several
432c089f08SPeter Rosin	  multiplexers, which in that case will be operated in parallel.
442c089f08SPeter Rosin
452c089f08SPeter Rosin	  To compile the driver as a module, choose M here: the module will
462c089f08SPeter Rosin	  be called mux-gpio.
472c089f08SPeter Rosin
4873726380SPhilipp Zabelconfig MUX_MMIO
498ecfaca7SPankaj Bansal	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
508ecfaca7SPankaj Bansal	depends on OF || COMPILE_TEST
5173726380SPhilipp Zabel	help
528ecfaca7SPankaj Bansal	  MMIO/Regmap register bitfield-controlled Multiplexer controller.
5373726380SPhilipp Zabel
548ecfaca7SPankaj Bansal	  The driver builds multiplexer controllers for bitfields in either
558ecfaca7SPankaj Bansal	  a syscon register or a driver regmap register. For N bit wide
568ecfaca7SPankaj Bansal	  bitfields, there will be 2^N possible multiplexer states.
5773726380SPhilipp Zabel
5873726380SPhilipp Zabel	  To compile the driver as a module, choose M here: the module will
5973726380SPhilipp Zabel	  be called mux-mmio.
6073726380SPhilipp Zabel
614c19c0ecSPeter Rosinendmenu
62