xref: /kernel/linux/linux-5.10/drivers/mux/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Multiplexer devices
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig MULTIPLEXER
78c2ecf20Sopenharmony_ci	tristate
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimenu "Multiplexer drivers"
108c2ecf20Sopenharmony_ci	depends on MULTIPLEXER
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig MUX_ADG792A
138c2ecf20Sopenharmony_ci	tristate "Analog Devices ADG792A/ADG792G Multiplexers"
148c2ecf20Sopenharmony_ci	depends on I2C
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	  The driver supports both operating the three multiplexers in
198c2ecf20Sopenharmony_ci	  parallel and operating them independently.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
228c2ecf20Sopenharmony_ci	  be called mux-adg792a.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig MUX_ADGS1408
258c2ecf20Sopenharmony_ci	tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers"
268c2ecf20Sopenharmony_ci	depends on SPI
278c2ecf20Sopenharmony_ci	help
288c2ecf20Sopenharmony_ci	  ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer
298c2ecf20Sopenharmony_ci	  switches.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
328c2ecf20Sopenharmony_ci	  be called mux-adgs1408.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig MUX_GPIO
358c2ecf20Sopenharmony_ci	tristate "GPIO-controlled Multiplexer"
368c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
378c2ecf20Sopenharmony_ci	help
388c2ecf20Sopenharmony_ci	  GPIO-controlled Multiplexer controller.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	  The driver builds a single multiplexer controller using a number
418c2ecf20Sopenharmony_ci	  of gpio pins. For N pins, there will be 2^N possible multiplexer
428c2ecf20Sopenharmony_ci	  states. The GPIO pins can be connected (by the hardware) to several
438c2ecf20Sopenharmony_ci	  multiplexers, which in that case will be operated in parallel.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
468c2ecf20Sopenharmony_ci	  be called mux-gpio.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig MUX_MMIO
498c2ecf20Sopenharmony_ci	tristate "MMIO/Regmap register bitfield-controlled Multiplexer"
508c2ecf20Sopenharmony_ci	depends on OF || COMPILE_TEST
518c2ecf20Sopenharmony_ci	help
528c2ecf20Sopenharmony_ci	  MMIO/Regmap register bitfield-controlled Multiplexer controller.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	  The driver builds multiplexer controllers for bitfields in either
558c2ecf20Sopenharmony_ci	  a syscon register or a driver regmap register. For N bit wide
568c2ecf20Sopenharmony_ci	  bitfields, there will be 2^N possible multiplexer states.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  To compile the driver as a module, choose M here: the module will
598c2ecf20Sopenharmony_ci	  be called mux-mmio.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciendmenu
62