139 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# Multiplexer I2C chip drivers configuration4#5 6menu "Multiplexer I2C Chip support"7 depends on I2C_MUX8 9config I2C_ARB_GPIO_CHALLENGE10 tristate "GPIO-based I2C arbitration"11 depends on GPIOLIB || COMPILE_TEST12 depends on OF13 help14 If you say yes to this option, support will be included for an15 I2C multimaster arbitration scheme using GPIOs and a challenge &16 response mechanism where masters have to claim the bus by asserting17 a GPIO.18 19 This driver can also be built as a module. If so, the module20 will be called i2c-arb-gpio-challenge.21 22config I2C_MUX_GPIO23 tristate "GPIO-based I2C multiplexer"24 depends on GPIOLIB25 help26 If you say yes to this option, support will be included for a27 GPIO based I2C multiplexer. This driver provides access to28 I2C busses connected through a MUX, which is controlled29 through GPIO pins.30 31 This driver can also be built as a module. If so, the module32 will be called i2c-mux-gpio.33 34config I2C_MUX_GPMUX35 tristate "General Purpose I2C multiplexer"36 select MULTIPLEXER37 depends on OF38 help39 If you say yes to this option, support will be included for a40 general purpose I2C multiplexer. This driver provides access to41 I2C busses connected through a MUX, which in turn is controlled42 by a MUX-controller from the MUX subsystem.43 44 This driver can also be built as a module. If so, the module45 will be called i2c-mux-gpmux.46 47config I2C_MUX_LTC430648 tristate "LTC LTC4306/5 I2C multiplexer"49 select GPIOLIB50 select REGMAP_I2C51 help52 If you say yes here you get support for the Analog Devices53 LTC4306 or LTC4305 I2C mux/switch devices.54 55 This driver can also be built as a module. If so, the module56 will be called i2c-mux-ltc4306.57 58config I2C_MUX_PCA954159 tristate "NXP PCA9541 I2C Master Selector"60 help61 If you say yes here you get support for the NXP PCA954162 I2C Master Selector.63 64 This driver can also be built as a module. If so, the module65 will be called i2c-mux-pca9541.66 67config I2C_MUX_PCA954x68 tristate "NXP PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches"69 depends on GPIOLIB || COMPILE_TEST70 help71 If you say yes here you get support for NXP PCA954x/PCA984x72 and Maxim MAX735x/MAX736x I2C mux/switch devices.73 74 This driver can also be built as a module. If so, the module75 will be called i2c-mux-pca954x.76 77config I2C_MUX_PINCTRL78 tristate "pinctrl-based I2C multiplexer"79 depends on PINCTRL80 depends on OF81 help82 If you say yes to this option, support will be included for an I2C83 multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.84 This is useful for SoCs whose I2C module's signals can be routed to85 different sets of pins at run-time.86 87 This driver can also be built as a module. If so, the module will be88 called i2c-mux-pinctrl.89 90config I2C_MUX_REG91 tristate "Register-based I2C multiplexer"92 depends on HAS_IOMEM93 help94 If you say yes to this option, support will be included for a95 register based I2C multiplexer. This driver provides access to96 I2C busses connected through a MUX, which is controlled97 by a single register.98 99 This driver can also be built as a module. If so, the module100 will be called i2c-mux-reg.101 102config I2C_DEMUX_PINCTRL103 tristate "pinctrl-based I2C demultiplexer"104 depends on PINCTRL && OF105 select OF_DYNAMIC106 help107 If you say yes to this option, support will be included for an I2C108 demultiplexer that uses the pinctrl subsystem. This is useful if you109 want to change the I2C master at run-time depending on features.110 111config I2C_MUX_MLXCPLD112 tristate "Mellanox CPLD based I2C multiplexer"113 help114 If you say yes to this option, support will be included for a115 CPLD based I2C multiplexer. This driver provides access to116 I2C busses connected through a MUX, which is controlled117 by a CPLD register.118 119 This driver can also be built as a module. If so, the module120 will be called i2c-mux-mlxcpld.121 122config I2C_MUX_MULE123 tristate "Theobroma Systems Mule I2C device multiplexer"124 depends on OF && SENSORS_AMC6821125 help126 Mule is an MCU that emulates a set of I2C devices, among which127 devices that are reachable through an I2C-mux. The devices on the mux128 can be selected by writing the appropriate device number to an I2C129 configuration register.130 131 If you say yes to this option, support will be included for a132 Theobroma Systems Mule I2C multiplexer. This driver provides access to133 I2C devices connected on this mux.134 135 This driver can also be built as a module. If so, the module136 will be called i2c-mux-mule.137 138endmenu139