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