Hi Andy On Fri, Sep 23, 2011 at 9:36 AM, Andy Fleming <aflem...@gmail.com> wrote: > On Thu, Sep 22, 2011 at 6:27 PM, Graeme Russ <graeme.r...@gmail.com> wrote:
[snip] >> Is there any documentation on how I should build a new MAC and PHY driver >> from scratch (i.e. what is the official network driver API) > > There's not really any documentation for phylib at the moment, except > the header files. There aren't a lot of examples for mdio buses at the > moment, but it's straightforward: > > 1) Call mdio_alloc() to create a new bus object > 2) Fill in the name, then read, write, and reset functions, and set > bus->priv to whatever context structure you want > 3) Call mdio_register(bus) > > For an example, see drivers/net/fsl_mdio.c > > A PHY driver is not much more complicated, and there are many examples. > > Then, in the ethernet driver, you will need to call: > > phy_connect() to declare the connection between your MAC and the PHY > phy_config() to initialize the PHY > > When the MAC is ready to deal with traffic, you call phy_startup() > > When the MAC is being shut down (the close function), you call phy_shutdown() Thanks for the explanation - I'll have a look tonight A couple of quick questions regarding network drivers... 1) Was it the case that the Linux phylib was 'tight' enough to bring straight into U-Boot, or was a new phylib written for U-Boot? 2) The Linux network driver framework (at least now) is so massive that porting a network driver over is practically impossible. Is the U-Boot network driver framework similar in any way to the Linux framework such that I can take relevant portions of code straight from a Linux driver, or is it a case of carefully picking out the relevant bits and stitching together a entirely new beast? 3) Any idea what would be one of the most recent network drivers added from scratch to U-Boot that would serve as a 'style guide' for my new driver? Thanks and Regards, Graeme _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot