hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# 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 || COMPILE_TEST
   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 || COMPILE_TEST
   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 and PCA984x I2C Mux/switches"
   depends on GPIOLIB || COMPILE_TEST
   help
     If you say yes here you get support for the NXP PCA954x
     and PCA984x I2C mux/switch devices.
 
     This driver can also be built as a module.  If so, the module
     will be called i2c-mux-pca954x.
 
config I2C_MUX_PINCTRL
   tristate "pinctrl-based I2C multiplexer"
   depends on PINCTRL
   depends on OF || COMPILE_TEST
   help
     If you say yes to this option, support will be included for an I2C
     multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.
     This is useful for SoCs whose I2C module's signals can be routed to
     different sets of pins at run-time.
 
     This driver can also be built as a module. If so, the module will be
     called i2c-mux-pinctrl.
 
config I2C_MUX_REG
   tristate "Register-based I2C multiplexer"
   depends on HAS_IOMEM
   help
     If you say yes to this option, support will be included for a
     register based I2C multiplexer. This driver provides access to
     I2C busses connected through a MUX, which is controlled
     by a single register.
 
     This driver can also be built as a module.  If so, the module
     will be called i2c-mux-reg.
 
config I2C_DEMUX_PINCTRL
   tristate "pinctrl-based I2C demultiplexer"
   depends on PINCTRL && OF
   select OF_DYNAMIC
   help
     If you say yes to this option, support will be included for an I2C
     demultiplexer that uses the pinctrl subsystem. This is useful if you
     want to change the I2C master at run-time depending on features.
 
config I2C_MUX_MLXCPLD
   tristate "Mellanox CPLD based I2C multiplexer"
   help
     If you say yes to this option, support will be included for a
     CPLD based I2C multiplexer. This driver provides access to
     I2C busses connected through a MUX, which is controlled
     by a CPLD register.
 
     This driver can also be built as a module.  If so, the module
     will be called i2c-mux-mlxcpld.
 
endmenu