On 05/18/2012 03:09 PM, Timur Tabi wrote:
David Daney wrote:
I'm not sure what the "parent" MDIO bus node is supposed to represent.
Is that that device that actually controls the muxing hardware
No. It is the device that implements the master 802.3 clause {22,45}
MDIO Station Management (STA) protocol.
Ah, I think I get it. It is *the* MDIO node that would normally exist if
muxing we're necessary on the board. From the looks of it, that node
would look exactly the same if you didn't need muxing?
Yes. You may note in the DTS file I attached in the parent (sorry for
the fubar mime types), that there are two, almost identical, MDIO
masters. smi0 has two directly attached PHYs. smi1 goes to the mux,
and each child of the mux has four attached PHYs.
This is a fairly complex configuration as the GPIOs controlling the MDIO
mux are on I2C GPIO expanders which are themselves behind an I2C mux...
The nice thing about this is that the Linux I2C and MDIO infrastructure
is all configured dynamically from the device tree and everything works
well together with no locking issues. The addition of the deferred
driver probe mechanism was the last part of the puzzle (I think...
actually I don't know if all my I2C things are merged yet...).
David Daney
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev