Loading...
1#
2# Multiplexer I2C chip drivers configuration
3#
4
5menu "Multiplexer I2C Chip support"
6 depends on I2C_MUX
7
8config I2C_ARB_GPIO_CHALLENGE
9 tristate "GPIO-based I2C arbitration"
10 depends on GPIOLIB || COMPILE_TEST
11 depends on OF
12 help
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
16 a GPIO.
17
18 This driver can also be built as a module. If so, the module
19 will be called i2c-arb-gpio-challenge.
20
21config I2C_MUX_GPIO
22 tristate "GPIO-based I2C multiplexer"
23 depends on GPIOLIB
24 help
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
28 through GPIO pins.
29
30 This driver can also be built as a module. If so, the module
31 will be called i2c-mux-gpio.
32
33config I2C_MUX_PCA9541
34 tristate "NXP PCA9541 I2C Master Selector"
35 help
36 If you say yes here you get support for the NXP PCA9541
37 I2C Master Selector.
38
39 This driver can also be built as a module. If so, the module
40 will be called i2c-mux-pca9541.
41
42config I2C_MUX_PCA954x
43 tristate "Philips PCA954x I2C Mux/switches"
44 depends on GPIOLIB || COMPILE_TEST
45 help
46 If you say yes here you get support for the Philips PCA954x
47 I2C mux/switch devices.
48
49 This driver can also be built as a module. If so, the module
50 will be called i2c-mux-pca954x.
51
52config I2C_MUX_PINCTRL
53 tristate "pinctrl-based I2C multiplexer"
54 depends on PINCTRL
55 help
56 If you say yes to this option, support will be included for an I2C
57 multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.
58 This is useful for SoCs whose I2C module's signals can be routed to
59 different sets of pins at run-time.
60
61 This driver can also be built as a module. If so, the module will be
62 called pinctrl-i2cmux.
63
64config I2C_MUX_REG
65 tristate "Register-based I2C multiplexer"
66 help
67 If you say yes to this option, support will be included for a
68 register based I2C multiplexer. This driver provides access to
69 I2C busses connected through a MUX, which is controlled
70 by a single register.
71
72 This driver can also be built as a module. If so, the module
73 will be called i2c-mux-reg.
74
75config I2C_DEMUX_PINCTRL
76 tristate "pinctrl-based I2C demultiplexer"
77 depends on PINCTRL && OF
78 select OF_DYNAMIC
79 help
80 If you say yes to this option, support will be included for an I2C
81 demultiplexer that uses the pinctrl subsystem. This is useful if you
82 want to change the I2C master at run-time depending on features.
83
84endmenu
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Multiplexer I2C chip drivers configuration
4#
5
6menu "Multiplexer I2C Chip support"
7 depends on I2C_MUX
8
9config I2C_ARB_GPIO_CHALLENGE
10 tristate "GPIO-based I2C arbitration"
11 depends on GPIOLIB || COMPILE_TEST
12 depends on OF
13 help
14 If you say yes to this option, support will be included for an
15 I2C multimaster arbitration scheme using GPIOs and a challenge &
16 response mechanism where masters have to claim the bus by asserting
17 a GPIO.
18
19 This driver can also be built as a module. If so, the module
20 will be called i2c-arb-gpio-challenge.
21
22config I2C_MUX_GPIO
23 tristate "GPIO-based I2C multiplexer"
24 depends on GPIOLIB
25 help
26 If you say yes to this option, support will be included for a
27 GPIO based I2C multiplexer. This driver provides access to
28 I2C busses connected through a MUX, which is controlled
29 through GPIO pins.
30
31 This driver can also be built as a module. If so, the module
32 will be called i2c-mux-gpio.
33
34config I2C_MUX_GPMUX
35 tristate "General Purpose I2C multiplexer"
36 select MULTIPLEXER
37 depends on OF
38 help
39 If you say yes to this option, support will be included for a
40 general purpose I2C multiplexer. This driver provides access to
41 I2C busses connected through a MUX, which in turn is controlled
42 by a MUX-controller from the MUX subsystem.
43
44 This driver can also be built as a module. If so, the module
45 will be called i2c-mux-gpmux.
46
47config I2C_MUX_LTC4306
48 tristate "LTC LTC4306/5 I2C multiplexer"
49 select GPIOLIB
50 select REGMAP_I2C
51 help
52 If you say yes here you get support for the Analog Devices
53 LTC4306 or LTC4305 I2C mux/switch devices.
54
55 This driver can also be built as a module. If so, the module
56 will be called i2c-mux-ltc4306.
57
58config I2C_MUX_PCA9541
59 tristate "NXP PCA9541 I2C Master Selector"
60 help
61 If you say yes here you get support for the NXP PCA9541
62 I2C Master Selector.
63
64 This driver can also be built as a module. If so, the module
65 will be called i2c-mux-pca9541.
66
67config I2C_MUX_PCA954x
68 tristate "NXP PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C Mux/switches"
69 depends on GPIOLIB || COMPILE_TEST
70 help
71 If you say yes here you get support for NXP PCA954x/PCA984x
72 and Maxim MAX735x/MAX736x I2C mux/switch devices.
73
74 This driver can also be built as a module. If so, the module
75 will be called i2c-mux-pca954x.
76
77config I2C_MUX_PINCTRL
78 tristate "pinctrl-based I2C multiplexer"
79 depends on PINCTRL
80 depends on OF
81 help
82 If you say yes to this option, support will be included for an I2C
83 multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.
84 This is useful for SoCs whose I2C module's signals can be routed to
85 different sets of pins at run-time.
86
87 This driver can also be built as a module. If so, the module will be
88 called i2c-mux-pinctrl.
89
90config I2C_MUX_REG
91 tristate "Register-based I2C multiplexer"
92 depends on HAS_IOMEM
93 help
94 If you say yes to this option, support will be included for a
95 register based I2C multiplexer. This driver provides access to
96 I2C busses connected through a MUX, which is controlled
97 by a single register.
98
99 This driver can also be built as a module. If so, the module
100 will be called i2c-mux-reg.
101
102config I2C_DEMUX_PINCTRL
103 tristate "pinctrl-based I2C demultiplexer"
104 depends on PINCTRL && OF
105 select OF_DYNAMIC
106 help
107 If you say yes to this option, support will be included for an I2C
108 demultiplexer that uses the pinctrl subsystem. This is useful if you
109 want to change the I2C master at run-time depending on features.
110
111config I2C_MUX_MLXCPLD
112 tristate "Mellanox CPLD based I2C multiplexer"
113 help
114 If you say yes to this option, support will be included for a
115 CPLD based I2C multiplexer. This driver provides access to
116 I2C busses connected through a MUX, which is controlled
117 by a CPLD register.
118
119 This driver can also be built as a module. If so, the module
120 will be called i2c-mux-mlxcpld.
121
122config I2C_MUX_MULE
123 tristate "Theobroma Systems Mule I2C device multiplexer"
124 depends on OF && SENSORS_AMC6821
125 help
126 Mule is an MCU that emulates a set of I2C devices, among which
127 devices that are reachable through an I2C-mux. The devices on the mux
128 can be selected by writing the appropriate device number to an I2C
129 configuration register.
130
131 If you say yes to this option, support will be included for a
132 Theobroma Systems Mule I2C multiplexer. This driver provides access to
133 I2C devices connected on this mux.
134
135 This driver can also be built as a module. If so, the module
136 will be called i2c-mux-mule.
137
138endmenu