• V
    i2c: mux: mellanox: add driver · c02b7bf5
    Vadim Pasternak 提交于
    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: NMichael Shych <michaelsh@mellanox.com>
    Signed-off-by: NVadim Pasternak <vadimp@mellanox.com>
    Reviewed-by: NJiri Pirko <jiri@mellanox.com>
    Acked-by: NPeter Rosin <peda@axentia.se>
    Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
    c02b7bf5
Kconfig 3.0 KB