diff options
author | Jason Liu <r64343@freescale.com> | 2010-08-11 12:25:22 +0800 |
---|---|---|
committer | Frank Li <Frank.Li@freescale.com> | 2010-08-11 13:28:47 +0800 |
commit | ce05959b8b887839dfc451f219b7975dbf15226a (patch) | |
tree | 6b1a771375b2da96a92ba2e05d122c584ec0e283 | |
parent | adbdf54619c941b7b211e017b7c2a9bccbeec393 (diff) |
ENGR00126155 FEC:Set RMII mode corretly after FEC reset
FEC on MX28 will go to MII mode after the FEC reset
which lead to PHY not work correctly for next link set up.
We need to reconfigure the MII/RMII mode according
the platform data setting after FEC reset
Signed-off-by:Jason Liu <r64343@freescale.com>
(cherry picked from commit b930fa831ed7706dc3050f66ec64049755f30b11)
-rw-r--r-- | drivers/net/fec.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 75deb68ae1b4..ecd121f09516 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -1409,6 +1409,15 @@ fec_stop(struct net_device *dev) writel(1, fep->hwp + FEC_ECNTRL); udelay(10); +#ifdef CONFIG_ARCH_MXS + /* Check MII or RMII */ + if (fep->phy_interface == PHY_INTERFACE_MODE_RMII) + writel(readl(fep->hwp + FEC_R_CNTRL) | 0x100, + fep->hwp + FEC_R_CNTRL); + else + writel(readl(fep->hwp + FEC_R_CNTRL) & ~0x100, + fep->hwp + FEC_R_CNTRL); +#endif /* Clear outstanding MII command interrupts. */ writel(FEC_ENET_MII, fep->hwp + FEC_IEVENT); |