Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Multiplexer I2C chip drivers configuration
0004 #
0005 
0006 menu "Multiplexer I2C Chip support"
0007         depends on I2C_MUX
0008 
0009 config I2C_ARB_GPIO_CHALLENGE
0010         tristate "GPIO-based I2C arbitration"
0011         depends on GPIOLIB || COMPILE_TEST
0012         depends on OF || COMPILE_TEST
0013         help
0014           If you say yes to this option, support will be included for an
0015           I2C multimaster arbitration scheme using GPIOs and a challenge &
0016           response mechanism where masters have to claim the bus by asserting
0017           a GPIO.
0018 
0019           This driver can also be built as a module.  If so, the module
0020           will be called i2c-arb-gpio-challenge.
0021 
0022 config I2C_MUX_GPIO
0023         tristate "GPIO-based I2C multiplexer"
0024         depends on GPIOLIB
0025         help
0026           If you say yes to this option, support will be included for a
0027           GPIO based I2C multiplexer. This driver provides access to
0028           I2C busses connected through a MUX, which is controlled
0029           through GPIO pins.
0030 
0031           This driver can also be built as a module.  If so, the module
0032           will be called i2c-mux-gpio.
0033 
0034 config I2C_MUX_GPMUX
0035         tristate "General Purpose I2C multiplexer"
0036         select MULTIPLEXER
0037         depends on OF || COMPILE_TEST
0038         help
0039           If you say yes to this option, support will be included for a
0040           general purpose I2C multiplexer. This driver provides access to
0041           I2C busses connected through a MUX, which in turn is controlled
0042           by a MUX-controller from the MUX subsystem.
0043 
0044           This driver can also be built as a module.  If so, the module
0045           will be called i2c-mux-gpmux.
0046 
0047 config I2C_MUX_LTC4306
0048         tristate "LTC LTC4306/5 I2C multiplexer"
0049         select GPIOLIB
0050         select REGMAP_I2C
0051         help
0052           If you say yes here you get support for the Analog Devices
0053           LTC4306 or LTC4305 I2C mux/switch devices.
0054 
0055           This driver can also be built as a module.  If so, the module
0056           will be called i2c-mux-ltc4306.
0057 
0058 config I2C_MUX_PCA9541
0059         tristate "NXP PCA9541 I2C Master Selector"
0060         help
0061           If you say yes here you get support for the NXP PCA9541
0062           I2C Master Selector.
0063 
0064           This driver can also be built as a module.  If so, the module
0065           will be called i2c-mux-pca9541.
0066 
0067 config I2C_MUX_PCA954x
0068         tristate "NXP PCA954x and PCA984x I2C Mux/switches"
0069         depends on GPIOLIB || COMPILE_TEST
0070         help
0071           If you say yes here you get support for the NXP PCA954x
0072           and PCA984x I2C mux/switch devices.
0073 
0074           This driver can also be built as a module.  If so, the module
0075           will be called i2c-mux-pca954x.
0076 
0077 config I2C_MUX_PINCTRL
0078         tristate "pinctrl-based I2C multiplexer"
0079         depends on PINCTRL
0080         depends on OF || COMPILE_TEST
0081         help
0082           If you say yes to this option, support will be included for an I2C
0083           multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.
0084           This is useful for SoCs whose I2C module's signals can be routed to
0085           different sets of pins at run-time.
0086 
0087           This driver can also be built as a module. If so, the module will be
0088           called i2c-mux-pinctrl.
0089 
0090 config I2C_MUX_REG
0091         tristate "Register-based I2C multiplexer"
0092         depends on HAS_IOMEM
0093         help
0094           If you say yes to this option, support will be included for a
0095           register based I2C multiplexer. This driver provides access to
0096           I2C busses connected through a MUX, which is controlled
0097           by a single register.
0098 
0099           This driver can also be built as a module.  If so, the module
0100           will be called i2c-mux-reg.
0101 
0102 config I2C_DEMUX_PINCTRL
0103         tristate "pinctrl-based I2C demultiplexer"
0104         depends on PINCTRL && OF
0105         select OF_DYNAMIC
0106         help
0107           If you say yes to this option, support will be included for an I2C
0108           demultiplexer that uses the pinctrl subsystem. This is useful if you
0109           want to change the I2C master at run-time depending on features.
0110 
0111 config I2C_MUX_MLXCPLD
0112         tristate "Mellanox CPLD based I2C multiplexer"
0113         help
0114           If you say yes to this option, support will be included for a
0115           CPLD based I2C multiplexer. This driver provides access to
0116           I2C busses connected through a MUX, which is controlled
0117           by a CPLD register.
0118 
0119           This driver can also be built as a module.  If so, the module
0120           will be called i2c-mux-mlxcpld.
0121 
0122 endmenu