Re: [RFC v2 2/4] dt-bindings: i2c: mux: demux-pinctrl: add bindings

From: Geert Uytterhoeven
Date: Mon Jan 11 2016 - 03:01:22 EST

Hi Rob,

On Mon, Jan 11, 2016 at 3:52 AM, Rob Herring <robh@xxxxxxxxxx> wrote:
> On Wed, Jan 06, 2016 at 02:51:23PM +0100, Wolfram Sang wrote:
>> From: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
>> These bindings allow an I2C bus to switch between multiple masters. This
>> is not hot-swichting because connected I2C slaves will be
> s/swichting/switching/
>> re-instantiated. It is meant to select the best I2C core at runtime once
>> the task is known. Example: Prefer i2c-gpio over another I2C core
>> because of HW errata affetcing your use case.
> This seems okay to me. I don't like not having the i2c devices under the
> i2c controller, but not really much we can do about that.
> I have another usecase which might end up needing a similar structure
> as this. That is the whole question of how to deal with capes, hats,
> shields and various daughterboards. For I2C devices on a daughterboard,
> we need to be able to have a DT overlay for the daughterboard described
> in terms of the connector(s) and independent of the host. Then the
> base DT needs to define the mapping from the connector to the host

Indeed. Currently an i2c bus is described in DT as tied to an i2c controller,
while physically it's tied to a bunch of pins. Tying the bus to a controller
is done through pinctrl.

> controller. A complicating factor would be having devices on the same
> bus but split across the main and daughter boards. I don't see anything
> specific to change here, but just want to throw that out.

Can't the daughter board DTS just add more child devices to the mainboard bus?



Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds