On Thursday, June 24, 2010 05:31:47 Tor Krill wrote: > void reset_phy(void) > { > char *name = "egiga0"; > + u8 port_addr[] = CONFIG_PHY_ADDRS; > > if (miiphy_set_current_dev(name)) > return; > > /* reset the phy */ > - miiphy_reset(name, CONFIG_PHY_BASE_ADR); > + miiphy_reset(name, port_addr[0]); > }
hmm, this cant possibly be correct. how do you know which of the phys is to be reset ? but i guess that's just a bug in the ARM tree you cant do much about without fixing everyone. > --- a/drivers/net/kirkwood_egiga.c > +++ b/drivers/net/kirkwood_egiga.c > @@ -629,6 +629,7 @@ int kirkwood_egiga_initialize(bd_t * bis) > int devnum; > char *s; > u8 used_ports[MAX_KWGBE_DEVS] = CONFIG_KIRKWOOD_EGIGA_PORTS; > + u8 port_addr[MAX_KWGBE_DEVS] = PHY_ADDRS; > > for (devnum = 0; devnum < MAX_KWGBE_DEVS; devnum++) { > /*skip if port is configured not to use */ > @@ -712,7 +713,7 @@ int kirkwood_egiga_initialize(bd_t * bis) > miiphy_register(dev->name, smi_reg_read, smi_reg_write); > /* Set phy address of the port */ > miiphy_write(dev->name, KIRKWOOD_PHY_ADR_REQUEST, > - KIRKWOOD_PHY_ADR_REQUEST, PHY_BASE_ADR + > devnum); > + KIRKWOOD_PHY_ADR_REQUEST, port_addr[devnum]); > #endif > } > return 0; > --- a/drivers/net/kirkwood_egiga.h > +++ b/drivers/net/kirkwood_egiga.h > @@ -30,11 +30,11 @@ > > #define MAX_KWGBE_DEVS 2 /*controller has two ports */ > > -/* PHY_BASE_ADR is board specific and can be configured */ > -#if defined (CONFIG_PHY_BASE_ADR) > -#define PHY_BASE_ADR CONFIG_PHY_BASE_ADR > +/* PHY addresses is board specific and can be configured */ > +#if defined (CONFIG_PHY_ADDRS) > +#define PHY_ADDRS CONFIG_PHY_ADDRS > #else > -#define PHY_BASE_ADR 0x08 /* default phy base addr */ > +#define PHY_ADDRS {0x08,0x09} /* default phy base addr */ > #endif i dont know anything about the kirkwood_egiga, but cant you have more than one instance on a board ? if so, it'd make more sense to change the phy addr define stuff into an array argument that gets passed to the driver init func. -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot