[PATCH 4/4] net: stmmac: Add glue layer for Sophgo SG2044 SoC
Inochi Amaoto
inochiama at gmail.com
Mon Oct 21 05:38:11 PDT 2024
On Mon, Oct 21, 2024 at 02:22:47PM +0200, Andrew Lunn wrote:
> > +static void sophgo_dwmac_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
> > +{
> > + struct sophgo_dwmac *dwmac = priv;
> > + unsigned long rate;
> > + int ret;
> > +
> > + switch (speed) {
> > + case SPEED_1000:
> > + rate = 125000000;
> > + break;
> > + case SPEED_100:
> > + rate = 25000000;
> > + break;
> > + case SPEED_10:
> > + rate = 2500000;
> > + break;
> > + default:
> > + dev_err(dwmac->dev, "invalid speed %u\n", speed);
> > + break;
> > + }
>
> There was a helper added recently for this, since it appears
> repeatedly in drivers.
>
OK, I will change it.
> > + ret = regmap_set_bits(regmap, args[0], DWMAC_SG2044_FLAG_USE_RX_DELAY);
> > + if (ret)
> > + return dev_err_probe(&pdev->dev, ret,
> > + "failed to set the phy rx delay\n");
>
> Please could you explain what this delay is for. Is it the 2ns RGMII
> delay?
>
> Andrew
It is related to the RGMII delay. On sg2044, when the phy
sets rx-delay, the interal mac is not set the same delay,
so this is needed to be set.
Regards,
Inochi
More information about the linux-riscv
mailing list