# 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