drivers/i2c/muxes/Kconfig

Source file repositories/reference/linux-study-clean/drivers/i2c/muxes/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/i2c/muxes/Kconfig
Extension
[no extension]
Size
4593 bytes
Lines
139
Domain
Driver Families
Bucket
drivers/i2c
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
#
# Multiplexer I2C chip drivers configuration
#

menu "Multiplexer I2C Chip support"
	depends on I2C_MUX

config I2C_ARB_GPIO_CHALLENGE
	tristate "GPIO-based I2C arbitration"
	depends on GPIOLIB || COMPILE_TEST
	depends on OF
	help
	  If you say yes to this option, support will be included for an
	  I2C multimaster arbitration scheme using GPIOs and a challenge &
	  response mechanism where masters have to claim the bus by asserting
	  a GPIO.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-arb-gpio-challenge.

config I2C_MUX_GPIO
	tristate "GPIO-based I2C multiplexer"
	depends on GPIOLIB
	help
	  If you say yes to this option, support will be included for a
	  GPIO based I2C multiplexer. This driver provides access to
	  I2C busses connected through a MUX, which is controlled
	  through GPIO pins.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-mux-gpio.

config I2C_MUX_GPMUX
	tristate "General Purpose I2C multiplexer"
	select MULTIPLEXER
	depends on OF
	help
	  If you say yes to this option, support will be included for a
	  general purpose I2C multiplexer. This driver provides access to
	  I2C busses connected through a MUX, which in turn is controlled
	  by a MUX-controller from the MUX subsystem.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-mux-gpmux.

config I2C_MUX_LTC4306
	tristate "LTC LTC4306/5 I2C multiplexer"
	select GPIOLIB
	select REGMAP_I2C
	help
	  If you say yes here you get support for the Analog Devices
	  LTC4306 or LTC4305 I2C mux/switch devices.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-mux-ltc4306.

config I2C_MUX_PCA9541
	tristate "NXP PCA9541 I2C Master Selector"
	help
	  If you say yes here you get support for the NXP PCA9541
	  I2C Master Selector.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-mux-pca9541.

config I2C_MUX_PCA954x
	tristate "NXP PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches"
	depends on GPIOLIB || COMPILE_TEST
	help

Annotation

Implementation Notes