xref: /openbmc/linux/drivers/mux/Kconfig (revision 73726380)
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"
22afda08c4SPeter Rosin	depends on I2C || COMPILE_TEST
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