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 |
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 --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
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(+)