1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00

ARM: dts: BCM5301X: Describe switch ports in the main DTS

All Northstar SoCs have BCM5301x switches (BCM53011, BCM53012) with 8
ports (0-8 without 6). By design 3 switch ports (5, 7 and 8) are
hardwired to 3 on-SoC Ethernet interfaces. Switch port 8 requires
forcing link state.

It seems that global Northstar .dtsi file is the best place to describe
those hw details. Only device specific bits (like labels) should go to
device .dts files.

This seems to fit well with a tiny exception of Asus RT-AC88U which
somehow was designed to have switch 5 connected to an extra switch. This
case was simply handled with a /delete-property/.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Christian Lamparter <chunkeey@gmail.com> (MR32+MR26)
Link: https://lore.kernel.org/r/20230605132109.7933-1-zajec5@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
This commit is contained in:
Rafał Miłecki 2023-06-05 15:21:09 +02:00 committed by Florian Fainelli
parent 1d5682ccc7
commit ba4aebce23
22 changed files with 51 additions and 163 deletions

View file

@ -304,10 +304,49 @@
status = "disabled"; status = "disabled";
/* ports are defined in board DTS */
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
port@0 {
reg = <0>;
};
port@1 {
reg = <1>;
};
port@2 {
reg = <2>;
};
port@3 {
reg = <3>;
};
port@4 {
reg = <4>;
};
port@5 {
reg = <5>;
ethernet = <&gmac0>;
};
port@7 {
reg = <7>;
ethernet = <&gmac1>;
};
port@8 {
reg = <8>;
ethernet = <&gmac2>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
}; };
}; };

View file

@ -159,34 +159,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan1"; label = "lan1";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan2"; label = "lan2";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan4"; label = "lan4";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -75,19 +75,15 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "poe"; label = "poe";
}; };
port@4 { port@4 {
reg = <4>;
label = "lan"; label = "lan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -82,14 +82,11 @@
ports { ports {
port@4 { port@4 {
reg = <4>;
label = "lan"; label = "lan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -100,34 +100,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -123,34 +123,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -123,34 +123,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan1"; label = "lan1";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan2"; label = "lan2";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan4"; label = "lan4";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -75,14 +75,11 @@
ports { ports {
port@4 { port@4 {
reg = <4>;
label = "poe"; label = "poe";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -124,36 +124,29 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
nvmem-cells = <&et0macaddr 5>; nvmem-cells = <&et0macaddr 5>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -191,39 +191,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan1"; label = "lan1";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan2"; label = "lan2";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan4"; label = "lan4";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@8 { port@8 {
reg = <8>;
label = "cpu"; label = "cpu";
ethernet = <&gmac2>;
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
}; };
}; };

View file

@ -181,32 +181,28 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
sw0_p5: port@5 { sw0_p5: port@5 {
reg = <5>; /delete-property/ethernet;
label = "extsw"; label = "extsw";
phy-mode = "rgmii"; phy-mode = "rgmii";
@ -218,8 +214,6 @@
}; };
port@7 { port@7 {
reg = <7>;
ethernet = <&gmac1>;
label = "cpu"; label = "cpu";
fixed-link { fixed-link {
@ -229,14 +223,7 @@
}; };
port@8 { port@8 {
reg = <8>;
ethernet = <&gmac2>;
label = "cpu"; label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
}; };
}; };

View file

@ -124,39 +124,27 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@8 { port@8 {
reg = <8>;
label = "cpu"; label = "cpu";
ethernet = <&gmac2>;
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
}; };
}; };

View file

@ -172,40 +172,28 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan1"; label = "lan1";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan2"; label = "lan2";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan4"; label = "lan4";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@8 { port@8 {
reg = <8>;
label = "cpu"; label = "cpu";
ethernet = <&gmac2>;
phy-mode = "rgmii"; phy-mode = "rgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
}; };
}; };

View file

@ -207,29 +207,32 @@
dsa,member = <0 0>; dsa,member = <0 0>;
ports { ports {
sw0_p0: port@0 {
label = "extsw";
fixed-link {
speed = <1000>;
full-duplex;
};
};
port@1 { port@1 {
reg = <1>;
label = "lan7"; label = "lan7";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan4"; label = "lan4";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan8"; label = "lan8";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
}; };
port@5 { port@5 {
reg = <5>;
ethernet = <&gmac0>;
label = "cpu"; label = "cpu";
status = "disabled"; status = "disabled";
@ -240,8 +243,6 @@
}; };
port@7 { port@7 {
reg = <7>;
ethernet = <&gmac1>;
label = "cpu"; label = "cpu";
status = "disabled"; status = "disabled";
@ -252,24 +253,7 @@
}; };
port@8 { port@8 {
reg = <8>;
ethernet = <&gmac2>;
label = "cpu"; label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
sw0_p0: port@0 {
reg = <0>;
label = "extsw";
fixed-link {
speed = <1000>;
full-duplex;
};
}; };
}; };
}; };

View file

@ -83,36 +83,29 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "wan"; label = "wan";
nvmem-cells = <&et0macaddr 1>; nvmem-cells = <&et0macaddr 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan4"; label = "lan4";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan2"; label = "lan2";
}; };
port@4 { port@4 {
reg = <4>;
label = "lan1"; label = "lan1";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -73,19 +73,15 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "poe"; label = "poe";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan"; label = "lan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -83,36 +83,29 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "wan"; label = "wan";
nvmem-cells = <&et0macaddr 1>; nvmem-cells = <&et0macaddr 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan4"; label = "lan4";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan3"; label = "lan3";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan2"; label = "lan2";
}; };
port@4 { port@4 {
reg = <4>;
label = "lan1"; label = "lan1";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -69,14 +69,11 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan"; label = "lan";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -123,36 +123,29 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
nvmem-cells = <&et0macaddr 5>; nvmem-cells = <&et0macaddr 5>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -98,36 +98,29 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "lan4"; label = "lan4";
}; };
port@1 { port@1 {
reg = <1>;
label = "lan3"; label = "lan3";
}; };
port@2 { port@2 {
reg = <2>;
label = "lan2"; label = "lan2";
}; };
port@3 { port@3 {
reg = <3>;
label = "lan1"; label = "lan1";
}; };
port@4 { port@4 {
reg = <4>;
label = "wan"; label = "wan";
nvmem-cells = <&et0macaddr 5>; nvmem-cells = <&et0macaddr 5>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
}; };
}; };
}; };

View file

@ -115,14 +115,11 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "poe"; label = "poe";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
fixed-link { fixed-link {
speed = <1000>; speed = <1000>;

View file

@ -176,14 +176,11 @@
ports { ports {
port@0 { port@0 {
reg = <0>;
label = "poe"; label = "poe";
}; };
port@5 { port@5 {
reg = <5>;
label = "cpu"; label = "cpu";
ethernet = <&gmac0>;
fixed-link { fixed-link {
speed = <1000>; speed = <1000>;