Thomas, Thomas Dörfler wrote: > The mpc512x FEC network driver resets the FEC before transferring > packets. With this reset, the FEC clears the previous setting of MII > transfer speed. This patch ensures, that it is set again to a reasonable > value after a FEC reset. > > Signed-off-by: Thomas Doerfler <[email protected]> > -- > diff --git a/drivers/net/mpc512x_fec.c b/drivers/net/mpc512x_fec.c > index fb2c19a..f3d76ba 100644 > --- a/drivers/net/mpc512x_fec.c > +++ b/drivers/net/mpc512x_fec.c > @@ -446,6 +446,19 @@ static void mpc512x_fec_halt (struct eth_device *dev) > * wait at least 16 clock cycles > */ > udelay (10); > + /* > + * NOTE: reset will also clear the MII speed register > + * we should reinitialize it ASAP > + */ > + if (fec->xcv_type != SEVENWIRE) { > + /* > + * Set MII_SPEED = (1/(mii_speed * 2)) * System Clock > + * and do not drop the Preamble. > + */ > + fec->eth->mii_speed = ((((gd->ips_clk / 1000000) / 5) > + + 1) > + << 1); > + } > #if (DEBUG & 0x3) > printf ("Ethernet task stopped\n"); > #endif > Applied to net repo (after some tweaking)
thanks, Ben _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

