[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <027de192-4227-4010-a759-5283b6af1531@rock-chips.com>
Date: Tue, 29 Apr 2025 10:42:59 +0800
From: Chaoyi Chen <chaoyi.chen@...k-chips.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Chaoyi Chen <kernel@...kyi.com>, Heiko Stuebner <heiko@...ech.de>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Jonas Karlman <jonas@...boo.se>,
Kever Yang <kever.yang@...k-chips.com>,
Jianfeng Liu <liujianfeng1994@...il.com>, Dragan Simic <dsimic@...jaro.org>,
Jimmy Hon <honyuenkwun@...il.com>, Quentin Schulz
<quentin.schulz@...rry.de>, FUKAUMI Naoki <naoki@...xa.com>,
Cristian Ciocaltea <cristian.ciocaltea@...labora.com>,
Alexey Charkov <alchark@...il.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Sebastian Reichel <sebastian.reichel@...labora.com>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] arm64: dts: rockchip: Add rk3399-evb-ind board
Hi Andrew,
On 2025/4/28 20:45, Andrew Lunn wrote:
> On Mon, Apr 28, 2025 at 09:47:34AM +0800, Chaoyi Chen wrote:
>> Hi Andrew,
>>
>> On 2025/4/28 4:42, Andrew Lunn wrote:
>>>> +&gmac {
>>>> + assigned-clocks = <&cru SCLK_RMII_SRC>;
>>>> + assigned-clock-parents = <&clkin_gmac>;
>>>> + pinctrl-names = "default";
>>>> + pinctrl-0 = <&rgmii_pins>;
>>>> + clock_in_out = "input";
>>>> + phy-supply = <&vcc_phy>;
>>>> + phy-mode = "rgmii";
>>> Does the PCB have extra long clock lines to implement the RGMII 2ns
>>> delay?
>> The 2ns delay of RGMII is implemented inside the RK3399 chip instead of PCB
>> lines, and there are also additional delayline configurations.
> If the PCB does not implement the delay, rgmii is wrong.
>
> If the MAC/PHY pair is implementing the delay, you need to use
> rgmii-id. You can then use additional properties to fine tune the
> delay the MAC/PHY is adding. And the Linux preference is that the PHY
> adds the delay.
The signal path of RK3399 is as follows:
MAC <---> IO <---> PHY
In fact, the delay is added to the path between the MAC and the IO,
rather than being implemented in the MAC itself. These delay value is
controlled by the GRF register[0] . These paths are implemented inside
the SoC and have not yet reached the board level.
According to the document[1], use "rgmii" when "RX and TX delays are
added by the MAC when required". In addition, currently we can see that
all RK3399 boards use "rgmii". Is there anything I missed? Thank you.
[0]:
https://lore.kernel.org/netdev/1472752204-8924-2-git-send-email-wxt@rock-chips.com/
[1]:
https://www.kernel.org/doc/Documentation/devicetree/bindings/net/ethernet-controller.yaml
>
> Andrew
>
>
Powered by blists - more mailing lists