summaryrefslogtreecommitdiff
path: root/cpu/mpc5xxx/fec.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-09-16 17:29:31 +0000
committerwdenk <wdenk>2003-09-16 17:29:31 +0000
commita57106fcb3d57014b0ff92ad8afba293bced4dd6 (patch)
tree2f56b2c742dd57e82e208c8c1dd53baacc473e61 /cpu/mpc5xxx/fec.c
parent373e6bec13b46fdd0aab531e39e56aa883ed12cc (diff)
downloadu-boot-imx-a57106fcb3d57014b0ff92ad8afba293bced4dd6.zip
u-boot-imx-a57106fcb3d57014b0ff92ad8afba293bced4dd6.tar.gz
u-boot-imx-a57106fcb3d57014b0ff92ad8afba293bced4dd6.tar.bz2
* Fix timeout problems with 1st packet on MPC5200
Diffstat (limited to 'cpu/mpc5xxx/fec.c')
-rw-r--r--cpu/mpc5xxx/fec.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/cpu/mpc5xxx/fec.c b/cpu/mpc5xxx/fec.c
index 634698b..ae4e529 100644
--- a/cpu/mpc5xxx/fec.c
+++ b/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;