1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Multiplexer I2C chip drivers configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunmenu "Multiplexer I2C Chip support" 7*4882a593Smuzhiyun depends on I2C_MUX 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig I2C_ARB_GPIO_CHALLENGE 10*4882a593Smuzhiyun tristate "GPIO-based I2C arbitration" 11*4882a593Smuzhiyun depends on GPIOLIB || COMPILE_TEST 12*4882a593Smuzhiyun depends on OF || COMPILE_TEST 13*4882a593Smuzhiyun help 14*4882a593Smuzhiyun If you say yes to this option, support will be included for an 15*4882a593Smuzhiyun I2C multimaster arbitration scheme using GPIOs and a challenge & 16*4882a593Smuzhiyun response mechanism where masters have to claim the bus by asserting 17*4882a593Smuzhiyun a GPIO. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 20*4882a593Smuzhiyun will be called i2c-arb-gpio-challenge. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunconfig I2C_MUX_GPIO 23*4882a593Smuzhiyun tristate "GPIO-based I2C multiplexer" 24*4882a593Smuzhiyun depends on GPIOLIB 25*4882a593Smuzhiyun help 26*4882a593Smuzhiyun If you say yes to this option, support will be included for a 27*4882a593Smuzhiyun GPIO based I2C multiplexer. This driver provides access to 28*4882a593Smuzhiyun I2C busses connected through a MUX, which is controlled 29*4882a593Smuzhiyun through GPIO pins. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 32*4882a593Smuzhiyun will be called i2c-mux-gpio. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig I2C_MUX_GPMUX 35*4882a593Smuzhiyun tristate "General Purpose I2C multiplexer" 36*4882a593Smuzhiyun select MULTIPLEXER 37*4882a593Smuzhiyun depends on OF || COMPILE_TEST 38*4882a593Smuzhiyun help 39*4882a593Smuzhiyun If you say yes to this option, support will be included for a 40*4882a593Smuzhiyun general purpose I2C multiplexer. This driver provides access to 41*4882a593Smuzhiyun I2C busses connected through a MUX, which in turn is controlled 42*4882a593Smuzhiyun by a MUX-controller from the MUX subsystem. 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 45*4882a593Smuzhiyun will be called i2c-mux-gpmux. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig I2C_MUX_LTC4306 48*4882a593Smuzhiyun tristate "LTC LTC4306/5 I2C multiplexer" 49*4882a593Smuzhiyun select GPIOLIB 50*4882a593Smuzhiyun select REGMAP_I2C 51*4882a593Smuzhiyun help 52*4882a593Smuzhiyun If you say yes here you get support for the Analog Devices 53*4882a593Smuzhiyun LTC4306 or LTC4305 I2C mux/switch devices. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 56*4882a593Smuzhiyun will be called i2c-mux-ltc4306. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig I2C_MUX_PCA9541 59*4882a593Smuzhiyun tristate "NXP PCA9541 I2C Master Selector" 60*4882a593Smuzhiyun help 61*4882a593Smuzhiyun If you say yes here you get support for the NXP PCA9541 62*4882a593Smuzhiyun I2C Master Selector. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 65*4882a593Smuzhiyun will be called i2c-mux-pca9541. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig I2C_MUX_PCA954x 68*4882a593Smuzhiyun tristate "NXP PCA954x and PCA984x I2C Mux/switches" 69*4882a593Smuzhiyun depends on GPIOLIB || COMPILE_TEST 70*4882a593Smuzhiyun help 71*4882a593Smuzhiyun If you say yes here you get support for the NXP PCA954x 72*4882a593Smuzhiyun and PCA984x I2C mux/switch devices. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 75*4882a593Smuzhiyun will be called i2c-mux-pca954x. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig I2C_MUX_PINCTRL 78*4882a593Smuzhiyun tristate "pinctrl-based I2C multiplexer" 79*4882a593Smuzhiyun depends on PINCTRL 80*4882a593Smuzhiyun depends on OF || COMPILE_TEST 81*4882a593Smuzhiyun help 82*4882a593Smuzhiyun If you say yes to this option, support will be included for an I2C 83*4882a593Smuzhiyun multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. 84*4882a593Smuzhiyun This is useful for SoCs whose I2C module's signals can be routed to 85*4882a593Smuzhiyun different sets of pins at run-time. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun This driver can also be built as a module. If so, the module will be 88*4882a593Smuzhiyun called i2c-mux-pinctrl. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunconfig I2C_MUX_REG 91*4882a593Smuzhiyun tristate "Register-based I2C multiplexer" 92*4882a593Smuzhiyun depends on HAS_IOMEM 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun If you say yes to this option, support will be included for a 95*4882a593Smuzhiyun register based I2C multiplexer. This driver provides access to 96*4882a593Smuzhiyun I2C busses connected through a MUX, which is controlled 97*4882a593Smuzhiyun by a single register. 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 100*4882a593Smuzhiyun will be called i2c-mux-reg. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunconfig I2C_DEMUX_PINCTRL 103*4882a593Smuzhiyun tristate "pinctrl-based I2C demultiplexer" 104*4882a593Smuzhiyun depends on PINCTRL && OF 105*4882a593Smuzhiyun select OF_DYNAMIC 106*4882a593Smuzhiyun help 107*4882a593Smuzhiyun If you say yes to this option, support will be included for an I2C 108*4882a593Smuzhiyun demultiplexer that uses the pinctrl subsystem. This is useful if you 109*4882a593Smuzhiyun want to change the I2C master at run-time depending on features. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig I2C_MUX_MLXCPLD 112*4882a593Smuzhiyun tristate "Mellanox CPLD based I2C multiplexer" 113*4882a593Smuzhiyun help 114*4882a593Smuzhiyun If you say yes to this option, support will be included for a 115*4882a593Smuzhiyun CPLD based I2C multiplexer. This driver provides access to 116*4882a593Smuzhiyun I2C busses connected through a MUX, which is controlled 117*4882a593Smuzhiyun by a CPLD register. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 120*4882a593Smuzhiyun will be called i2c-mux-mlxcpld. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunendmenu 123