aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/muxes/Kconfig
diff options
context:
space:
mode:
authorVadim Pasternak <vadimp@mellanox.com>2016-11-10 21:26:23 +0000
committerWolfram Sang <wsa@the-dreams.de>2016-11-17 23:19:00 +0100
commitc02b7bf532f7e46f1f9a0e9c3c27ca3f6f134e8d (patch)
tree816c6a097f3d839d3b6656a9963b5df59bfb7cf8 /drivers/i2c/muxes/Kconfig
parentmfd: 88pm860x: Move over to new I2C device .probe() call (diff)
downloadlinux-dev-c02b7bf532f7e46f1f9a0e9c3c27ca3f6f134e8d.tar.xz
linux-dev-c02b7bf532f7e46f1f9a0e9c3c27ca3f6f134e8d.zip
i2c: mux: mellanox: add driver
This driver allows I2C routing controlled through CPLD select registers on a wide range of Mellanox systems (CPLD Lattice device). MUX selection is provided by digital and analog HW. Analog part is not under SW control. Digital part is under CPLD control (channel selection/de-selection). Connectivity schema. .---. .-------------. | l | | |-- i2cx1 -- i2cx8 | i |-- i2cn --+--| mlxcpld mux | | n | | | |-- i2cy1 -- i2cy8 | u | | '-------------' | x | | | '---' '---------' i2c-mux-mlxpcld does not necessarily require i2c-mlxcpld. It can be used along with another bus driver, and still control i2c routing through CPLD mux selection, in case the system is equipped with CPLD capable of mux selection control. The Kconfig currently controlling compilation of this code is: drivers/i2c/muxes/Kconfig:config I2C_MUX_MLXCPLD Signed-off-by: Michael Shych <michaelsh@mellanox.com> Signed-off-by: Vadim Pasternak <vadimp@mellanox.com> Reviewed-by: Jiri Pirko <jiri@mellanox.com> Acked-by: Peter Rosin <peda@axentia.se> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c/muxes/Kconfig')
-rw-r--r--drivers/i2c/muxes/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index e280c8ecc0b5..d03340203615 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -81,4 +81,15 @@ config I2C_DEMUX_PINCTRL
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