浏览代码

* Fix timeout problems with 1st packet on MPC5200

wdenk 21 年之前
父节点
当前提交
a57106fcb3
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      cpu/mpc5xxx/fec.c

+ 8 - 4
cpu/mpc5xxx/fec.c

@@ -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;