• Peter Korsgaard's avatar
    i2c: Add generic I2C multiplexer using GPIO API · 92ed1a76
    Peter Korsgaard authored
    Add an i2c mux driver providing access to i2c bus segments using a
    hardware MUX sitting on a master bus and controlled through gpio pins.
    
    E.G. something like:
    
      ----------              ----------  Bus segment 1   - - - - -
     |          | SCL/SDA    |          |-------------- |           |
     |          |------------|          |
     |          |            |          | Bus segment 2 |           |
     |  Linux   | GPIO 1..N  |   MUX    |---------------   Devices
     |          |------------|          |               |           |
     |          |            |          | Bus segment M
     |          |            |          |---------------|           |
      ----------              ----------                  - - - - -
    
    SCL/SDA of the master I2C bus is multiplexed to bus segment 1..M
    according to the settings of the GPIO pins 1..N.
    Signed-off-by: default avatarPeter Korsgaard <peter.korsgaard@barco.com>
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    92ed1a76
gpio-i2cmux.c 3.98 KB