[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e734f2fd-b96f-4981-9f00-a94f3fd03213@lunn.ch>
Date: Tue, 15 Jul 2025 15:09:17 +0200
From: Andrew Lunn <andrew@...n.ch>
To: 李志 <lizhi2@...incomputing.com>
Cc: weishangjuan@...incomputing.com, andrew+netdev@...n.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, mcoquelin.stm32@...il.com,
alexandre.torgue@...s.st.com, rmk+kernel@...linux.org.uk,
yong.liang.choong@...ux.intel.com, vladimir.oltean@....com,
jszhang@...nel.org, jan.petrous@....nxp.com,
prabhakar.mahadev-lad.rj@...renesas.com, inochiama@...il.com,
boon.khai.ng@...era.com, dfustini@...storrent.com, 0x1207@...il.com,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, ningyu@...incomputing.com,
linmin@...incomputing.com, pinkesh.vaghela@...fochips.com
Subject: Re: Re: [PATCH v3 2/2] ethernet: eswin: Add eic7700 ethernet driver
> > > + dwc_priv->dly_param_1000m[0] = EIC7700_DELAY_VALUE0;
> > > + dwc_priv->dly_param_1000m[1] = EIC7700_DELAY_VALUE1;
> > > + dwc_priv->dly_param_1000m[2] = EIC7700_DELAY_VALUE0;
> > > + dwc_priv->dly_param_100m[0] = EIC7700_DELAY_VALUE0;
> > > + dwc_priv->dly_param_100m[1] = EIC7700_DELAY_VALUE1;
> > > + dwc_priv->dly_param_100m[2] = EIC7700_DELAY_VALUE0;
> > > + dwc_priv->dly_param_10m[0] = 0x0;
> > > + dwc_priv->dly_param_10m[1] = 0x0;
> > > + dwc_priv->dly_param_10m[2] = 0x0;
> >
> > What are the three different values for?
> >
>
> Let me clarify the purpose of the three elements in each dly_param_* array:
> dly_param_[x][0]: Delay configuration for TXD signals
> dly_param_[x][1]: Delay configuration for control signals (e.g., TX_EN, RX_DV, RX_CLK)
> dly_param_[x][2]: Delay configuration for RXD signals
Maybe add a #define or an enum for the index.
Do these delays represent the RGMII 2ns delay?
> > {
> > > + eic7700_set_delay(dwc_priv->rx_delay_ps, dwc_priv->tx_delay_ps,
> > > + &dwc_priv->dly_param_1000m[1]);
> > > + eic7700_set_delay(dwc_priv->rx_delay_ps, dwc_priv->tx_delay_ps,
> > > + &dwc_priv->dly_param_100m[1]);
> > > + eic7700_set_delay(dwc_priv->rx_delay_ps, dwc_priv->tx_delay_ps,
> > > + &dwc_priv->dly_param_10m[1]);
> > > + } else {
> > > + dev_dbg(&pdev->dev, " use default dly\n");
> >
> > What is the default? It should be 0ps. So there is no point printing
> > this message.
> >
>
> The default value is EIC7700_DELAY_VALUE1
But what does EIC7700_DELAY_VALUE1 mean? It should mean 0ps? But i'm
not sure it does.
Andrew
Powered by blists - more mailing lists