phy-mode = "qsgmii";
phys = <&serdes 0>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan4";
};
port1: port@1 {
phy-mode = "qsgmii";
phys = <&serdes 0>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan3";
};
port2: port@2 {
phy-mode = "qsgmii";
phys = <&serdes 0>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan2";
};
port3: port@3 {
phy-mode = "qsgmii";
phys = <&serdes 0>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan1";
};
port4: port@4 {
phy-mode = "qsgmii";
phys = <&serdes 1>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan8";
};
port5: port@5 {
phy-mode = "qsgmii";
phys = <&serdes 1>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan7";
};
port6: port@6 {
phy-mode = "qsgmii";
phys = <&serdes 1>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan6";
};
port7: port@7 {
phy-mode = "qsgmii";
phys = <&serdes 1>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan5";
};
port8: port@8 {
phy-mode = "qsgmii";
phys = <&serdes 2>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan12";
};
port9: port@9 {
phy-mode = "qsgmii";
phys = <&serdes 2>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan11";
};
port10: port@10 {
phy-mode = "qsgmii";
phys = <&serdes 2>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan10";
};
port11: port@11 {
phy-mode = "qsgmii";
phys = <&serdes 2>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan9";
};
port12: port@12 {
phy-mode = "qsgmii";
phys = <&serdes 3>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan16";
};
port13: port@13 {
phy-mode = "qsgmii";
phys = <&serdes 3>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan15";
};
port14: port@14 {
phy-mode = "qsgmii";
phys = <&serdes 3>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan14";
};
port15: port@15 {
phy-mode = "qsgmii";
phys = <&serdes 3>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan13";
};
port16: port@16 {
phy-mode = "qsgmii";
phys = <&serdes 4>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan20";
};
port17: port@17 {
phy-mode = "qsgmii";
phys = <&serdes 4>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan19";
};
port18: port@18 {
phy-mode = "qsgmii";
phys = <&serdes 4>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan18";
};
port19: port@19 {
phy-mode = "qsgmii";
phys = <&serdes 4>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan17";
};
port20: port@20 {
phy-mode = "qsgmii";
phys = <&serdes 5>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan24";
};
port21: port@21 {
phy-mode = "qsgmii";
phys = <&serdes 5>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan23";
};
port22: port@22 {
phy-mode = "qsgmii";
phys = <&serdes 5>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan22";
};
port23: port@23 {
phy-mode = "qsgmii";
phys = <&serdes 5>;
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "lan21";
};
port24: port@24 {
managed = "in-band-status";
microchip,bandwidth = <10000>;
microchip,sd-sgpio = <24>;
+ openwrt,netdev-name = "sfp1";
};
port25: port@25 {
managed = "in-band-status";
microchip,bandwidth = <10000>;
microchip,sd-sgpio = <28>;
+ openwrt,netdev-name = "sfp2";
};
port26: port@26 {
managed = "in-band-status";
microchip,bandwidth = <10000>;
microchip,sd-sgpio = <32>;
+ openwrt,netdev-name = "sfp3";
};
port27: port@27 {
managed = "in-band-status";
microchip,bandwidth = <10000>;
microchip,sd-sgpio = <36>;
+ openwrt,netdev-name = "sfp4";
};
port29: port@29 {
phy-handle = <&phy3>;
phy-mode = "rgmii-id";
microchip,bandwidth = <1000>;
+ openwrt,netdev-name = "mgmt";
};
};
};
--- /dev/null
+From fc6aa0e470e092873eddb213d996a8beee86bf4d Mon Sep 17 00:00:00 2001
+From: Robert Marko <robert.marko@sartura.hr>
+Date: Mon, 10 Nov 2025 13:42:53 +0100
+Subject: [PATCH] net: sparx5/lan969x: populate netdev of_node
+
+Populate of_node for the port netdevs, to make the individual ports
+of_nodes available in sysfs.
+
+Signed-off-by: Robert Marko <robert.marko@sartura.hr>
+Link: https://patch.msgid.link/20251110124342.199216-1-robert.marko@sartura.hr
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+---
+ drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
+@@ -396,6 +396,8 @@ static int sparx5_create_port(struct spa
+
+ spx5_port->phylink = phylink;
+
++ spx5_port->ndev->dev.of_node = spx5_port->of_node;
++
+ return 0;
+ }
+