[RFC PATCH 5/5] airoha: add PCS node for AN7581
Christian Marangi
ansuelsmth at gmail.com
Sat Aug 23 01:29:19 CEST 2025
Add PCS node for Airoha AN7581 SoC to enable support for Serdes Ethernet
and PON port.
Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
arch/arm/dts/an7581-u-boot.dtsi | 71 +++++++++++++++++++++++++++++
arch/arm/dts/en7581-evb-u-boot.dtsi | 18 ++++++++
2 files changed, 89 insertions(+)
diff --git a/arch/arm/dts/an7581-u-boot.dtsi b/arch/arm/dts/an7581-u-boot.dtsi
index a9297ca6503..9ee0f808660 100644
--- a/arch/arm/dts/an7581-u-boot.dtsi
+++ b/arch/arm/dts/an7581-u-boot.dtsi
@@ -35,6 +35,48 @@
reg = <0x0 0x1fa20000 0x0 0x388>;
};
+ pon_pcs: pcs at 1fa08000 {
+ compatible = "airoha,an7581-pcs-pon";
+ reg = <0x0 0x1fa08000 0x0 0x1000>,
+ <0x0 0x1fa80000 0x0 0x60>,
+ <0x0 0x1fa80a00 0x0 0x164>,
+ <0x0 0x1fa84000 0x0 0x450>,
+ <0x0 0x1fa85900 0x0 0x338>,
+ <0x0 0x1fa86000 0x0 0x300>,
+ <0x0 0x1fa8a000 0x0 0x1000>,
+ <0x0 0x1fa8b000 0x0 0x1000>;
+ reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+ "multi_sgmii", "usxgmii",
+ "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+
+ resets = <&scuclk EN7581_XPON_MAC_RST>,
+ <&scuclk EN7581_XPON_PHY_RST>;
+ reset-names = "mac", "phy";
+
+ airoha,scu = <&scuclk>;
+ };
+
+ eth_pcs: pcs at 1fa09000 {
+ compatible = "airoha,an7581-pcs-eth";
+ reg = <0x0 0x1fa09000 0x0 0x1000>,
+ <0x0 0x1fa70000 0x0 0x60>,
+ <0x0 0x1fa70a00 0x0 0x164>,
+ <0x0 0x1fa74000 0x0 0x450>,
+ <0x0 0x1fa75900 0x0 0x338>,
+ <0x0 0x1fa76000 0x0 0x300>,
+ <0x0 0x1fa7a000 0x0 0x1000>,
+ <0x0 0x1fa7b000 0x0 0x1000>;
+ reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+ "multi_sgmii", "usxgmii",
+ "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+
+ resets = <&scuclk EN7581_XSI_MAC_RST>,
+ <&scuclk EN7581_XSI_PHY_RST>;
+ reset-names = "mac", "phy";
+
+ airoha,scu = <&scuclk>;
+ };
+
eth: ethernet at 1fb50000 {
compatible = "airoha,en7581-eth";
reg = <0 0x1fb50000 0 0x2600>,
@@ -52,6 +94,35 @@
reset-names = "fe", "pdma", "qdma",
"hsi0-mac", "hsi1-mac", "hsi-mac",
"xfp-mac";
+
+ gdm1: ethernet at 1 {
+ compatible = "airoha,eth-mac";
+ reg = <1>;
+ phy-mode = "internal";
+ status = "disabled";
+
+ fixed-link {
+ speed = <10000>;
+ full-duplex;
+ pause;
+ };
+ };
+
+ gdm2: ethernet at 2 {
+ compatible = "airoha,eth-mac";
+ reg = <2>;
+ pcs = <&pon_pcs>;
+
+ status = "disabled";
+ };
+
+ gdm4: ethernet at 4 {
+ compatible = "airoha,eth-mac";
+ reg = <4>;
+ pcs = <ð_pcs>;
+
+ status = "disabled";
+ };
};
switch: switch at 1fb58000 {
diff --git a/arch/arm/dts/en7581-evb-u-boot.dtsi b/arch/arm/dts/en7581-evb-u-boot.dtsi
index ebd3b8b4958..6b084e3defe 100644
--- a/arch/arm/dts/en7581-evb-u-boot.dtsi
+++ b/arch/arm/dts/en7581-evb-u-boot.dtsi
@@ -9,3 +9,21 @@
};
#include "an7581-u-boot.dtsi"
+
+&gdm1 {
+ status = "okay";
+};
+
+&gdm2 {
+ // status = "okay";
+
+ managed = "in-band-status";
+ phy-mode = "10gbase-r";
+};
+
+&gdm4 {
+ status = "okay";
+
+ managed = "in-band-status";
+ phy-mode = "usxgmii";
+};
--
2.50.0
More information about the U-Boot
mailing list