summaryrefslogtreecommitdiff
path: root/drivers/net/mxc_fec.c
diff options
context:
space:
mode:
authorTerry Lv <r65388@freescale.com>2010-03-16 16:09:39 +0800
committerTerry Lv <r65388@freescale.com>2010-03-16 16:11:58 +0800
commit029aff138902466bdfc1e62c761e89f8d37e83ea (patch)
treef561d343e3001cd970f6d8f2292dac3cc9c0c5d2 /drivers/net/mxc_fec.c
parentaca6f560d03a0780d4713e1f458e132bec28f37b (diff)
downloadu-boot-imx-029aff138902466bdfc1e62c761e89f8d37e83ea.zip
u-boot-imx-029aff138902466bdfc1e62c761e89f8d37e83ea.tar.gz
u-boot-imx-029aff138902466bdfc1e62c761e89f8d37e83ea.tar.bz2
ENGR000121601: FEC not work in mx28 u-boot
FEC not work in mx28 u-boot. Signed-off-by: Terry Lv <r65388@freescale.com>
Diffstat (limited to 'drivers/net/mxc_fec.c')
-rw-r--r--drivers/net/mxc_fec.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/mxc_fec.c b/drivers/net/mxc_fec.c
index 1a9f53f..314496e 100644
--- a/drivers/net/mxc_fec.c
+++ b/drivers/net/mxc_fec.c
@@ -336,12 +336,21 @@ static void setFecDuplexSpeed(volatile fec_t *fecp, unsigned char addr,
if ((dup_spd >> 16) == FULL) {
/* Set maximum frame length */
+#ifdef CONFIG_RMII
+ fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) | FEC_RCR_RMII_MODE;
+#else
fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) | FEC_RCR_MII_MODE;
+#endif
fecp->tcr = FEC_TCR_FDEN;
} else {
/* Half duplex mode */
+#ifdef CONFIG_RMII
fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) |
- FEC_RCR_MII_MODE | FEC_RCR_DRT;
+ FEC_RCR_RMII_MODE | FEC_RCR_DRT;
+#else
+ fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) |
+ FEC_RCR_MII_MODE | FEC_RCR_DRT;
+#endif
fecp->tcr &= ~FEC_TCR_FDEN;
}