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

Andrew Lunn andrew at lunn.ch
Wed Aug 19 06:48:03 PDT 2026


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 <roman at riabenko.com>
> ---
>  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



More information about the linux-arm-kernel mailing list