Commit 0181f6f1 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Thomas Bogendoerfer

MIPS: mscc: ocelot: disable all switch ports by default

The ocelot switch driver used to ignore ports which do not have a
phy-handle property and not probe those, but this is not quite ok since
it is valid to not have a phy-handle property if there is a fixed-link.

It seems that checking for a phy-handle was a proxy for the proper check
which is for the status, but that doesn't make a lot of sense, since the
ocelot driver already iterates using for_each_available_child_of_node
which skips the disabled ports, so I have no idea.

Anyway, a widespread pattern in device trees is for a SoC dtsi to
disable by default all hardware, and let board dts files enable what is
used. So let's do that and enable only the ports with a phy-handle in
the pcb120 and pcb123 device tree files.
Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent cd92dbaf
...@@ -150,36 +150,47 @@ ethernet-ports { ...@@ -150,36 +150,47 @@ ethernet-ports {
port0: port@0 { port0: port@0 {
reg = <0>; reg = <0>;
status = "disabled";
}; };
port1: port@1 { port1: port@1 {
reg = <1>; reg = <1>;
status = "disabled";
}; };
port2: port@2 { port2: port@2 {
reg = <2>; reg = <2>;
status = "disabled";
}; };
port3: port@3 { port3: port@3 {
reg = <3>; reg = <3>;
status = "disabled";
}; };
port4: port@4 { port4: port@4 {
reg = <4>; reg = <4>;
status = "disabled";
}; };
port5: port@5 { port5: port@5 {
reg = <5>; reg = <5>;
status = "disabled";
}; };
port6: port@6 { port6: port@6 {
reg = <6>; reg = <6>;
status = "disabled";
}; };
port7: port@7 { port7: port@7 {
reg = <7>; reg = <7>;
status = "disabled";
}; };
port8: port@8 { port8: port@8 {
reg = <8>; reg = <8>;
status = "disabled";
}; };
port9: port@9 { port9: port@9 {
reg = <9>; reg = <9>;
status = "disabled";
}; };
port10: port@10 { port10: port@10 {
reg = <10>; reg = <10>;
status = "disabled";
}; };
}; };
}; };
......
...@@ -69,40 +69,48 @@ phy4: ethernet-phy@3 { ...@@ -69,40 +69,48 @@ phy4: ethernet-phy@3 {
}; };
&port0 { &port0 {
status = "okay";
phy-handle = <&phy0>; phy-handle = <&phy0>;
}; };
&port1 { &port1 {
status = "okay";
phy-handle = <&phy1>; phy-handle = <&phy1>;
}; };
&port2 { &port2 {
status = "okay";
phy-handle = <&phy2>; phy-handle = <&phy2>;
}; };
&port3 { &port3 {
status = "okay";
phy-handle = <&phy3>; phy-handle = <&phy3>;
}; };
&port4 { &port4 {
status = "okay";
phy-handle = <&phy7>; phy-handle = <&phy7>;
phy-mode = "sgmii"; phy-mode = "sgmii";
phys = <&serdes 4 SERDES1G(2)>; phys = <&serdes 4 SERDES1G(2)>;
}; };
&port5 { &port5 {
status = "okay";
phy-handle = <&phy4>; phy-handle = <&phy4>;
phy-mode = "sgmii"; phy-mode = "sgmii";
phys = <&serdes 5 SERDES1G(5)>; phys = <&serdes 5 SERDES1G(5)>;
}; };
&port6 { &port6 {
status = "okay";
phy-handle = <&phy6>; phy-handle = <&phy6>;
phy-mode = "sgmii"; phy-mode = "sgmii";
phys = <&serdes 6 SERDES1G(3)>; phys = <&serdes 6 SERDES1G(3)>;
}; };
&port9 { &port9 {
status = "okay";
phy-handle = <&phy5>; phy-handle = <&phy5>;
phy-mode = "sgmii"; phy-mode = "sgmii";
phys = <&serdes 9 SERDES1G(4)>; phys = <&serdes 9 SERDES1G(4)>;
......
...@@ -47,17 +47,21 @@ &mdio0 { ...@@ -47,17 +47,21 @@ &mdio0 {
}; };
&port0 { &port0 {
status = "okay";
phy-handle = <&phy0>; phy-handle = <&phy0>;
}; };
&port1 { &port1 {
status = "okay";
phy-handle = <&phy1>; phy-handle = <&phy1>;
}; };
&port2 { &port2 {
status = "okay";
phy-handle = <&phy2>; phy-handle = <&phy2>;
}; };
&port3 { &port3 {
status = "okay";
phy-handle = <&phy3>; phy-handle = <&phy3>;
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment