[PATCH 1/3] [NET] phy/fixed.c: rework to not duplicate PHYlayer functionality
Anton Vorontsov
cbou at mail.ru
Sun Dec 2 23:13:12 EST 2007
On Sun, Dec 02, 2007 at 12:54:36PM +0100, Joakim Tjernlund wrote:
> [SNIP]
> > ^^ the correct solution is to implement arch_initcall function
> > which will create fixed PHYs, and then leave only
> > snprintf(fpi->bus_id, 16, PHY_ID_FMT, 0, *data); part in the
> > fs_enet's find_phy().
> >
> > Try add something like this to the fsl_soc.c (compile untested):
> >
> > - - - -
> > static int __init of_add_fixed_phys(void)
> > {
> > struct device_node *np;
> > const u32 *prop;
> > struct fixed_phy_status status = {};
> >
> > while ((np = of_find_node_by_name(NULL, "ethernet"))) {
> > data = of_get_property(np, "fixed-link", NULL);
> > if (!data)
> > continue;
> >
> > status.link = 1;
> > status.duplex = data[1];
> > status.speed = data[2];
>
> What about Pause and Asym_Pause?
Will be addressed in the next respin of these patches. Let's
hope on Monday.
> Dunno why so few, if any, eth drivers
> impl. it, but the PHY lib supports it.
> Even if fixed PHYs doesn't support it directly I think the OF interface
> should have it.
>
> - fixed-link : <a b c d e> where a is emulated phy id - choose any,
> but unique to the all specified fixed-links, b is duplex - 0 half,
> 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no pause,
> 1 pause, d asym_pause - 0 no asym_pause, 1 asym_pause.
--
Anton Vorontsov
email: cbou at mail.ru
backup email: ya-cbou at yandex.ru
irc://irc.freenode.net/bd2
More information about the Linuxppc-dev
mailing list