xref: /linux/drivers/mux/Kconfig (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
10edff03dSPeter Rosin# SPDX-License-Identifier: GPL-2.0
2a3b02a9cSPeter Rosin#
3a3b02a9cSPeter Rosin# Multiplexer devices
4a3b02a9cSPeter Rosin#
5a3b02a9cSPeter Rosin
64c19c0ecSPeter Rosinconfig MULTIPLEXER
7*ce5c7c17SJosua Mayer	bool
8*ce5c7c17SJosua Mayer
9*ce5c7c17SJosua Mayerconfig MUX_CORE
10*ce5c7c17SJosua Mayer	bool "Generic Multiplexer Support"
11*ce5c7c17SJosua Mayer	select MULTIPLEXER
12*ce5c7c17SJosua Mayer	help
13*ce5c7c17SJosua Mayer	  This framework is designed to abstract multiplexer handling for
14*ce5c7c17SJosua Mayer	  devices via various GPIO-, MMIO/Regmap or specific multiplexer
15*ce5c7c17SJosua Mayer	  controller chips.
16*ce5c7c17SJosua Mayer
17*ce5c7c17SJosua Mayer	  If unsure, say no.
18*ce5c7c17SJosua Mayer
19*ce5c7c17SJosua Mayerif MULTIPLEXER
20a3b02a9cSPeter Rosin
214c19c0ecSPeter Rosinmenu "Multiplexer drivers"
222c089f08SPeter Rosin
23afda08c4SPeter Rosinconfig MUX_ADG792A
24afda08c4SPeter Rosin	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
25aca4e68aSArnd Bergmann	depends on I2C
26afda08c4SPeter Rosin	help
27afda08c4SPeter Rosin	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers
28afda08c4SPeter Rosin
29afda08c4SPeter Rosin	  The driver supports both operating the three multiplexers in
30afda08c4SPeter Rosin	  parallel and operating them independently.
31afda08c4SPeter Rosin
32afda08c4SPeter Rosin	  To compile the driver as a module, choose M here: the module will
33afda08c4SPeter Rosin	  be called mux-adg792a.
34afda08c4SPeter Rosin
358b9ce695SMircea Caprioruconfig MUX_ADGS1408
368b9ce695SMircea Caprioru	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
378b9ce695SMircea Caprioru	depends on SPI
388b9ce695SMircea Caprioru	help
398b9ce695SMircea Caprioru	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
408b9ce695SMircea Caprioru	  switches.
418b9ce695SMircea Caprioru
428b9ce695SMircea Caprioru	  To compile the driver as a module, choose M here: the module will
438b9ce695SMircea Caprioru	  be called mux-adgs1408.
448b9ce695SMircea Caprioru
452c089f08SPeter Rosinconfig MUX_GPIO
462c089f08SPeter Rosin	tristate "GPIO-controlled Multiplexer"
472c089f08SPeter Rosin	depends on GPIOLIB || COMPILE_TEST
482c089f08SPeter Rosin	help
492c089f08SPeter Rosin	  GPIO-controlled Multiplexer controller.
502c089f08SPeter Rosin
512c089f08SPeter Rosin	  The driver builds a single multiplexer controller using a number
522c089f08SPeter Rosin	  of gpio pins. For N pins, there will be 2^N possible multiplexer
532c089f08SPeter Rosin	  states. The GPIO pins can be connected (by the hardware) to several
542c089f08SPeter Rosin	  multiplexers, which in that case will be operated in parallel.
552c089f08SPeter Rosin
562c089f08SPeter Rosin	  To compile the driver as a module, choose M here: the module will
572c089f08SPeter Rosin	  be called mux-gpio.
582c089f08SPeter Rosin
5973726380SPhilipp Zabelconfig MUX_MMIO
608ecfaca7SPankaj Bansal	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
615ccf4028SJean Delvare	depends on OF
629fe58ecdSKrzysztof Kozlowski	select REGMAP_MMIO
6373726380SPhilipp Zabel	help
648ecfaca7SPankaj Bansal	  MMIO/Regmap register bitfield-controlled Multiplexer controller.
6573726380SPhilipp Zabel
668ecfaca7SPankaj Bansal	  The driver builds multiplexer controllers for bitfields in either
678ecfaca7SPankaj Bansal	  a syscon register or a driver regmap register. For N bit wide
688ecfaca7SPankaj Bansal	  bitfields, there will be 2^N possible multiplexer states.
6973726380SPhilipp Zabel
7073726380SPhilipp Zabel	  To compile the driver as a module, choose M here: the module will
7173726380SPhilipp Zabel	  be called mux-mmio.
7273726380SPhilipp Zabel
734c19c0ecSPeter Rosinendmenu
74*ce5c7c17SJosua Mayer
75*ce5c7c17SJosua Mayerendif # MULTIPLEXER
76