On Tue, May 10, 2011 at 11:00 PM, Mitch Bradley <[email protected]> wrote:
> I don't know much about how Linux handles i2c hierarchies, but I can speak 
> with some authority about how it the device tree "should" be structured in 
> order to conform to the principles already established for other buses.
>
> Note that *each* pca9547 results in a subtree of the form:
[...]
> I understand the temptation to collapse the hierarchy by combining the mux 
> node with its subordinate buses (using 2 address cells), but in my 
> experience, shortcuts like that have not aged well.

... and we should defer to your wisdom in this regard.  :-)

>  The case where a single-level hierarchy would work would be a simple 
> i2c-to-i2c bridge with only one child bus.  In this case, the existence of 
> multiple independent child buses argues for the two-level hierarchy, 
> satisfying the following requirements:
>
> a) From the standpoint of a parent bus "looking down" at a pca9547, the 
> pca9547 appears to be a single device at a well-defined address.
>
> b) From the standpoint of a child device "looking up" at a pca9547, that 
> child is attached to a specific I2C bus with a standard one-cell I2C address 
> space.
>
> Again, though, I'm unsure that this "correct" hierarchy is compatible with 
> the expectations of Linux drivers.

Since Linux doesn't do any of this yet; I think we can make sure Linux
implements something sane.

g.
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to