1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Multiplexer devices 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig MULTIPLEXER 7*4882a593Smuzhiyun tristate 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmenu "Multiplexer drivers" 10*4882a593Smuzhiyun depends on MULTIPLEXER 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig MUX_ADG792A 13*4882a593Smuzhiyun tristate "Analog Devices ADG792A/ADG792G Multiplexers" 14*4882a593Smuzhiyun depends on I2C 15*4882a593Smuzhiyun help 16*4882a593Smuzhiyun ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun The driver supports both operating the three multiplexers in 19*4882a593Smuzhiyun parallel and operating them independently. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun To compile the driver as a module, choose M here: the module will 22*4882a593Smuzhiyun be called mux-adg792a. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunconfig MUX_ADGS1408 25*4882a593Smuzhiyun tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers" 26*4882a593Smuzhiyun depends on SPI 27*4882a593Smuzhiyun help 28*4882a593Smuzhiyun ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer 29*4882a593Smuzhiyun switches. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun To compile the driver as a module, choose M here: the module will 32*4882a593Smuzhiyun be called mux-adgs1408. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig MUX_GPIO 35*4882a593Smuzhiyun tristate "GPIO-controlled Multiplexer" 36*4882a593Smuzhiyun depends on GPIOLIB || COMPILE_TEST 37*4882a593Smuzhiyun help 38*4882a593Smuzhiyun GPIO-controlled Multiplexer controller. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun The driver builds a single multiplexer controller using a number 41*4882a593Smuzhiyun of gpio pins. For N pins, there will be 2^N possible multiplexer 42*4882a593Smuzhiyun states. The GPIO pins can be connected (by the hardware) to several 43*4882a593Smuzhiyun multiplexers, which in that case will be operated in parallel. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun To compile the driver as a module, choose M here: the module will 46*4882a593Smuzhiyun be called mux-gpio. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig MUX_MMIO 49*4882a593Smuzhiyun tristate "MMIO/Regmap register bitfield-controlled Multiplexer" 50*4882a593Smuzhiyun depends on OF || COMPILE_TEST 51*4882a593Smuzhiyun help 52*4882a593Smuzhiyun MMIO/Regmap register bitfield-controlled Multiplexer controller. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun The driver builds multiplexer controllers for bitfields in either 55*4882a593Smuzhiyun a syscon register or a driver regmap register. For N bit wide 56*4882a593Smuzhiyun bitfields, there will be 2^N possible multiplexer states. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun To compile the driver as a module, choose M here: the module will 59*4882a593Smuzhiyun be called mux-mmio. 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunendmenu 62