Message ID | 20241202-upstream_s32cc_gmac-v7-2-bc3e1f9f656e@oss.nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add support for Synopsis DWMAC IP on NXP Automotive SoCs S32G2xx/S32G3xx/S32R45 | expand |
Hi, As per patch 1, no need for "driver:" in the subject line. Thanks. On Mon, Dec 02, 2024 at 11:03:41PM +0100, Jan Petrous via B4 Relay wrote: > From: "Jan Petrous (OSS)" <jan.petrous@oss.nxp.com> > > Add support for CSR clock range up to 800 MHz. > > Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> > Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > Signed-off-by: Jan Petrous (OSS) <jan.petrous@oss.nxp.com> > --- > drivers/net/ethernet/stmicro/stmmac/common.h | 2 ++ > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++++ > include/linux/stmmac.h | 2 ++ > 3 files changed, 8 insertions(+) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h > index 1367fa5c9b8e..70d601f45481 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/common.h > +++ b/drivers/net/ethernet/stmicro/stmmac/common.h > @@ -257,6 +257,8 @@ struct stmmac_safety_stats { > #define CSR_F_150M 150000000 > #define CSR_F_250M 250000000 > #define CSR_F_300M 300000000 > +#define CSR_F_500M 500000000 > +#define CSR_F_800M 800000000 > > #define MAC_CSR_H_FRQ_MASK 0x20 > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 9b262cdad60b..3cb7ad6ccc4e 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -325,6 +325,10 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) > priv->clk_csr = STMMAC_CSR_150_250M; > else if ((clk_rate >= CSR_F_250M) && (clk_rate <= CSR_F_300M)) > priv->clk_csr = STMMAC_CSR_250_300M; > + else if ((clk_rate >= CSR_F_300M) && (clk_rate < CSR_F_500M)) > + priv->clk_csr = STMMAC_CSR_300_500M; > + else if ((clk_rate >= CSR_F_500M) && (clk_rate < CSR_F_800M)) > + priv->clk_csr = STMMAC_CSR_500_800M; > } > > if (priv->plat->flags & STMMAC_FLAG_HAS_SUN8I) { > diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h > index 75cbfb576358..865d0fe26f98 100644 > --- a/include/linux/stmmac.h > +++ b/include/linux/stmmac.h > @@ -34,6 +34,8 @@ > #define STMMAC_CSR_35_60M 0x3 /* MDC = clk_scr_i/26 */ > #define STMMAC_CSR_150_250M 0x4 /* MDC = clk_scr_i/102 */ > #define STMMAC_CSR_250_300M 0x5 /* MDC = clk_scr_i/124 */ > +#define STMMAC_CSR_300_500M 0x6 /* MDC = clk_scr_i/204 */ > +#define STMMAC_CSR_500_800M 0x7 /* MDC = clk_scr_i/324 */ > > /* MTL algorithms identifiers */ > #define MTL_TX_ALGORITHM_WRR 0x0 > > -- > 2.47.0 > > > >
On Mon, Dec 02, 2024 at 10:07:28PM +0000, Russell King (Oracle) wrote: > Hi, > > As per patch 1, no need for "driver:" in the subject line. > Will fix it in v8, thanks. /Jan
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h index 1367fa5c9b8e..70d601f45481 100644 --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h @@ -257,6 +257,8 @@ struct stmmac_safety_stats { #define CSR_F_150M 150000000 #define CSR_F_250M 250000000 #define CSR_F_300M 300000000 +#define CSR_F_500M 500000000 +#define CSR_F_800M 800000000 #define MAC_CSR_H_FRQ_MASK 0x20 diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 9b262cdad60b..3cb7ad6ccc4e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -325,6 +325,10 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) priv->clk_csr = STMMAC_CSR_150_250M; else if ((clk_rate >= CSR_F_250M) && (clk_rate <= CSR_F_300M)) priv->clk_csr = STMMAC_CSR_250_300M; + else if ((clk_rate >= CSR_F_300M) && (clk_rate < CSR_F_500M)) + priv->clk_csr = STMMAC_CSR_300_500M; + else if ((clk_rate >= CSR_F_500M) && (clk_rate < CSR_F_800M)) + priv->clk_csr = STMMAC_CSR_500_800M; } if (priv->plat->flags & STMMAC_FLAG_HAS_SUN8I) { diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 75cbfb576358..865d0fe26f98 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -34,6 +34,8 @@ #define STMMAC_CSR_35_60M 0x3 /* MDC = clk_scr_i/26 */ #define STMMAC_CSR_150_250M 0x4 /* MDC = clk_scr_i/102 */ #define STMMAC_CSR_250_300M 0x5 /* MDC = clk_scr_i/124 */ +#define STMMAC_CSR_300_500M 0x6 /* MDC = clk_scr_i/204 */ +#define STMMAC_CSR_500_800M 0x7 /* MDC = clk_scr_i/324 */ /* MTL algorithms identifiers */ #define MTL_TX_ALGORITHM_WRR 0x0