diff options
-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; |