]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
airoha: update PCS node in DTSI for new PCS implementation 23271/head
authorChristian Marangi <ansuelsmth@gmail.com>
Tue, 12 May 2026 22:06:52 +0000 (00:06 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Tue, 12 May 2026 22:19:31 +0000 (00:19 +0200)
Update the PCS node in AN7581/AN7583 .dtsi for new PCS implementation.

The #pcs-cell is now needed for the produced/consumer implementation.
Also add entry for USB and PCIe PCS for AN7581 but keep them disabled
by default. USB and PCIe PCS for AN7583 node will be added later once PHY
code will stabilize.

Link: https://github.com/openwrt/openwrt/pull/23271
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/airoha/dts/an7581.dtsi
target/linux/airoha/dts/an7583.dtsi

index acddd89cf0f2be19e6c30a21290da3bc7d78a5f3..a7a917c32ff245887da9d2898f14edbac772237c 100644 (file)
                              <0x0 0x1fa86000 0x0 0x300>,
                              <0x0 0x1fa8a000 0x0 0x1000>,
                              <0x0 0x1fa8b000 0x0 0x1000>;
-                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                       reg-names = "pcs_mac", "hsgmii_an", "hsgmii_pcs",
                                    "multi_sgmii", "usxgmii",
-                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+                                   "hsgmii_rate_adp", "pcs_ana", "pcs_pma";
 
                        resets = <&scuclk EN7581_XPON_MAC_RST>,
                                 <&scuclk EN7581_XPON_PHY_RST>;
                        reset-names = "mac", "phy";
 
                        airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <0>;
                };
 
                eth_pcs: pcs@1fa09000 {
                              <0x0 0x1fa76000 0x0 0x300>,
                              <0x0 0x1fa7a000 0x0 0x1000>,
                              <0x0 0x1fa7b000 0x0 0x1000>;
-                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                       reg-names = "pcs_mac", "hsgmii_an", "hsgmii_pcs",
                                    "multi_sgmii", "usxgmii",
-                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+                                   "hsgmii_rate_adp", "pcs_ana", "pcs_pma";
 
                        resets = <&scuclk EN7581_XSI_MAC_RST>,
                                 <&scuclk EN7581_XSI_PHY_RST>;
                        reset-names = "mac", "phy";
 
                        airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <0>;
+               };
+
+               pcie_pcs: pcs@1fa04000 {
+                       compatible = "airoha,an7581-pcs-pcie";
+                       reg = <0x0 0x1fa04000 0x0 0x1000>,
+                             <0x0 0x1fa50000 0x0 0x60>,
+                             <0x0 0x1fa50a00 0x0 0x164>,
+                             <0x0 0x1fa54000 0x0 0x450>,
+                             <0x0 0x1fa55900 0x0 0x338>,
+                             <0x0 0x1fa56000 0x0 0x300>,
+                             <0x0 0x1fa05000 0x0 0x1000>,
+                             <0x0 0x1fa60000 0x0 0x60>,
+                             <0x0 0x1fa60a00 0x0 0x164>,
+                             <0x0 0x1fa64000 0x0 0x450>,
+                             <0x0 0x1fa65900 0x0 0x338>,
+                             <0x0 0x1fa66000 0x0 0x300>,
+                             <0x0 0x1fa5a000 0x0 0x1000>,
+                             <0x0 0x1fa5b000 0x0 0x1000>,
+                             <0x0 0x1fa5c000 0x0 0x1000>;
+                       reg-names = "pcs_mac0", "hsgmii_an0", "hsgmii_pcs0",
+                                   "multi_sgmii0", "usxgmii0",
+                                   "hsgmii_rate_adp0",
+                                   "pcs_mac1", "hsgmii_an1", "hsgmii_pcs1",
+                                   "multi_sgmii1", "usxgmii1",
+                                   "hsgmii_rate_adp1",
+                                   "pcs_ana", "pcs_pma0", "pcs_pma1";
+
+                       airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <1>;
+
+                       status = "disabled";
+               };
+
+               usb_pcs: pcs@1fa07000 {
+                       compatible = "airoha,an7581-pcs-usb";
+                       reg = <0x0 0x1fa07000 0x0 0x1000>,
+                             <0x0 0x1fa90000 0x0 0x60>,
+                             <0x0 0x1fa90a00 0x0 0x164>,
+                             <0x0 0x1fa94000 0x0 0x450>,
+                             <0x0 0x1fa96000 0x0 0x300>,
+                             <0x0 0x1fa9a000 0x0 0x600>;
+                       reg-names = "pcs_mac", "hsgmii_an", "hsgmii_pcs",
+                                   "multi_sgmii",
+                                   "hsgmii_rate_adp","pcs_ana";
+
+                       phys = <&usb0_phy PHY_TYPE_USB3>;
+
+                       airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <0>;
+
+                       status = "disabled";
                };
 
                chip_scu: syscon@1fa20000 {
index 33d5be15131267209135e79f97629e29881fb8c2..743eeb7cec8de418200aae7a0c6061d7912da35e 100644 (file)
                              <0x0 0x1fa86000 0x0 0x300>,
                              <0x0 0x1fa8f000 0x0 0x1000>,
                              <0x0 0x1fa8e000 0x0 0x1000>;
-                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                       reg-names = "pcs_mac", "hsgmii_an", "hsgmii_pcs",
                                    "multi_sgmii", "usxgmii",
-                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+                                   "hsgmii_rate_adp", "pcs_ana", "pcs_pma";
 
                        resets = <&scuclk AN7583_XPON_MAC_RST>,
                                 <&scuclk AN7583_XPON_PHY_RST>,
                        reset-names = "mac", "phy", "xfi";
 
                        airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <0>;
                };
 
                eth_pcs: pcs@1fa09000 {
                              <0x0 0x1fa76000 0x0 0x300>,
                              <0x0 0x1fa7f000 0x0 0x1000>,
                              <0x0 0x1fa7e000 0x0 0x1000>;
-                       reg-names = "xfi_mac", "hsgmii_an", "hsgmii_pcs",
+                       reg-names = "pcs_mac", "hsgmii_an", "hsgmii_pcs",
                                    "multi_sgmii", "usxgmii",
-                                   "hsgmii_rate_adp", "xfi_ana", "xfi_pma";
+                                   "hsgmii_rate_adp", "pcs_ana", "pcs_pma";
 
                        resets = <&scuclk AN7583_XSI_MAC_RST>,
                                 <&scuclk AN7583_XSI_PHY_RST>;
                        reset-names = "mac", "phy";
 
                        airoha,scu = <&scuclk>;
+
+                       #pcs-cells = <0>;
                };
 
                eth: ethernet@1fb50000 {