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