Hi Mike, On 4/27/2010 11:15 AM, Mike Frysinger wrote: > Signed-off-by: Mike Frysinger<vap...@gentoo.org> > --- > drivers/net/bfin_mac.c | 28 +++++++++++++++------------- > drivers/net/bfin_mac.h | 3 +-- > 2 files changed, 16 insertions(+), 15 deletions(-) > > diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c > index ec45b63..720e126 100644 > --- a/drivers/net/bfin_mac.c > +++ b/drivers/net/bfin_mac.c > @@ -106,6 +106,7 @@ int bfin_EMAC_initialize(bd_t *bis) > dev->halt = bfin_EMAC_halt; > dev->send = bfin_EMAC_send; > dev->recv = bfin_EMAC_recv; > + dev->write_hwaddr = bfin_EMAC_setup_addr; > > eth_register(dev); > > @@ -303,6 +304,19 @@ static int bfin_miiphy_init(struct eth_device *dev, int > *opmode) > return 0; > } > > +static int bfin_EMAC_setup_addr(struct eth_device *dev) > +{ > + *pEMAC_ADDRLO = > + dev->enetaddr[0] | > + dev->enetaddr[1]<< 8 | > + dev->enetaddr[2]<< 16 | > + dev->enetaddr[3]<< 24; > + *pEMAC_ADDRHI = > + dev->enetaddr[4] | > + dev->enetaddr[5]<< 8; > + return 0; > +} > + > static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd) > { > u32 opmode; > @@ -318,7 +332,7 @@ static int bfin_EMAC_init(struct eth_device *dev, bd_t > *bd) > return -1; > > /* Initialize EMAC address */ > - bfin_EMAC_setup_addr(dev->enetaddr); > + bfin_EMAC_setup_addr(dev); > Are you sure you still want to program it on every init() call? There's nothing wrong with that, BTW...
regards, Ben _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot