diff options
author | wdenk <wdenk> | 2003-09-16 17:29:31 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2003-09-16 17:29:31 +0000 |
commit | a57106fcb3d57014b0ff92ad8afba293bced4dd6 (patch) | |
tree | 2f56b2c742dd57e82e208c8c1dd53baacc473e61 /cpu/mpc5xxx/fec.c | |
parent | 373e6bec13b46fdd0aab531e39e56aa883ed12cc (diff) | |
download | u-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.c | 12 |
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; |