linux_old1/drivers/i2c/muxes
Vadim Pasternak c02b7bf532 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>
2016-11-17 23:19:00 +01:00
..
Kconfig i2c: mux: mellanox: add driver 2016-11-17 23:19:00 +01:00
Makefile i2c: mux: mellanox: add driver 2016-11-17 23:19:00 +01:00
i2c-arb-gpio-challenge.c i2c: mux: inform the i2c mux core about how it is used 2016-08-25 22:11:03 +02:00
i2c-demux-pinctrl.c i2c: mux: demux-pinctrl: run properly with multiple instances 2016-09-08 16:56:21 +02:00
i2c-mux-gpio.c i2c: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02:00
i2c-mux-mlxcpld.c i2c: mux: mellanox: add driver 2016-11-17 23:19:00 +01:00
i2c-mux-pca954x.c Merge branch 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-10-07 14:12:21 -07:00
i2c-mux-pca9541.c i2c: pca9541: add device tree binding 2016-08-25 22:11:03 +02:00
i2c-mux-pinctrl.c i2c: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02:00
i2c-mux-reg.c i2c: mux: reg: wrong condition checked for of_address_to_resource return value 2016-07-06 00:33:49 +09:00