|
|
|
@ -281,13 +281,6 @@ static int mpc5xxx_fec_init(struct eth_device *dev, bd_t * bis) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fec->eth->x_cntrl = 0x00000000; /* half-duplex, heartbeat disabled */ |
|
|
|
|
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->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Set Opcode/Pause Duration Register |
|
|
|
@ -640,6 +633,15 @@ static void mpc5xxx_fec_halt(struct eth_device *dev) |
|
|
|
|
*/ |
|
|
|
|
udelay(10); |
|
|
|
|
|
|
|
|
|
/* don't leave the MII speed set to zero */ |
|
|
|
|
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->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if (DEBUG & 0x3) |
|
|
|
|
printf("Ethernet task stopped\n"); |
|
|
|
|
#endif |
|
|
|
@ -897,6 +899,13 @@ int mpc5xxx_fec_initialize(bd_t * bis) |
|
|
|
|
#else |
|
|
|
|
#error fec->xcv_type not initialized. |
|
|
|
|
#endif |
|
|
|
|
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->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
dev->priv = (void *)fec; |
|
|
|
|
dev->iobase = MPC5XXX_FEC; |
|
|
|
|