Re: [PATCH] net: thunderx: use proper interface type for RGMII

From: Andrew Lunn
Date: Fri Feb 07 2020 - 16:02:17 EST


On Fri, Feb 07, 2020 at 12:40:26PM -0800, Tim Harvey wrote:
> The configuration of the OCTEONTX XCV_DLL_CTL register via
> xcv_init_hw() is such that the RGMII RX delay is bypassed
> leaving the RGMII TX delay enabled in the MAC:
>
> /* Configure DLL - enable or bypass
> * TX no bypass, RX bypass
> */
> cfg = readq_relaxed(xcv->reg_base + XCV_DLL_CTL);
> cfg &= ~0xFF03;
> cfg |= CLKRX_BYP;
> writeq_relaxed(cfg, xcv->reg_base + XCV_DLL_CTL);
>
> This would coorespond to a interface type of PHY_INTERFACE_MODE_RGMII_RXID
> and not PHY_INTERFACE_MODE_RGMII.
>
> Fixing this allows RGMII PHY drivers to do the right thing (enable
> RX delay in the PHY) instead of erroneously enabling both delays in the
> PHY.

Hi Tim

This seems correct. But how has it worked in the past? Does this
suggest there is PHY driver out there which is doing the wrong thing
when passed PHY_INTERFACE_MODE_RGMII?

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew