i2c: Add generic I2C multiplexer using pinctrl API
authorStephen Warren <swarren@nvidia.com>
Fri, 18 May 2012 15:29:34 +0000 (09:29 -0600)
committerWolfram Sang <w.sang@pengutronix.de>
Mon, 4 Jun 2012 14:49:43 +0000 (16:49 +0200)
commitae58d1e406986f31d1e88b32f5ac601506c196d8
tree85f8973189b8e7bab81bdc235eeb1fb48176bb9d
parentf8f5701bdaf9134b1f90e5044a82c66324d2073f
i2c: Add generic I2C multiplexer using pinctrl API

This is useful for SoCs whose I2C module's signals can be routed to
different sets of pins at run-time, using the pinctrl API.

                                 +-----+  +-----+
                                 | dev |  | dev |
    +------------------------+   +-----+  +-----+
    | SoC                    |      |        |
    |                   /----|------+--------+
    |   +---+   +------+     | child bus A, on first set of pins
    |   |I2C|---|Pinmux|     |
    |   +---+   +------+     | child bus B, on second set of pins
    |                   \----|------+--------+--------+
    |                        |      |        |        |
    +------------------------+  +-----+  +-----+  +-----+
                                | dev |  | dev |  | dev |
                                +-----+  +-----+  +-----+

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Documentation/devicetree/bindings/i2c/i2c-mux-pinctrl.txt [new file with mode: 0644]
drivers/i2c/muxes/Kconfig
drivers/i2c/muxes/Makefile
drivers/i2c/muxes/i2c-mux-pinctrl.c [new file with mode: 0644]
include/linux/i2c-mux-pinctrl.h [new file with mode: 0644]