[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <441f37f5-3c33-4c62-b3fe-728b43669e29@quicinc.com>
Date: Mon, 9 Dec 2024 10:11:23 +0800
From: Yijie Yang <quic_yijiyang@...cinc.com>
To: Andrew Lunn <andrew@...n.ch>
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
On 2024-11-29 23:29, Andrew Lunn wrote:
>> I was mistaken earlier; it is actually the EMAC that will introduce a time
>> skew by shifting the phase of the clock in 'rgmii' mode.
>
> This is fine, but not the normal way we do this. The Linux preference
> is that the PHY adds the delays. There are a few exceptions, boards
> which have PHYs which cannot add delays. In that case the MAC adds the
> delays. But this is pretty unusual.
After testing, it has been observed that modes other than 'rgmii' do not
function properly due to the current configuration sequence in the
driver code.
>
> If you decided you want to be unusual and have the MAC add the delays,
> it should not be hard coded. You need to look at phy-mode. Only add
Are you suggesting that 'rgmii' indicates the delay is introduced by the
board rather than the EMAC? But according to the
Documentation/devicetree/bindings/net/ethernet-controller.yaml, this
mode explicitly states that 'RX and TX delays are added by the MAC when
required'. That is indeed my preference.
> delays for rgmii-id. And you then need to mask the value passed to the
> PHY, pass PHY_INTERFACE_MODE_RGMII, not PHY_INTERFACE_MODE_RGMII_ID,
> so the PHY does not add delays as well.
>
> Andrew
--
Best Regards,
Yijie
Powered by blists - more mailing lists