| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| # Multiplexer I2C chip drivers configuration | |
| # | |
| menu "Multiplexer I2C Chip support" | |
| depends on I2C_MUX | |
| config I2C_ARB_GPIO_CHALLENGE | |
| tristate "GPIO-based I2C arbitration" | |
| depends on GPIOLIB || COMPILE_TEST | |
| depends on OF || COMPILE_TEST | |
| help | |
| If you say yes to this option, support will be included for an | |
| I2C multimaster arbitration scheme using GPIOs and a challenge & | |
| response mechanism where masters have to claim the bus by asserting | |
| a GPIO. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-arb-gpio-challenge. | |
| config I2C_MUX_GPIO | |
| tristate "GPIO-based I2C multiplexer" | |
| depends on GPIOLIB | |
| help | |
| If you say yes to this option, support will be included for a | |
| GPIO based I2C multiplexer. This driver provides access to | |
| I2C busses connected through a MUX, which is controlled | |
| through GPIO pins. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-gpio. | |
| config I2C_MUX_GPMUX | |
| tristate "General Purpose I2C multiplexer" | |
| select MULTIPLEXER | |
| depends on OF || COMPILE_TEST | |
| help | |
| If you say yes to this option, support will be included for a | |
| general purpose I2C multiplexer. This driver provides access to | |
| I2C busses connected through a MUX, which in turn is controlled | |
| by a MUX-controller from the MUX subsystem. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-gpmux. | |
| config I2C_MUX_LTC4306 | |
| tristate "LTC LTC4306/5 I2C multiplexer" | |
| select GPIOLIB | |
| select REGMAP_I2C | |
| help | |
| If you say yes here you get support for the Analog Devices | |
| LTC4306 or LTC4305 I2C mux/switch devices. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-ltc4306. | |
| config I2C_MUX_PCA9541 | |
| tristate "NXP PCA9541 I2C Master Selector" | |
| help | |
| If you say yes here you get support for the NXP PCA9541 | |
| I2C Master Selector. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-pca9541. | |
| config I2C_MUX_PCA954x | |
| tristate "NXP PCA954x and PCA984x I2C Mux/switches" | |
| depends on GPIOLIB || COMPILE_TEST | |
| help | |
| If you say yes here you get support for the NXP PCA954x | |
| and PCA984x I2C mux/switch devices. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-pca954x. | |
| config I2C_MUX_PINCTRL | |
| tristate "pinctrl-based I2C multiplexer" | |
| depends on PINCTRL | |
| depends on OF || COMPILE_TEST | |
| help | |
| If you say yes to this option, support will be included for an I2C | |
| multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. | |
| This is useful for SoCs whose I2C module's signals can be routed to | |
| different sets of pins at run-time. | |
| This driver can also be built as a module. If so, the module will be | |
| called i2c-mux-pinctrl. | |
| config I2C_MUX_REG | |
| tristate "Register-based I2C multiplexer" | |
| depends on HAS_IOMEM | |
| help | |
| If you say yes to this option, support will be included for a | |
| register based I2C multiplexer. This driver provides access to | |
| I2C busses connected through a MUX, which is controlled | |
| by a single register. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-reg. | |
| config I2C_DEMUX_PINCTRL | |
| tristate "pinctrl-based I2C demultiplexer" | |
| depends on PINCTRL && OF | |
| select OF_DYNAMIC | |
| help | |
| If you say yes to this option, support will be included for an I2C | |
| demultiplexer that uses the pinctrl subsystem. This is useful if you | |
| want to change the I2C master at run-time depending on features. | |
| config I2C_MUX_MLXCPLD | |
| tristate "Mellanox CPLD based I2C multiplexer" | |
| help | |
| If you say yes to this option, support will be included for a | |
| CPLD based I2C multiplexer. This driver provides access to | |
| I2C busses connected through a MUX, which is controlled | |
| by a CPLD register. | |
| This driver can also be built as a module. If so, the module | |
| will be called i2c-mux-mlxcpld. | |
| endmenu |