aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2014-11-05 14:02:00 -0500
committerJason Cooper <jason@lakedaemon.net>2014-11-06 22:29:25 -0500
commit9ef90cbb0860d3434fdc4bf9674adca1b762f95e (patch)
tree4bc4f17bfd4b3ef864d41d340506204f51536f8d
parenta6b334514be27aec1bf31c7673c2f55bd6fbd3e6 (diff)
mvebu: 370 RD: Add support for the switch
The 370 rd has a 7 port, mv88E6182 switch, connected to eth1. Add a fixed-link subnode to the ethernet device tree node, to force gigabit/full duplex. Add a dsa node, with describing the four used ports. This requires adding an alias to the mdio node, so it can be referenced as a phandle. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Link: https://lkml.kernel.org/r/1415214121-29286-3-git-send-email-andrew@lunn.ch Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/boot/dts/armada-370-rd.dts49
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi2
2 files changed, 45 insertions, 6 deletions
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index f57a8f841498..2bb671a778db 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -85,10 +85,6 @@
85 phy0: ethernet-phy@0 { 85 phy0: ethernet-phy@0 {
86 reg = <0>; 86 reg = <0>;
87 }; 87 };
88
89 phy1: ethernet-phy@1 {
90 reg = <1>;
91 };
92 }; 88 };
93 89
94 ethernet@70000 { 90 ethernet@70000 {
@@ -100,8 +96,11 @@
100 pinctrl-0 = <&ge1_rgmii_pins>; 96 pinctrl-0 = <&ge1_rgmii_pins>;
101 pinctrl-names = "default"; 97 pinctrl-names = "default";
102 status = "okay"; 98 status = "okay";
103 phy = <&phy1>;
104 phy-mode = "rgmii-id"; 99 phy-mode = "rgmii-id";
100 fixed-link {
101 speed = <1000>;
102 full-duplex;
103 };
105 }; 104 };
106 105
107 mvsdio@d4000 { 106 mvsdio@d4000 {
@@ -173,4 +172,44 @@
173 }; 172 };
174 }; 173 };
175 }; 174 };
175
176 dsa@0 {
177 compatible = "marvell,dsa";
178 #address-cells = <2>;
179 #size-cells = <0>;
180
181 dsa,ethernet = <&eth1>;
182 dsa,mii-bus = <&mdio>;
183
184 switch@0 {
185 #address-cells = <1>;
186 #size-cells = <0>;
187 reg = <0x10 0>; /* MDIO address 16, switch 0 in tree */
188
189 port@0 {
190 reg = <0>;
191 label = "lan0";
192 };
193
194 port@1 {
195 reg = <1>;
196 label = "lan1";
197 };
198
199 port@2 {
200 reg = <2>;
201 label = "lan2";
202 };
203
204 port@3 {
205 reg = <3>;
206 label = "lan3";
207 };
208
209 port@5 {
210 reg = <5>;
211 label = "cpu";
212 };
213 };
214 };
176 }; 215 };
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 83286ec9702c..4d84ca981fe0 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -232,7 +232,7 @@
232 status = "disabled"; 232 status = "disabled";
233 }; 233 };
234 234
235 mdio { 235 mdio: mdio {
236 #address-cells = <1>; 236 #address-cells = <1>;
237 #size-cells = <0>; 237 #size-cells = <0>;
238 compatible = "marvell,orion-mdio"; 238 compatible = "marvell,orion-mdio";