• Jean Delvare's avatar
    i2c-i801: Support SMBus multiplexing on Asus Z8 series · 3ad7ea18
    Jean Delvare authored
    Add support for SMBus multiplexing on Asus Z8 motherboard series. On
    these boards, the memory slots are behind a GPIO-controlled I2C
    multiplexer. Models with 6 or 12 memory slots have 2 segments behind
    the multiplexer, while models with 18 memory slots have 3 such
    segments.
    
    On these boards, only the memory slots are behind the multiplexer,
    so it is possible to keep the autodetection mechanism.
    
    The code is generic enough so it could work on other boards as long as
    the multiplexer is controlled by GPIO pins. For other forms of
    multiplexing (for example using an I2C device) additional code will be
    needed.
    
    Thanks to Asus for providing a board to develop and test this feature,
    as well as all the technical information required.
    
    At the moment, the GPIO driver must be loaded before the i2c-i801
    driver, but I hope to solve this soon, using deferred probing on
    the i2c-mux-gpio side.
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    3ad7ea18
i2c-i801.c 38.1 KB