[net-next v2 3/4] ARM: dts: aspeed: ast2600evb: Add delay setting for MAC

From: Jacky Chou
Date: Wed Aug 13 2025 - 02:34:10 EST


We use the rx-internal-delay-ps and the tx-internal-delay-ps to
configure the RGMII delay. And change the phy_mode of MAC0 and MAC1 to
"rgmii-id" to enable the TX/RX internal delay on PHY side. MAC0 and
MAC1 configure on the edge delay.
Keep the phy_mode of MAC2 and MAC3 to "rgmii". The RGMII delay of MAC2
and MAC3 can generate the delay to meet clock center, so we just add the
delay property to let driver to configure 2ns delay.

Signed-off-by: Jacky Chou <jacky_chou@xxxxxxxxxxxxxx>
---
arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
index de83c0eb1d6e..dc4d437a39ed 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
@@ -123,22 +123,28 @@ ethphy3: ethernet-phy@0 {
&mac0 {
status = "okay";

- phy-mode = "rgmii-rxid";
+ phy-mode = "rgmii-id";
phy-handle = <&ethphy0>;

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default>;
+
+ rx-internal-delay-ps = <0>;
+ tx-internal-delay-ps = <0>;
};


&mac1 {
status = "okay";

- phy-mode = "rgmii-rxid";
+ phy-mode = "rgmii-id";
phy-handle = <&ethphy1>;

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii2_default>;
+
+ rx-internal-delay-ps = <0>;
+ tx-internal-delay-ps = <0>;
};

&mac2 {
@@ -149,6 +155,9 @@ &mac2 {

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii3_default>;
+
+ rx-internal-delay-ps = <2000>;
+ tx-internal-delay-ps = <2000>;
};

&mac3 {
@@ -159,6 +168,9 @@ &mac3 {

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii4_default>;
+
+ rx-internal-delay-ps = <2000>;
+ tx-internal-delay-ps = <2000>;
};

&emmc_controller {
--
2.43.0