| # 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/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches" |
| depends on GPIOLIB || COMPILE_TEST |
| help |
| If you say yes here you get support for NXP PCA954x/PCA984x |
| and Maxim MAX735x/MAX736x 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. |
| |
| config I2C_MUX_MULE |
| tristate "Theobroma Systems Mule I2C device multiplexer" |
| depends on OF && SENSORS_AMC6821 |
| help |
| Mule is an MCU that emulates a set of I2C devices, among which |
| devices that are reachable through an I2C-mux. The devices on the mux |
| can be selected by writing the appropriate device number to an I2C |
| configuration register. |
| |
| If you say yes to this option, support will be included for a |
| Theobroma Systems Mule I2C multiplexer. This driver provides access to |
| I2C devices connected on this mux. |
| |
| This driver can also be built as a module. If so, the module |
| will be called i2c-mux-mule. |
| |
| endmenu |