xref: /linux/drivers/mux/Kconfig (revision ce5c7c17e70640fc5635fd2252d0bdf4664d452b)
1# SPDX-License-Identifier: GPL-2.0
2#
3# Multiplexer devices
4#
5
6config MULTIPLEXER
7	bool
8
9config MUX_CORE
10	bool "Generic Multiplexer Support"
11	select MULTIPLEXER
12	help
13	  This framework is designed to abstract multiplexer handling for
14	  devices via various GPIO-, MMIO/Regmap or specific multiplexer
15	  controller chips.
16
17	  If unsure, say no.
18
19if MULTIPLEXER
20
21menu "Multiplexer drivers"
22
23config MUX_ADG792A
24	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
25	depends on I2C
26	help
27	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers
28
29	  The driver supports both operating the three multiplexers in
30	  parallel and operating them independently.
31
32	  To compile the driver as a module, choose M here: the module will
33	  be called mux-adg792a.
34
35config MUX_ADGS1408
36	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
37	depends on SPI
38	help
39	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
40	  switches.
41
42	  To compile the driver as a module, choose M here: the module will
43	  be called mux-adgs1408.
44
45config MUX_GPIO
46	tristate "GPIO-controlled Multiplexer"
47	depends on GPIOLIB || COMPILE_TEST
48	help
49	  GPIO-controlled Multiplexer controller.
50
51	  The driver builds a single multiplexer controller using a number
52	  of gpio pins. For N pins, there will be 2^N possible multiplexer
53	  states. The GPIO pins can be connected (by the hardware) to several
54	  multiplexers, which in that case will be operated in parallel.
55
56	  To compile the driver as a module, choose M here: the module will
57	  be called mux-gpio.
58
59config MUX_MMIO
60	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
61	depends on OF
62	select REGMAP_MMIO
63	help
64	  MMIO/Regmap register bitfield-controlled Multiplexer controller.
65
66	  The driver builds multiplexer controllers for bitfields in either
67	  a syscon register or a driver regmap register. For N bit wide
68	  bitfields, there will be 2^N possible multiplexer states.
69
70	  To compile the driver as a module, choose M here: the module will
71	  be called mux-mmio.
72
73endmenu
74
75endif # MULTIPLEXER
76