net: fec: Add possibility to enable TXC delay
authorPhilippe Schenker <philippe.schenker@toradex.com>
Wed, 11 Mar 2020 10:52:58 +0000 (11:52 +0100)
committerStefano Babic <sbabic@denx.de>
Fri, 1 May 2020 11:46:22 +0000 (13:46 +0200)
This patch enables the possibility to set FEC_ENET_ENABLE_TXC_DELAY or
FEC_ENET_ENABLE_RXC_DELAY so one can via a define enable the RXC or TXC
delay in the MAC.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
drivers/net/fec_mxc.c
drivers/net/fec_mxc.h

index bc5b63d78814979347988ea85fd08ea4223209fd..345d37be4e825ddde165b033c47142a499b8e592 100644 (file)
@@ -503,6 +503,16 @@ 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
+
+#ifdef FEC_ENET_ENABLE_RXC_DELAY
+       writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_RXC_DLY,
+              &fec->eth->ecntrl);
+#endif
+
 #if defined(CONFIG_MX25) || defined(CONFIG_MX53) || defined(CONFIG_MX6SL)
        udelay(100);
 
index 159aec896796c3a2218de68f3e5f15c462d391a5..3c8fdda263804f07dbf3a1c0397b509cde1151f0 100644 (file)
@@ -188,6 +188,8 @@ 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_ECNTRL_RXC_DLY             0x00020000      /* RXC delayed */
 
 #define FEC_X_WMRK_STRFWD              0x00000100