Re: [PATCH] arm64: dts: allwinner: sun50i-a64-olinuxino: Add RX delay

Andrew Lunn <[email protected]>
Newsgroups dev.linux.lists.linux-sunxi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
On Sat, Aug 15, 2026 at 03:53:16AM +0300, Roman Riabenko wrote:
> The Ethernet on Olimex A64-OlinuXino computers requires an RX delay
> greater than 0. If the value is not set or is 0, packet loss in the
> downlink direction is severe enough to interfere with downloads and
> disrupt software installation.
> 
> The range of acceptable values is wide. The vendor has been applying
> 200 ps in its downstream DTs since 2021. This patch matches that
> common practice.
> 
> Signed-off-by: Roman Riabenko <[email protected]>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> index fd3794678c33..6c8b79c257b9 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> @@ -106,6 +106,7 @@ &emac {
>  	phy-handle = <&ext_rgmii_phy>;
>  	phy-supply = <&reg_dcdc1>;
>  	allwinner,tx-delay-ps = <600>;
> +	allwinner,rx-delay-ps = <200>;
>  	status = "okay";
>  };

The full node is:

&emac {
        pinctrl-names = "default";
        pinctrl-0 = <&rgmii_pins>;
        phy-mode = "rgmii";
        phy-handle = <&ext_rgmii_phy>;
        phy-supply = <&reg_dcdc1>;
        allwinner,tx-delay-ps = <600>;
        status = "okay";
};

Please take a read of:

https://elixir.bootlin.com/linux/v6.15/source/Documentation/devicetree/bindings/net/ethernet-controller.yaml#L287

phy-mode of "rgmii" is questionable. Does the PCB have extra long
clock lines?

600/200ps is actually very small. It should be around 2000.

	  Andrew
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.