1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 27f528135SMichael Lawnick# 37f528135SMichael Lawnick# Multiplexer I2C chip drivers configuration 47f528135SMichael Lawnick# 57f528135SMichael Lawnick 67f528135SMichael Lawnickmenu "Multiplexer I2C Chip support" 77f528135SMichael Lawnick depends on I2C_MUX 87f528135SMichael Lawnick 9b81dfaa0SDoug Andersonconfig I2C_ARB_GPIO_CHALLENGE 10b81dfaa0SDoug Anderson tristate "GPIO-based I2C arbitration" 117e5cd69aSGeert Uytterhoeven depends on GPIOLIB || COMPILE_TEST 12874765c9SJean Delvare depends on OF 13b81dfaa0SDoug Anderson help 14b81dfaa0SDoug Anderson If you say yes to this option, support will be included for an 15b81dfaa0SDoug Anderson I2C multimaster arbitration scheme using GPIOs and a challenge & 16b81dfaa0SDoug Anderson response mechanism where masters have to claim the bus by asserting 17b81dfaa0SDoug Anderson a GPIO. 18b81dfaa0SDoug Anderson 19b81dfaa0SDoug Anderson This driver can also be built as a module. If so, the module 20b81dfaa0SDoug Anderson will be called i2c-arb-gpio-challenge. 21b81dfaa0SDoug Anderson 2292ed1a76SPeter Korsgaardconfig I2C_MUX_GPIO 2392ed1a76SPeter Korsgaard tristate "GPIO-based I2C multiplexer" 2476ec9d18SAlexandre Courbot depends on GPIOLIB 2592ed1a76SPeter Korsgaard help 2692ed1a76SPeter Korsgaard If you say yes to this option, support will be included for a 2792ed1a76SPeter Korsgaard GPIO based I2C multiplexer. This driver provides access to 2892ed1a76SPeter Korsgaard I2C busses connected through a MUX, which is controlled 2992ed1a76SPeter Korsgaard through GPIO pins. 3092ed1a76SPeter Korsgaard 3192ed1a76SPeter Korsgaard This driver can also be built as a module. If so, the module 32e7065e20SJean Delvare will be called i2c-mux-gpio. 3392ed1a76SPeter Korsgaard 34ac8498f0SPeter Rosinconfig I2C_MUX_GPMUX 35ac8498f0SPeter Rosin tristate "General Purpose I2C multiplexer" 36ac8498f0SPeter Rosin select MULTIPLEXER 37874765c9SJean Delvare depends on OF 38ac8498f0SPeter Rosin help 39ac8498f0SPeter Rosin If you say yes to this option, support will be included for a 40ac8498f0SPeter Rosin general purpose I2C multiplexer. This driver provides access to 41ac8498f0SPeter Rosin I2C busses connected through a MUX, which in turn is controlled 42ac8498f0SPeter Rosin by a MUX-controller from the MUX subsystem. 43ac8498f0SPeter Rosin 44ac8498f0SPeter Rosin This driver can also be built as a module. If so, the module 45ac8498f0SPeter Rosin will be called i2c-mux-gpmux. 46ac8498f0SPeter Rosin 47dbed8a80SMichael Hennerichconfig I2C_MUX_LTC4306 48dbed8a80SMichael Hennerich tristate "LTC LTC4306/5 I2C multiplexer" 49dbed8a80SMichael Hennerich select GPIOLIB 50dbed8a80SMichael Hennerich select REGMAP_I2C 51dbed8a80SMichael Hennerich help 52dbed8a80SMichael Hennerich If you say yes here you get support for the Analog Devices 53dbed8a80SMichael Hennerich LTC4306 or LTC4305 I2C mux/switch devices. 54dbed8a80SMichael Hennerich 55dbed8a80SMichael Hennerich This driver can also be built as a module. If so, the module 56dbed8a80SMichael Hennerich will be called i2c-mux-ltc4306. 57dbed8a80SMichael Hennerich 58ae63b13bSGuenter Roeckconfig I2C_MUX_PCA9541 59ae63b13bSGuenter Roeck tristate "NXP PCA9541 I2C Master Selector" 60ae63b13bSGuenter Roeck help 61ae63b13bSGuenter Roeck If you say yes here you get support for the NXP PCA9541 62ae63b13bSGuenter Roeck I2C Master Selector. 63ae63b13bSGuenter Roeck 64ae63b13bSGuenter Roeck This driver can also be built as a module. If so, the module 65b4f0b74eSWolfram Sang will be called i2c-mux-pca9541. 66ae63b13bSGuenter Roeck 677f528135SMichael Lawnickconfig I2C_MUX_PCA954x 68*81694437SPatrick Rudolph tristate "NXP PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches" 697e5cd69aSGeert Uytterhoeven depends on GPIOLIB || COMPILE_TEST 707f528135SMichael Lawnick help 71*81694437SPatrick Rudolph If you say yes here you get support for NXP PCA954x/PCA984x 72*81694437SPatrick Rudolph and Maxim MAX735x/MAX736x I2C mux/switch devices. 737f528135SMichael Lawnick 747f528135SMichael Lawnick This driver can also be built as a module. If so, the module 75b4f0b74eSWolfram Sang will be called i2c-mux-pca954x. 767f528135SMichael Lawnick 77ae58d1e4SStephen Warrenconfig I2C_MUX_PINCTRL 78ae58d1e4SStephen Warren tristate "pinctrl-based I2C multiplexer" 79ae58d1e4SStephen Warren depends on PINCTRL 80874765c9SJean Delvare depends on OF 81ae58d1e4SStephen Warren help 82ae58d1e4SStephen Warren If you say yes to this option, support will be included for an I2C 83ae58d1e4SStephen Warren multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. 84ae58d1e4SStephen Warren This is useful for SoCs whose I2C module's signals can be routed to 85ae58d1e4SStephen Warren different sets of pins at run-time. 86ae58d1e4SStephen Warren 87ae58d1e4SStephen Warren This driver can also be built as a module. If so, the module will be 88d1510a2eSChris Gorman called i2c-mux-pinctrl. 89ae58d1e4SStephen Warren 90b3fdd327SYork Sunconfig I2C_MUX_REG 91b3fdd327SYork Sun tristate "Register-based I2C multiplexer" 9293d710a6SLinus Walleij depends on HAS_IOMEM 93b3fdd327SYork Sun help 94b3fdd327SYork Sun If you say yes to this option, support will be included for a 95b3fdd327SYork Sun register based I2C multiplexer. This driver provides access to 96b3fdd327SYork Sun I2C busses connected through a MUX, which is controlled 97b3fdd327SYork Sun by a single register. 98b3fdd327SYork Sun 99b3fdd327SYork Sun This driver can also be built as a module. If so, the module 100b3fdd327SYork Sun will be called i2c-mux-reg. 101b3fdd327SYork Sun 10250a5ba87SWolfram Sangconfig I2C_DEMUX_PINCTRL 10350a5ba87SWolfram Sang tristate "pinctrl-based I2C demultiplexer" 10450a5ba87SWolfram Sang depends on PINCTRL && OF 10550a5ba87SWolfram Sang select OF_DYNAMIC 10650a5ba87SWolfram Sang help 10750a5ba87SWolfram Sang If you say yes to this option, support will be included for an I2C 10850a5ba87SWolfram Sang demultiplexer that uses the pinctrl subsystem. This is useful if you 10950a5ba87SWolfram Sang want to change the I2C master at run-time depending on features. 11050a5ba87SWolfram Sang 111c02b7bf5SVadim Pasternakconfig I2C_MUX_MLXCPLD 112c02b7bf5SVadim Pasternak tristate "Mellanox CPLD based I2C multiplexer" 113c02b7bf5SVadim Pasternak help 114c02b7bf5SVadim Pasternak If you say yes to this option, support will be included for a 115c02b7bf5SVadim Pasternak CPLD based I2C multiplexer. This driver provides access to 116c02b7bf5SVadim Pasternak I2C busses connected through a MUX, which is controlled 117c02b7bf5SVadim Pasternak by a CPLD register. 118c02b7bf5SVadim Pasternak 119c02b7bf5SVadim Pasternak This driver can also be built as a module. If so, the module 120c02b7bf5SVadim Pasternak will be called i2c-mux-mlxcpld. 121c02b7bf5SVadim Pasternak 1227f528135SMichael Lawnickendmenu 123