summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2020-03-04 18:49:45 +0100
committerIgor Opaniuk <igor.opaniuk@toradex.com>2020-08-05 19:26:24 +0300
commitb4fc2b1de85765f2a2184042e11d2503cc4d4f40 (patch)
treeca4b8cadddc74709f13dc00dc755393bb0232455
parent7f58ac5537f08f2eade386173ed4efe4371cbc38 (diff)
net: fec: Add possibility to enable TXC delay
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit f53846c29f76ccee0141f6902703bb6855b14b6a) (cherry picked from commit 29884c54767bf04be3fc662f5f4aec227372d87e)
-rw-r--r--drivers/net/fec_mxc.c5
-rw-r--r--drivers/net/fec_mxc.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index d00df87a47..d91353d51c 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -504,6 +504,11 @@ static int fec_open(struct eth_device *edev)
writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_ETHER_EN,
&fec->eth->ecntrl);
+#ifdef FEC_ENET_ENABLE_TXC_DELAY
+ writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_TXC_DLY,
+ &fec->eth->ecntrl);
+#endif
+
#if defined(CONFIG_MX25) || defined(CONFIG_MX53) || defined(CONFIG_MX6SL)
udelay(100);
diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
index 18f7c727db..bec5f6698d 100644
--- a/drivers/net/fec_mxc.h
+++ b/drivers/net/fec_mxc.h
@@ -188,6 +188,7 @@ struct ethernet_regs {
#define FEC_ECNTRL_ETHER_EN 0x00000002 /* enable the FEC */
#define FEC_ECNTRL_SPEED 0x00000020
#define FEC_ECNTRL_DBSWAP 0x00000100
+#define FEC_ECNTRL_TXC_DLY 0x00010000 /* TXC Delayed */
#define FEC_X_WMRK_STRFWD 0x00000100