blob: 0f5c8fc36625b1789e9e03fbe4fe4a8b1b337a92 [file] [log] [blame]
Michael Lawnick7f528132010-08-11 18:21:03 +02001#
2# Multiplexer I2C chip drivers configuration
3#
4
5menu "Multiplexer I2C Chip support"
6 depends on I2C_MUX
7
Doug Andersonb81dfaa2013-04-16 06:29:00 +00008config I2C_ARB_GPIO_CHALLENGE
9 tristate "GPIO-based I2C arbitration"
Geert Uytterhoeven7e5cd692015-05-05 18:32:22 +020010 depends on GPIOLIB || COMPILE_TEST
Peter Rosinfabf08a2017-08-01 15:16:21 +020011 depends on OF || COMPILE_TEST
Doug Andersonb81dfaa2013-04-16 06:29:00 +000012 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
Peter Korsgaard92ed1a72011-01-10 22:11:23 +010021config I2C_MUX_GPIO
22 tristate "GPIO-based I2C multiplexer"
Alexandre Courbot76ec9d12013-03-28 04:34:56 -070023 depends on GPIOLIB
Peter Korsgaard92ed1a72011-01-10 22:11:23 +010024 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
Jean Delvaree7065e22012-04-28 15:32:06 +020031 will be called i2c-mux-gpio.
Peter Korsgaard92ed1a72011-01-10 22:11:23 +010032
Peter Rosinac8498f2017-05-14 21:51:12 +020033config I2C_MUX_GPMUX
34 tristate "General Purpose I2C multiplexer"
35 select MULTIPLEXER
36 depends on OF || COMPILE_TEST
37 help
38 If you say yes to this option, support will be included for a
39 general purpose I2C multiplexer. This driver provides access to
40 I2C busses connected through a MUX, which in turn is controlled
41 by a MUX-controller from the MUX subsystem.
42
43 This driver can also be built as a module. If so, the module
44 will be called i2c-mux-gpmux.
45
Michael Hennerichdbed8a82017-04-11 14:16:16 +020046config I2C_MUX_LTC4306
47 tristate "LTC LTC4306/5 I2C multiplexer"
48 select GPIOLIB
49 select REGMAP_I2C
50 help
51 If you say yes here you get support for the Analog Devices
52 LTC4306 or LTC4305 I2C mux/switch devices.
53
54 This driver can also be built as a module. If so, the module
55 will be called i2c-mux-ltc4306.
56
Guenter Roeckae63b132010-10-24 18:16:58 +020057config I2C_MUX_PCA9541
58 tristate "NXP PCA9541 I2C Master Selector"
Guenter Roeckae63b132010-10-24 18:16:58 +020059 help
60 If you say yes here you get support for the NXP PCA9541
61 I2C Master Selector.
62
63 This driver can also be built as a module. If so, the module
Wolfram Sangb4f0b742012-04-25 22:29:43 +020064 will be called i2c-mux-pca9541.
Guenter Roeckae63b132010-10-24 18:16:58 +020065
Michael Lawnick7f528132010-08-11 18:21:03 +020066config I2C_MUX_PCA954x
67 tristate "Philips PCA954x I2C Mux/switches"
Geert Uytterhoeven7e5cd692015-05-05 18:32:22 +020068 depends on GPIOLIB || COMPILE_TEST
Michael Lawnick7f528132010-08-11 18:21:03 +020069 help
70 If you say yes here you get support for the Philips PCA954x
71 I2C mux/switch devices.
72
73 This driver can also be built as a module. If so, the module
Wolfram Sangb4f0b742012-04-25 22:29:43 +020074 will be called i2c-mux-pca954x.
Michael Lawnick7f528132010-08-11 18:21:03 +020075
Stephen Warrenae58d1e2012-05-18 09:29:34 -060076config I2C_MUX_PINCTRL
77 tristate "pinctrl-based I2C multiplexer"
78 depends on PINCTRL
Peter Rosinc4aee3e2017-05-21 18:48:07 +020079 depends on OF || COMPILE_TEST
Stephen Warrenae58d1e2012-05-18 09:29:34 -060080 help
81 If you say yes to this option, support will be included for an I2C
82 multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing.
83 This is useful for SoCs whose I2C module's signals can be routed to
84 different sets of pins at run-time.
85
86 This driver can also be built as a module. If so, the module will be
Chris Gormand1510a22017-07-12 13:31:26 -040087 called i2c-mux-pinctrl.
Stephen Warrenae58d1e2012-05-18 09:29:34 -060088
York Sunb3fdd322015-08-17 11:53:48 -070089config I2C_MUX_REG
90 tristate "Register-based I2C multiplexer"
Linus Walleij93d710a2016-11-14 15:34:17 +010091 depends on HAS_IOMEM
York Sunb3fdd322015-08-17 11:53:48 -070092 help
93 If you say yes to this option, support will be included for a
94 register based I2C multiplexer. This driver provides access to
95 I2C busses connected through a MUX, which is controlled
96 by a single register.
97
98 This driver can also be built as a module. If so, the module
99 will be called i2c-mux-reg.
100
Wolfram Sang50a5ba82016-01-13 15:29:27 +0100101config I2C_DEMUX_PINCTRL
102 tristate "pinctrl-based I2C demultiplexer"
103 depends on PINCTRL && OF
104 select OF_DYNAMIC
105 help
106 If you say yes to this option, support will be included for an I2C
107 demultiplexer that uses the pinctrl subsystem. This is useful if you
108 want to change the I2C master at run-time depending on features.
109
Vadim Pasternakc02b7bf2016-11-10 21:26:23 +0000110config I2C_MUX_MLXCPLD
111 tristate "Mellanox CPLD based I2C multiplexer"
112 help
113 If you say yes to this option, support will be included for a
114 CPLD based I2C multiplexer. This driver provides access to
115 I2C busses connected through a MUX, which is controlled
116 by a CPLD register.
117
118 This driver can also be built as a module. If so, the module
119 will be called i2c-mux-mlxcpld.
120
Michael Lawnick7f528132010-08-11 18:21:03 +0200121endmenu