Re: [PATCH RFC v1 1/4] dt-bindings: net: dwmac-meson: use picoseconds for the RGMII RX delay
From: Andrew Lunn
Date: Sun Nov 15 2020 - 10:37:34 EST
On Sun, Nov 15, 2020 at 10:22:06AM +0100, Martin Blumenstingl wrote:
> Hi Andrew,
>
> On Sat, Nov 14, 2020 at 11:32 PM Andrew Lunn <andrew@xxxxxxx> wrote:
> [...]
> > > + amlogic,rgmii-rx-delay-ps:
> > > + default: 0
> > > description:
> > > The internal RGMII RX clock delay (provided by this IP block) in
> > > - nanoseconds. When phy-mode is set to "rgmii" then the RX delay
> > > + picoseconds. When phy-mode is set to "rgmii" then the RX delay
> > > should be explicitly configured. When the phy-mode is set to
> > > either "rgmii-id" or "rgmii-rxid" the RX clock delay is already
> > > provided by the PHY. Any configuration is ignored when the
> > > phy-mode is set to "rmii".
> >
> > Hi Martin
> >
> > I don't think the wording matches what the driver is actually doing:
> >
> > if (dwmac->rx_delay_ns == 2)
> > rx_dly_config = PRG_ETH0_ADJ_ENABLE | PRG_ETH0_ADJ_SETUP;
> > else
> > rx_dly_config = 0;
> >
> > switch (dwmac->phy_mode) {
> > case PHY_INTERFACE_MODE_RGMII:
> > delay_config = tx_dly_config | rx_dly_config;
> > break;
> > case PHY_INTERFACE_MODE_RGMII_RXID:
> > delay_config = tx_dly_config;
> > break;
> > case PHY_INTERFACE_MODE_RGMII_TXID:
> > delay_config = rx_dly_config;
> > break;
> > case PHY_INTERFACE_MODE_RGMII_ID:
> > case PHY_INTERFACE_MODE_RMII:
> > delay_config = 0;
> > break;
> >
> > So rx_delay is used for both rgmii and rgmii-txid. The binding says
> > nothing about rgmii-txid.
> interesting point here. it's been like this before this patch. still I
> would like to understand what the proper way to fix it is so I can
> also include a fix for it:
> 1. should rgmii-txid not add any RX delay on the MAC side? that would
> mean for my board I will switch to phy-mode rgmii so the MAC applies
> both the RX and TX delays
> 2. update the documentation to clarify that rgmii-txid would also add
> the RX delay on the MAC side
Hi Martin
I would fix the documentation.
> that is a good point and also a bug with one of the previous patches
> I'll include a patch fixing this in v2
Thanks for looking at these.
Andrew