|
@@ -387,7 +387,9 @@ static int mpc5xxx_fec_init(struct eth_device *dev, bd_t * bis)
|
|
|
/*
|
|
|
* Force 10Base-T, FDX operation
|
|
|
*/
|
|
|
+#if (DEBUG & 0x2)
|
|
|
printf("Forcing 10 Mbps ethernet link... ");
|
|
|
+#endif
|
|
|
miiphy_read(phyAddr, 0x1, &phyStatus);
|
|
|
/*
|
|
|
miiphy_write(fec, phyAddr, 0x0, 0x0100);
|
|
@@ -427,11 +429,7 @@ static int mpc5xxx_fec_init(struct eth_device *dev, bd_t * bis)
|
|
|
/*
|
|
|
* Set the auto-negotiation advertisement register bits
|
|
|
*/
|
|
|
-#ifndef CONFIG_FEC_10MBIT
|
|
|
miiphy_write(phyAddr, 0x4, 0x01e1);
|
|
|
-#else
|
|
|
- miiphy_write(phyAddr, 0x4, 0x061);/* Advertise 10FDX */
|
|
|
-#endif
|
|
|
|
|
|
/*
|
|
|
* Set MDIO bit 0.12 = 1(&& bit 0.9=1?) to enable auto-negotiation
|
|
@@ -826,7 +824,13 @@ int mpc5xxx_fec_initialize(bd_t * bis)
|
|
|
fec->tbdBase = (FEC_TBD *)FEC_BD_BASE;
|
|
|
fec->rbdBase = (FEC_RBD *)(FEC_BD_BASE + FEC_TBD_NUM * sizeof(FEC_TBD));
|
|
|
#ifdef CONFIG_ICECUBE
|
|
|
+#ifndef CONFIG_FEC_10MBIT
|
|
|
fec->xcv_type = MII100;
|
|
|
+#else
|
|
|
+ fec->xcv_type = MII10;
|
|
|
+#endif
|
|
|
+#else
|
|
|
+#error fec->xcv_type not initialized.
|
|
|
#endif
|
|
|
|
|
|
dev->priv = (void *)fec;
|