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
