Re: [PATCH v2 3/3] arm64: dts: rockchip: Add Luckfox Omni3576 Board support

From: John Clark
Date: Sun May 04 2025 - 17:02:48 EST


On 5/4/25 10:12 AM, Andrew Lunn wrote:
+&gmac0 {
+ clock_in_out = "output";
+ phy-handle = <&rgmii_phy0>;
+ phy-mode = "rgmii-rxid";

See Andrew's remark on v1 of this patch.

Hi John

If you have questions, please ask. It is not a good idea to silently
ignore reviewers comments. Either do something about it, ask
questions, or politely argue why the reviewer is wrong, because
sometimes we are.

Hi Andrew,
Thanks for your feedback and the link to the RGMII delays discussion. I assumed you suggested switching to phy-mode = "rgmii-id" from rgmii-rxid. The vendor’s downstream kernel uses rgmii-rxid with tx_delay = <0x20>, as shown in my post. I tried rgmii-id and removed tx_delay, but the interface failed to get a DHCP address. Reverting to rgmii-rxid with the delay restored functionality. Any advice on correctly configuring rgmii-id or adjusting delays for this board?
Best,
John Clark

+ pinctrl-names = "default";
+ pinctrl-0 = <&eth0m0_miim
+ &eth0m0_tx_bus2
+ &eth0m0_rx_bus2
+ &eth0m0_rgmii_clk
+ &eth0m0_rgmii_bus
+ &ethm0_clk0_25m_out>;
+ snps,reset-gpio = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+ snps,reset-delays-us = <0 20000 100000>;

The snps,reset- props are depracated, please move to reset props in the
Ethernet PHY node.

FYI: snps,dwmac.yaml says:

snps,reset-gpio:
deprecated: true
maxItems: 1
description:
PHY Reset GPIO

Anything with 'deprecated: true' you should not be using in new DT
blobs. Don't blindly copy vendor DT, you need to verify it is up to
Mainline quality, and if not, bring it up to Mainline quality.

+ tx_delay = <0x20>;

This property probably plays a role in the issue with phy-mode.

arch/arm64/boot/dts/rockchip$ grep "rgmii-id" *
rk3328-orangepi-r1-plus-lts.dts: phy-mode = "rgmii-id";
rk3566-bigtreetech-cb2.dtsi: phy-mode = "rgmii-id";
rk3566-nanopi-r3s.dts: phy-mode = "rgmii-id";
rk3566-odroid-m1s.dts: phy-mode = "rgmii-id";
rk3566-orangepi-3b.dtsi: phy-mode = "rgmii-id";
rk3566-radxa-zero-3e.dts: phy-mode = "rgmii-id";
rk3566-rock-3c.dts: phy-mode = "rgmii-id";
rk3568-evb1-v10.dts: phy-mode = "rgmii-id";
rk3568-evb1-v10.dts: phy-mode = "rgmii-id";
...
etc.

You might be able to learn something from these.

Andrew