[PATCH 2/2] i2c: Add generic I2C multiplexer using pinctrl API

Linus Walleij linus.walleij at linaro.org
Wed Apr 18 05:50:02 EST 2012


On Tue, Apr 17, 2012 at 8:49 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:

> 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 at nvidia.com>

I remember you told me about this thing, it's really fascinating!
Acked-by: Linus Walleij <linus.walleij at linaro.org>

> Note: This patch depends on the latest pinctrl tree. In order to merge
> this series into the I2C tree, you'll need to merge the pinctrl tree
> into it first. However, the pinctrl tree doesn't yet have a stable tag/branch
> that you can merge, so this patch can't actually be committed yet.

I'll create a tag once I have the devm* stuff in place (it's so
good we just have to have it).

BTW another way is to have this ACK:ed by Jean/Dooks/Wolfram
and I just put it in the pinctrl tree, unless there is something
radical happening in the mux part of the I2C tree this merge
window?

Yours,
Linus Walleij


More information about the devicetree-discuss mailing list