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