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