i2c: Add generic I2C multiplexer using GPIO API
authorPeter Korsgaard <peter.korsgaard@barco.com>
Mon, 10 Jan 2011 21:11:23 +0000 (22:11 +0100)
committerJean Delvare <khali@endymion.delvare>
Mon, 10 Jan 2011 21:11:23 +0000 (22:11 +0100)
commit92ed1a76ca31774eb27de14b2215841367c68056
treef9becefa5dbcdaa8cfd65100e1735044cd3910d6
parentb18a5c80eb2e7e9c72d23f1960b09d78ddf7e5b0
i2c: Add generic I2C multiplexer using GPIO API

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: Peter Korsgaard <peter.korsgaard@barco.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Documentation/i2c/muxes/gpio-i2cmux [new file with mode: 0644]
MAINTAINERS
drivers/i2c/muxes/Kconfig
drivers/i2c/muxes/Makefile
drivers/i2c/muxes/gpio-i2cmux.c [new file with mode: 0644]
include/linux/gpio-i2cmux.h [new file with mode: 0644]