162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Multiplexer I2C chip drivers configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenu "Multiplexer I2C Chip support" 762306a36Sopenharmony_ci depends on I2C_MUX 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciconfig I2C_ARB_GPIO_CHALLENGE 1062306a36Sopenharmony_ci tristate "GPIO-based I2C arbitration" 1162306a36Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 1262306a36Sopenharmony_ci depends on OF 1362306a36Sopenharmony_ci help 1462306a36Sopenharmony_ci If you say yes to this option, support will be included for an 1562306a36Sopenharmony_ci I2C multimaster arbitration scheme using GPIOs and a challenge & 1662306a36Sopenharmony_ci response mechanism where masters have to claim the bus by asserting 1762306a36Sopenharmony_ci a GPIO. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 2062306a36Sopenharmony_ci will be called i2c-arb-gpio-challenge. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciconfig I2C_MUX_GPIO 2362306a36Sopenharmony_ci tristate "GPIO-based I2C multiplexer" 2462306a36Sopenharmony_ci depends on GPIOLIB 2562306a36Sopenharmony_ci help 2662306a36Sopenharmony_ci If you say yes to this option, support will be included for a 2762306a36Sopenharmony_ci GPIO based I2C multiplexer. This driver provides access to 2862306a36Sopenharmony_ci I2C busses connected through a MUX, which is controlled 2962306a36Sopenharmony_ci through GPIO pins. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 3262306a36Sopenharmony_ci will be called i2c-mux-gpio. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconfig I2C_MUX_GPMUX 3562306a36Sopenharmony_ci tristate "General Purpose I2C multiplexer" 3662306a36Sopenharmony_ci select MULTIPLEXER 3762306a36Sopenharmony_ci depends on OF 3862306a36Sopenharmony_ci help 3962306a36Sopenharmony_ci If you say yes to this option, support will be included for a 4062306a36Sopenharmony_ci general purpose I2C multiplexer. This driver provides access to 4162306a36Sopenharmony_ci I2C busses connected through a MUX, which in turn is controlled 4262306a36Sopenharmony_ci by a MUX-controller from the MUX subsystem. 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 4562306a36Sopenharmony_ci will be called i2c-mux-gpmux. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciconfig I2C_MUX_LTC4306 4862306a36Sopenharmony_ci tristate "LTC LTC4306/5 I2C multiplexer" 4962306a36Sopenharmony_ci select GPIOLIB 5062306a36Sopenharmony_ci select REGMAP_I2C 5162306a36Sopenharmony_ci help 5262306a36Sopenharmony_ci If you say yes here you get support for the Analog Devices 5362306a36Sopenharmony_ci LTC4306 or LTC4305 I2C mux/switch devices. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 5662306a36Sopenharmony_ci will be called i2c-mux-ltc4306. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciconfig I2C_MUX_PCA9541 5962306a36Sopenharmony_ci tristate "NXP PCA9541 I2C Master Selector" 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci If you say yes here you get support for the NXP PCA9541 6262306a36Sopenharmony_ci I2C Master Selector. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 6562306a36Sopenharmony_ci will be called i2c-mux-pca9541. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciconfig I2C_MUX_PCA954x 6862306a36Sopenharmony_ci tristate "NXP PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches" 6962306a36Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 7062306a36Sopenharmony_ci help 7162306a36Sopenharmony_ci If you say yes here you get support for NXP PCA954x/PCA984x 7262306a36Sopenharmony_ci and Maxim MAX735x/MAX736x I2C mux/switch devices. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 7562306a36Sopenharmony_ci will be called i2c-mux-pca954x. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciconfig I2C_MUX_PINCTRL 7862306a36Sopenharmony_ci tristate "pinctrl-based I2C multiplexer" 7962306a36Sopenharmony_ci depends on PINCTRL 8062306a36Sopenharmony_ci depends on OF 8162306a36Sopenharmony_ci help 8262306a36Sopenharmony_ci If you say yes to this option, support will be included for an I2C 8362306a36Sopenharmony_ci multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. 8462306a36Sopenharmony_ci This is useful for SoCs whose I2C module's signals can be routed to 8562306a36Sopenharmony_ci different sets of pins at run-time. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 8862306a36Sopenharmony_ci called i2c-mux-pinctrl. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig I2C_MUX_REG 9162306a36Sopenharmony_ci tristate "Register-based I2C multiplexer" 9262306a36Sopenharmony_ci depends on HAS_IOMEM 9362306a36Sopenharmony_ci help 9462306a36Sopenharmony_ci If you say yes to this option, support will be included for a 9562306a36Sopenharmony_ci register based I2C multiplexer. This driver provides access to 9662306a36Sopenharmony_ci I2C busses connected through a MUX, which is controlled 9762306a36Sopenharmony_ci by a single register. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 10062306a36Sopenharmony_ci will be called i2c-mux-reg. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciconfig I2C_DEMUX_PINCTRL 10362306a36Sopenharmony_ci tristate "pinctrl-based I2C demultiplexer" 10462306a36Sopenharmony_ci depends on PINCTRL && OF 10562306a36Sopenharmony_ci select OF_DYNAMIC 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci If you say yes to this option, support will be included for an I2C 10862306a36Sopenharmony_ci demultiplexer that uses the pinctrl subsystem. This is useful if you 10962306a36Sopenharmony_ci want to change the I2C master at run-time depending on features. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciconfig I2C_MUX_MLXCPLD 11262306a36Sopenharmony_ci tristate "Mellanox CPLD based I2C multiplexer" 11362306a36Sopenharmony_ci help 11462306a36Sopenharmony_ci If you say yes to this option, support will be included for a 11562306a36Sopenharmony_ci CPLD based I2C multiplexer. This driver provides access to 11662306a36Sopenharmony_ci I2C busses connected through a MUX, which is controlled 11762306a36Sopenharmony_ci by a CPLD register. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 12062306a36Sopenharmony_ci will be called i2c-mux-mlxcpld. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciendmenu 123