| # 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 |
| 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 |
| 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 |
| 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 |