diff options
author | Vadim Pasternak <vadimp@mellanox.com> | 2016-11-10 22:26:23 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-11-17 23:19:00 +0100 |
commit | c02b7bf532f7e46f1f9a0e9c3c27ca3f6f134e8d (patch) | |
tree | 816c6a097f3d839d3b6656a9963b5df59bfb7cf8 /drivers/i2c/muxes/Kconfig | |
parent | mfd: 88pm860x: Move over to new I2C device .probe() call (diff) | |
download | linux-c02b7bf532f7e46f1f9a0e9c3c27ca3f6f134e8d.tar.xz linux-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/Kconfig | 11 |
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 |