diff mbox series

[1/2] net: fec: Add possibility to enable TXC delay

Message ID 20200309183836.32609-1-philippe.schenker@toradex.com
State Superseded
Headers show
Series [1/2] net: fec: Add possibility to enable TXC delay | expand

Commit Message

Philippe Schenker March 9, 2020, 6:38 p.m. UTC
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 at toradex.com>
---

 drivers/net/fec_mxc.c | 10 ++++++++++
 drivers/net/fec_mxc.h |  2 ++
 2 files changed, 12 insertions(+)

Comments

Oleksandr Suvorov March 11, 2020, 9:55 a.m. UTC | #1
On Mon, Mar 9, 2020 at 8:39 PM Philippe Schenker
<philippe.schenker at toradex.com> wrote:
>
> 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 at toradex.com>

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>

> ---
>
>  drivers/net/fec_mxc.c | 10 ++++++++++
>  drivers/net/fec_mxc.h |  2 ++
>  2 files changed, 12 insertions(+)
>
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index bc5b63d7881..345d37be4e8 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -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);
>
> diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
> index 159aec89679..3c8fdda2638 100644
> --- a/drivers/net/fec_mxc.h
> +++ b/drivers/net/fec_mxc.h
> @@ -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
>
> --
> 2.25.1
>
diff mbox series

Patch

diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index bc5b63d7881..345d37be4e8 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -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);
 
diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
index 159aec89679..3c8fdda2638 100644
--- a/drivers/net/fec_mxc.h
+++ b/drivers/net/fec_mxc.h
@@ -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