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

Jacky Chou posted 4 patches 4 months ago
There is a newer version of this series
[net-next v2 3/4] ARM: dts: aspeed: ast2600evb: Add delay setting for MAC
Posted by Jacky Chou 4 months ago
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@aspeedtech.com>
---
 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
Re: [net-next v2 3/4] ARM: dts: aspeed: ast2600evb: Add delay setting for MAC
Posted by Andrew Lunn 4 months ago
> @@ -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>;
>  };

Documentation/devicetree/bindings/net/ethernet-controller.yaml

# Sometimes there is a need to fine tune the delays. Often the MAC or
# PHY can perform this fine tuning. In the MAC node, the Device Tree
# properties 'rx-internal-delay-ps' and 'tx-internal-delay-ps' should
# be used to indicate fine tuning performed by the MAC. The values
# expected here are small. A value of 2000ps, i.e 2ns, and a phy-mode
# of 'rgmii' will not be accepted by Reviewers.

    Andrew

---
pw-bot: cr