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