Re: Porting the ibm_newemac driver to use phylib (and other PHY/MAC questions)
From: Kyle Moffett <hidden>
Date: 2009-05-03 04:26:23
Also in:
linuxppc-dev, lkml
On Thu, Apr 30, 2009 at 6:21 PM, Kyle Moffett [off-list ref] wrote:
quoted
quoted
I'm also curious about the intent of the "mdio_instance" pointer (IE: the "mdio-device" property). Is that used when all the PHY devices are attached to the MDIO bus of only one of the (multiple) emac devices?It's common especially on older SoCs using EMAC to have only one of the EMAC instance with an MDIO bus for configuring the PHYs. This is one of the reasons why I have the mutex in the low level MDIO access routines since 2 EMACs can try to talk to the same MDIO, and this is the problem I had with phylib back then which was doing everything in atomic contexts.Ok, good, the current mdiobus code seems to make handling this a good deal easier.
Ok, I've dug through the docs on the 460EPx (the CPU I'm using), and I'd like some confirmation of the following: * The EMAC hardware itself internally has its own dedicated MDIO/MDClk lines, driven by the STACR register. * On many/most cpus, there is only a single set of external MDIO/MDClk pins, driven either off the ZMII bridge or the RGMII bridge. * Both bridge-types have their own internal register for switching the external MDIO/MDClk pins between the two sets of internal EMAC<=>bridge links. * Some SoCs have both an ZMII and an RGMII bridge, and the external MDIO/MDClk pins are only connected to one of the two bridges (How do I know which one? Alternatively, do I just program both and hope for the best?). * Some older SoCs simply export the MDIO/MDClk pins from one of their internal EMAC chips and don't bother with running it through the multiplexing bridge. Are there any SoCs which actually export the MDIO/MDClk pins from both/all of their EMACs? Cheers, Kyle Moffett _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev