18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Multiplexer I2C chip drivers configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenu "Multiplexer I2C Chip support" 78c2ecf20Sopenharmony_ci depends on I2C_MUX 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciconfig I2C_ARB_GPIO_CHALLENGE 108c2ecf20Sopenharmony_ci tristate "GPIO-based I2C arbitration" 118c2ecf20Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 128c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 138c2ecf20Sopenharmony_ci help 148c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for an 158c2ecf20Sopenharmony_ci I2C multimaster arbitration scheme using GPIOs and a challenge & 168c2ecf20Sopenharmony_ci response mechanism where masters have to claim the bus by asserting 178c2ecf20Sopenharmony_ci a GPIO. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 208c2ecf20Sopenharmony_ci will be called i2c-arb-gpio-challenge. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciconfig I2C_MUX_GPIO 238c2ecf20Sopenharmony_ci tristate "GPIO-based I2C multiplexer" 248c2ecf20Sopenharmony_ci depends on GPIOLIB 258c2ecf20Sopenharmony_ci help 268c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for a 278c2ecf20Sopenharmony_ci GPIO based I2C multiplexer. This driver provides access to 288c2ecf20Sopenharmony_ci I2C busses connected through a MUX, which is controlled 298c2ecf20Sopenharmony_ci through GPIO pins. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 328c2ecf20Sopenharmony_ci will be called i2c-mux-gpio. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciconfig I2C_MUX_GPMUX 358c2ecf20Sopenharmony_ci tristate "General Purpose I2C multiplexer" 368c2ecf20Sopenharmony_ci select MULTIPLEXER 378c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 388c2ecf20Sopenharmony_ci help 398c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for a 408c2ecf20Sopenharmony_ci general purpose I2C multiplexer. This driver provides access to 418c2ecf20Sopenharmony_ci I2C busses connected through a MUX, which in turn is controlled 428c2ecf20Sopenharmony_ci by a MUX-controller from the MUX subsystem. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 458c2ecf20Sopenharmony_ci will be called i2c-mux-gpmux. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig I2C_MUX_LTC4306 488c2ecf20Sopenharmony_ci tristate "LTC LTC4306/5 I2C multiplexer" 498c2ecf20Sopenharmony_ci select GPIOLIB 508c2ecf20Sopenharmony_ci select REGMAP_I2C 518c2ecf20Sopenharmony_ci help 528c2ecf20Sopenharmony_ci If you say yes here you get support for the Analog Devices 538c2ecf20Sopenharmony_ci LTC4306 or LTC4305 I2C mux/switch devices. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 568c2ecf20Sopenharmony_ci will be called i2c-mux-ltc4306. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciconfig I2C_MUX_PCA9541 598c2ecf20Sopenharmony_ci tristate "NXP PCA9541 I2C Master Selector" 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci If you say yes here you get support for the NXP PCA9541 628c2ecf20Sopenharmony_ci I2C Master Selector. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 658c2ecf20Sopenharmony_ci will be called i2c-mux-pca9541. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig I2C_MUX_PCA954x 688c2ecf20Sopenharmony_ci tristate "NXP PCA954x and PCA984x I2C Mux/switches" 698c2ecf20Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 708c2ecf20Sopenharmony_ci help 718c2ecf20Sopenharmony_ci If you say yes here you get support for the NXP PCA954x 728c2ecf20Sopenharmony_ci and PCA984x I2C mux/switch devices. 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 758c2ecf20Sopenharmony_ci will be called i2c-mux-pca954x. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciconfig I2C_MUX_PINCTRL 788c2ecf20Sopenharmony_ci tristate "pinctrl-based I2C multiplexer" 798c2ecf20Sopenharmony_ci depends on PINCTRL 808c2ecf20Sopenharmony_ci depends on OF || COMPILE_TEST 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for an I2C 838c2ecf20Sopenharmony_ci multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. 848c2ecf20Sopenharmony_ci This is useful for SoCs whose I2C module's signals can be routed to 858c2ecf20Sopenharmony_ci different sets of pins at run-time. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module will be 888c2ecf20Sopenharmony_ci called i2c-mux-pinctrl. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciconfig I2C_MUX_REG 918c2ecf20Sopenharmony_ci tristate "Register-based I2C multiplexer" 928c2ecf20Sopenharmony_ci depends on HAS_IOMEM 938c2ecf20Sopenharmony_ci help 948c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for a 958c2ecf20Sopenharmony_ci register based I2C multiplexer. This driver provides access to 968c2ecf20Sopenharmony_ci I2C busses connected through a MUX, which is controlled 978c2ecf20Sopenharmony_ci by a single register. 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1008c2ecf20Sopenharmony_ci will be called i2c-mux-reg. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ciconfig I2C_DEMUX_PINCTRL 1038c2ecf20Sopenharmony_ci tristate "pinctrl-based I2C demultiplexer" 1048c2ecf20Sopenharmony_ci depends on PINCTRL && OF 1058c2ecf20Sopenharmony_ci select OF_DYNAMIC 1068c2ecf20Sopenharmony_ci help 1078c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for an I2C 1088c2ecf20Sopenharmony_ci demultiplexer that uses the pinctrl subsystem. This is useful if you 1098c2ecf20Sopenharmony_ci want to change the I2C master at run-time depending on features. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig I2C_MUX_MLXCPLD 1128c2ecf20Sopenharmony_ci tristate "Mellanox CPLD based I2C multiplexer" 1138c2ecf20Sopenharmony_ci help 1148c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for a 1158c2ecf20Sopenharmony_ci CPLD based I2C multiplexer. This driver provides access to 1168c2ecf20Sopenharmony_ci I2C busses connected through a MUX, which is controlled 1178c2ecf20Sopenharmony_ci by a CPLD register. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 1208c2ecf20Sopenharmony_ci will be called i2c-mux-mlxcpld. 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ciendmenu 123