2 # Multiplexer I2C chip drivers configuration
5 menu "Multiplexer I2C Chip support"
8 config I2C_ARB_GPIO_CHALLENGE
9 tristate "GPIO-based I2C arbitration"
10 depends on GPIOLIB || COMPILE_TEST
11 depends on OF || COMPILE_TEST
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
18 This driver can also be built as a module. If so, the module
19 will be called i2c-arb-gpio-challenge.
22 tristate "GPIO-based I2C multiplexer"
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
30 This driver can also be built as a module. If so, the module
31 will be called i2c-mux-gpio.
34 tristate "General Purpose I2C multiplexer"
36 depends on OF || COMPILE_TEST
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.
43 This driver can also be built as a module. If so, the module
44 will be called i2c-mux-gpmux.
46 config I2C_MUX_LTC4306
47 tristate "LTC LTC4306/5 I2C multiplexer"
51 If you say yes here you get support for the Analog Devices
52 LTC4306 or LTC4305 I2C mux/switch devices.
54 This driver can also be built as a module. If so, the module
55 will be called i2c-mux-ltc4306.
57 config I2C_MUX_PCA9541
58 tristate "NXP PCA9541 I2C Master Selector"
60 If you say yes here you get support for the NXP PCA9541
63 This driver can also be built as a module. If so, the module
64 will be called i2c-mux-pca9541.
66 config I2C_MUX_PCA954x
67 tristate "NXP PCA954x and PCA984x I2C Mux/switches"
68 depends on GPIOLIB || COMPILE_TEST
70 If you say yes here you get support for the NXP PCA954x
71 and PCA984x I2C mux/switch devices.
73 This driver can also be built as a module. If so, the module
74 will be called i2c-mux-pca954x.
76 config I2C_MUX_PINCTRL
77 tristate "pinctrl-based I2C multiplexer"
79 depends on OF || COMPILE_TEST
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.
86 This driver can also be built as a module. If so, the module will be
87 called i2c-mux-pinctrl.
90 tristate "Register-based I2C multiplexer"
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
98 This driver can also be built as a module. If so, the module
99 will be called i2c-mux-reg.
101 config I2C_DEMUX_PINCTRL
102 tristate "pinctrl-based I2C demultiplexer"
103 depends on PINCTRL && OF
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.
110 config I2C_MUX_MLXCPLD
111 tristate "Mellanox CPLD based I2C multiplexer"
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
118 This driver can also be built as a module. If so, the module
119 will be called i2c-mux-mlxcpld.