
Hi Mike,
On Fri, Sep 23, 2011 at 8:21 AM, Mike Frysinger vapier@gentoo.org wrote:
On Wednesday, September 21, 2011 23:12:44 Graeme Russ wrote:
On Thu, Sep 22, 2011 at 11:20 AM, Graeme Russ wrote: I now see why there is no relationship between MII/PHY and PCI as they are not connected to the PCI bus - Communication with the PHY is done through the MAC. So is it the case that 'PHY Drivers' in U-Boot provide access to the PHY (Transceiver) _through_ the MAC and in order to use the PHY drivers, the MAC driver (i.e. the Ethernet driver) needs to provide hooks to pass PHY requests from U-Boot over the (RG)MII interface?
i believe this is correct. the intention is to be like Linux where you've got a driver for the MAC, and you've got drivers for the PHYs, and the MAC driver provides the hooks for the PHY layer to access what it needs.
not all drivers have been converted to the PHY abstraction, and we don't have a requirement atm for that.
there's also a bit of a mess as we try to move to the Linux phylib code ... another area that needs a bit of TLC.
I tried to port the Intel PCH GBe driver last night without much luck. Just trying to satisfy the data structure requirements (let alone the support functions) brings in a rediculous amount of extraneous Linux header files (pretty much the entire TCP/IP stack definitions). I think I'll abandon the direct approach and try to pick out the init, Tx and Rx functions piece by piece.
I'll have a look at phylib while I'm at it, but I doubt that I'll be able to have time to properly figure it at atm
I suppose that is why Wolfgang would like a network custodian
Regards,
Graeme