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 || COMPILE_TEST 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_GPMUX 34 tristate "General Purpose I2C multiplexer" 35 select MULTIPLEXER 36 depends on OF || COMPILE_TEST 37 help 38 If you say yes to this option, support will be included for a 39 general purpose I2C multiplexer. This driver provides access to 40 I2C busses connected through a MUX, which in turn is controlled 41 by a MUX-controller from the MUX subsystem. 42 43 This driver can also be built as a module. If so, the module 44 will be called i2c-mux-gpmux. 45 46config I2C_MUX_LTC4306 47 tristate "LTC LTC4306/5 I2C multiplexer" 48 select GPIOLIB 49 select REGMAP_I2C 50 help 51 If you say yes here you get support for the Analog Devices 52 LTC4306 or LTC4305 I2C mux/switch devices. 53 54 This driver can also be built as a module. If so, the module 55 will be called i2c-mux-ltc4306. 56 57config I2C_MUX_PCA9541 58 tristate "NXP PCA9541 I2C Master Selector" 59 help 60 If you say yes here you get support for the NXP PCA9541 61 I2C Master Selector. 62 63 This driver can also be built as a module. If so, the module 64 will be called i2c-mux-pca9541. 65 66config I2C_MUX_PCA954x 67 tristate "NXP PCA954x and PCA984x I2C Mux/switches" 68 depends on GPIOLIB || COMPILE_TEST 69 help 70 If you say yes here you get support for the NXP PCA954x 71 and PCA984x I2C mux/switch devices. 72 73 This driver can also be built as a module. If so, the module 74 will be called i2c-mux-pca954x. 75 76config I2C_MUX_PINCTRL 77 tristate "pinctrl-based I2C multiplexer" 78 depends on PINCTRL 79 depends on OF || COMPILE_TEST 80 help 81 If you say yes to this option, support will be included for an I2C 82 multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. 83 This is useful for SoCs whose I2C module's signals can be routed to 84 different sets of pins at run-time. 85 86 This driver can also be built as a module. If so, the module will be 87 called i2c-mux-pinctrl. 88 89config I2C_MUX_REG 90 tristate "Register-based I2C multiplexer" 91 depends on HAS_IOMEM 92 help 93 If you say yes to this option, support will be included for a 94 register based I2C multiplexer. This driver provides access to 95 I2C busses connected through a MUX, which is controlled 96 by a single register. 97 98 This driver can also be built as a module. If so, the module 99 will be called i2c-mux-reg. 100 101config I2C_DEMUX_PINCTRL 102 tristate "pinctrl-based I2C demultiplexer" 103 depends on PINCTRL && OF 104 select OF_DYNAMIC 105 help 106 If you say yes to this option, support will be included for an I2C 107 demultiplexer that uses the pinctrl subsystem. This is useful if you 108 want to change the I2C master at run-time depending on features. 109 110config I2C_MUX_MLXCPLD 111 tristate "Mellanox CPLD based I2C multiplexer" 112 help 113 If you say yes to this option, support will be included for a 114 CPLD based I2C multiplexer. This driver provides access to 115 I2C busses connected through a MUX, which is controlled 116 by a CPLD register. 117 118 This driver can also be built as a module. If so, the module 119 will be called i2c-mux-mlxcpld. 120 121endmenu 122