[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e1c192ff-4fe9-4473-92ba-4c3a40ab99da@lunn.ch>
Date: Fri, 29 Nov 2024 16:15:36 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Yijie Yang <quic_yijiyang@...cinc.com>
Cc: Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Richard Cochran <richardcochran@...il.com>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: qcs615-ride: Enable ethernet
node
> > The usual setting here is 'rgmmii-id', which means something needs to
> > insert a 2ns delay on the clock lines. This is not always true, a very
> > small number of boards use extra long clock likes on the PCB to add
> > the needed 2ns delay.
> >
> > Now, if 'rgmii' does work, it means something else is broken
> > somewhere. I will let you find out what.
>
> The 'rgmii' does function correctly, but it does not necessarily mean that a
> time delay is required at the board level. The EPHY can also compensate for
> the time skew.
Basic definitions for phy-mode:
rgmii: Indicates the board provides the delays, normally via extra
long clock lines.
rgmii-id: The board does not provide the delay, the software need to
arrange that either the MAC or the PHY adds the delays.
We then have the values passed between the MAC and the PHY driver:
PHY_INTERFACE_MODE_RGMII: The PHY should not add delays
PHY_INTERFACE_MODE_RGMII_ID: The PHY should add delays.
A typical MAC/PHY combination, phy-mode is passed to the PHY, and the
PHY adds the delays, if needed.
This is why i said there are probably two bugs:
1) phy-mode rgmii should probably be rgmii-id
2) The PHY is adding delays when it should not be, because it is being
passed PHY_INTERFACE_MODE_RGMII not PHY_INTERFACE_MODE_RGMII_ID.
Andrew
Powered by blists - more mailing lists