From: Christian Marangi <[email protected]>

Add PCS node for Airoha AN7583 SoC to enable support for Serdes Ethernet
and PON port.

Signed-off-by: Christian Marangi <[email protected]>
---
 arch/arm/dts/an7583-evb.dts | 18 ++++++++++
 arch/arm/dts/an7583.dtsi    | 72 +++++++++++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/arch/arm/dts/an7583-evb.dts b/arch/arm/dts/an7583-evb.dts
index d02cd194e8a..714c90eadfe 100644
--- a/arch/arm/dts/an7583-evb.dts
+++ b/arch/arm/dts/an7583-evb.dts
@@ -65,3 +65,21 @@
 &snfi {
        status = "okay";
 };
+
+&gdm1 {
+       status = "okay";
+};
+
+&gdm2 {
+       status = "okay";
+
+       managed = "in-band-status";
+       phy-mode = "usxgmii";
+};
+
+&gdm3 {
+       status = "okay";
+
+       managed = "in-band-status";
+       phy-mode = "2500base-x";
+};
diff --git a/arch/arm/dts/an7583.dtsi b/arch/arm/dts/an7583.dtsi
index ec6eab327db..c8f445b2c41 100644
--- a/arch/arm/dts/an7583.dtsi
+++ b/arch/arm/dts/an7583.dtsi
@@ -145,6 +145,49 @@
                        reg = <0x0 0x1fa20000 0x0 0x388>;
                };
 
+               pon_pcs: pcs@1fa08000 {
+                       compatible = "airoha,an7583-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 0x1fa8f000 0x0 0x1000>,
+                             <0x0 0x1fa8e000 0x0 0x1000>;
+                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                                   "multi_sgmii", "usxgmii",
+                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+
+                       resets = <&scuclk AN7583_XPON_MAC_RST>,
+                                <&scuclk AN7583_XPON_PHY_RST>,
+                                <&scuclk AN7583_XPON_XFI_RST>;
+                       reset-names = "mac", "phy", "xfi";
+
+                       airoha,scu = <&scuclk>;
+               };
+
+               eth_pcs: pcs@1fa09000 {
+                       compatible = "airoha,an7583-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 0x1fa7f000 0x0 0x1000>,
+                             <0x0 0x1fa7e000 0x0 0x1000>;
+                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                                   "multi_sgmii", "usxgmii",
+                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+
+                       resets = <&scuclk AN7583_XSI_MAC_RST>,
+                                <&scuclk AN7583_XSI_PHY_RST>;
+                       reset-names = "mac", "phy";
+
+                       airoha,scu = <&scuclk>;
+               };
+
                eth: ethernet@1fb50000 {
                        compatible = "airoha,an7583-eth";
                        reg = <0 0x1fb50000 0 0x2600>,
@@ -161,6 +204,35 @@
                        reset-names = "fe", "pdma", "qdma",
                                      "hsi0-mac", "hsi1-mac",
                                      "xfp-mac";
+
+                       gdm1: ethernet@1 {
+                               compatible = "airoha,eth-mac";
+                               reg = <1>;
+                               phy-mode = "internal";
+                               status = "disabled";
+
+                               fixed-link {
+                                       speed = <10000>;
+                                       full-duplex;
+                                       pause;
+                               };
+                       };
+
+                       gdm2: ethernet@2 {
+                               compatible = "airoha,eth-mac";
+                               reg = <2>;
+                               pcs = <&pon_pcs>;
+
+                               status = "disabled";
+                       };
+
+                       gdm3: ethernet@3 {
+                               compatible = "airoha,eth-mac";
+                               reg = <3>;
+                               pcs = <&eth_pcs>;
+
+                               status = "disabled";
+                       };
                };
 
                switch: switch@1fb58000 {
-- 
2.53.0

Reply via email to