1a3b02a9cSPeter Rosin# 2a3b02a9cSPeter Rosin# Multiplexer devices 3a3b02a9cSPeter Rosin# 4a3b02a9cSPeter Rosin 5a3b02a9cSPeter Rosinmenuconfig MULTIPLEXER 6a3b02a9cSPeter Rosin tristate "Multiplexer subsystem" 7a3b02a9cSPeter Rosin help 8a3b02a9cSPeter Rosin Multiplexer controller subsystem. Multiplexers are used in a 9a3b02a9cSPeter Rosin variety of settings, and this subsystem abstracts their use 10a3b02a9cSPeter Rosin so that the rest of the kernel sees a common interface. When 11a3b02a9cSPeter Rosin multiple parallel multiplexers are controlled by one single 12a3b02a9cSPeter Rosin multiplexer controller, this subsystem also coordinates the 13a3b02a9cSPeter Rosin multiplexer accesses. 14a3b02a9cSPeter Rosin 15a3b02a9cSPeter Rosin To compile the subsystem as a module, choose M here: the module will 16a3b02a9cSPeter Rosin be called mux-core. 172c089f08SPeter Rosin 182c089f08SPeter Rosinif MULTIPLEXER 192c089f08SPeter Rosin 20afda08c4SPeter Rosinconfig MUX_ADG792A 21afda08c4SPeter Rosin tristate "Analog Devices ADG792A/ADG792G Multiplexers" 22aca4e68aSArnd Bergmann depends on I2C 23afda08c4SPeter Rosin help 24afda08c4SPeter Rosin ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers 25afda08c4SPeter Rosin 26afda08c4SPeter Rosin The driver supports both operating the three multiplexers in 27afda08c4SPeter Rosin parallel and operating them independently. 28afda08c4SPeter Rosin 29afda08c4SPeter Rosin To compile the driver as a module, choose M here: the module will 30afda08c4SPeter Rosin be called mux-adg792a. 31afda08c4SPeter Rosin 322c089f08SPeter Rosinconfig MUX_GPIO 332c089f08SPeter Rosin tristate "GPIO-controlled Multiplexer" 342c089f08SPeter Rosin depends on GPIOLIB || COMPILE_TEST 352c089f08SPeter Rosin help 362c089f08SPeter Rosin GPIO-controlled Multiplexer controller. 372c089f08SPeter Rosin 382c089f08SPeter Rosin The driver builds a single multiplexer controller using a number 392c089f08SPeter Rosin of gpio pins. For N pins, there will be 2^N possible multiplexer 402c089f08SPeter Rosin states. The GPIO pins can be connected (by the hardware) to several 412c089f08SPeter Rosin multiplexers, which in that case will be operated in parallel. 422c089f08SPeter Rosin 432c089f08SPeter Rosin To compile the driver as a module, choose M here: the module will 442c089f08SPeter Rosin be called mux-gpio. 452c089f08SPeter Rosin 4673726380SPhilipp Zabelconfig MUX_MMIO 4773726380SPhilipp Zabel tristate "MMIO register bitfield-controlled Multiplexer" 4873726380SPhilipp Zabel depends on (OF && MFD_SYSCON) || COMPILE_TEST 4973726380SPhilipp Zabel help 5073726380SPhilipp Zabel MMIO register bitfield-controlled Multiplexer controller. 5173726380SPhilipp Zabel 5273726380SPhilipp Zabel The driver builds multiplexer controllers for bitfields in a syscon 5373726380SPhilipp Zabel register. For N bit wide bitfields, there will be 2^N possible 5473726380SPhilipp Zabel multiplexer states. 5573726380SPhilipp Zabel 5673726380SPhilipp Zabel To compile the driver as a module, choose M here: the module will 5773726380SPhilipp Zabel be called mux-mmio. 5873726380SPhilipp Zabel 592c089f08SPeter Rosinendif 60