aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/fec_mxc.c
diff options
context:
space:
mode:
authorJason Liu <jason.hui@linaro.org>2011-12-12 18:00:40 +0800
committerEric Miao <eric.miao@linaro.org>2012-01-02 21:54:14 +0800
commit8287bddd689583c699cf9702bddae6aae235f551 (patch)
treea2b89c23337d8402f575b6290b9cc5fa581f4930 /drivers/net/fec_mxc.c
parent41b75a3800a37f3fd03b17a1a418d322b370fa3d (diff)
fec: add the i.mx6q enet driver support
Signed-off-by: Jason Liu <jason.hui@linaro.org> Signed-off-by: Eric Miao <eric.miao@linaro.org>
Diffstat (limited to 'drivers/net/fec_mxc.c')
-rw-r--r--drivers/net/fec_mxc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index b05a4c0c9..3affda8fa 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -384,6 +384,14 @@ static int fec_open(struct eth_device *edev)
writel(1 << 2, &fec->eth->x_cntrl);
fec->rbd_index = 0;
+#if defined(CONFIG_MX6Q)
+ /* Enable ENET HW endian SWAP */
+ writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_DBSWAP,
+ &fec->eth->ecntrl);
+ /* Enable ENET store and forward mode */
+ writel(readl(&fec->eth->x_wmrk) | FEC_X_WMRK_STRFWD,
+ &fec->eth->x_wmrk);
+#endif
/*
* Enable FEC-Lite controller
*/
@@ -485,6 +493,8 @@ static int fec_init(struct eth_device *dev, bd_t* bd)
rcntrl = PKTSIZE << FEC_RCNTRL_MAX_FL_SHIFT;
if (fec->xcv_type == SEVENWIRE)
rcntrl |= FEC_RCNTRL_FCE;
+ else if (fec->xcv_type == RGMII)
+ rcntrl |= FEC_RCNTRL_RGMII;
else if (fec->xcv_type == RMII)
rcntrl |= FEC_RCNTRL_RMII;
else /* MII mode */