Skip to contentSkip to conversation

ARM: Kirkwood: Fix DT based DSA.

PATCH Superseded Andrew Lunn 2 participants 2 messages Aug 30, 2014 – Aug 31, 2014 Device tree bindings

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: Kirkwood: Fix DT based DSA.

During the conversion of boards to use DT to instantiate Distributed Switch Architecture, nobody volunteered to test. As to be expected, the conversion was flawed. Testers and access to hardware has now become available, and this patch hopefully fixes the problems.

dsa,mii-bus must be a phandle to the top level mdio node, not the port specific subnode of the mdio device.

dsa,ethernet must be a phandle to the port subnode within the ethernet DT node, not the ethernet node.

Fixes e2eaa339af441b3d51cdaa16870065c4154ce13c
Fixes e7c8f3808be854379c9784745663a55371cbf232

---

NOTE: This is a request for testing. Please do not commit unless it gains a Tested-by: There is a user out there of one of these boards, so hopefully it will get tested.

 arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 16 ++++++----------
 arch/arm/boot/dts/kirkwood-rd88f6281.dtsi      | 13 ++++---------
 arch/arm/boot/dts/kirkwood.dtsi                |  4 ++--
 3 files changed, 12 insertions(+), 21 deletions(-)
arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts +6 -10
index 8f76d28759a3..f82827d6fcff 100644
@@ -123,11 +123,11 @@
 
 	dsa at 0 {
 		compatible = "marvell,dsa";
-		#address-cells = <2>;
+		#address-cells = <1>;
 		#size-cells = <0>;
 
-		dsa,ethernet = <&eth0>;
-		dsa,mii-bus = <&ethphy0>;
+		dsa,ethernet = <&eth0port>;
+		dsa,mii-bus = <&mdio>;
 
 		switch at 0 {
 			#address-cells = <1>;
@@ -169,17 +169,13 @@
 
 &mdio {
 	status = "okay";
-
-	ethphy0: ethernet-phy at ff {
-		reg = <0xff>; 	/* No phy attached */
-		speed = <1000>;
-		duplex = <1>;
-	};
 };
 
 &eth0 {
 	status = "okay";
+
 	ethernet0-port at 0 {
-		phy-handle = <&ethphy0>;
+		speed = <1000>;
+		duplex = <1>;
 	};
 };
arch/arm/boot/dts/kirkwood-rd88f6281.dtsi +4 -9
index 26cf0e0ccefd..57e5213c11cf 100644
@@ -69,8 +69,8 @@
 		#address-cells = <2>;
 		#size-cells = <0>;
 
-		dsa,ethernet = <&eth0>;
-		dsa,mii-bus = <&ethphy1>;
+		dsa,ethernet = <&eth0port>;
+		dsa,mii-bus = <&mdio>;
 
 		switch at 0 {
 			#address-cells = <1>;
@@ -130,12 +130,6 @@
 	ethphy0: ethernet-phy at 0 {
 		reg = <0>;
 	};
-
-	ethphy1: ethernet-phy at ff {
-		reg = <0xff>; /* No PHY attached */
-		speed = <1000>;
-		duple = <1>;
-	};
 };
 
 &eth0 {
@@ -148,6 +142,7 @@
 &eth1 {
 	status = "okay";
 	ethernet1-port at 0 {
-		phy-handle = <&ethphy1>;
+		speed = <1000>;
+		duple = <1>;
 	};
 };
arch/arm/boot/dts/kirkwood.dtsi +2 -2
index afc640cd80c5..464f09a1a4a5 100644
@@ -309,7 +309,7 @@
 			marvell,tx-checksum-limit = <1600>;
 			status = "disabled";
 
-			ethernet0-port at 0 {
+			eth0port: ethernet0-port at 0 {
 				compatible = "marvell,kirkwood-eth-port";
 				reg = <0>;
 				interrupts = <11>;
@@ -342,7 +342,7 @@
 			pinctrl-names = "default";
 			status = "disabled";
 
-			ethernet1-port at 0 {
+			eth1port: ethernet1-port at 0 {
 				compatible = "marvell,kirkwood-eth-port";
 				reg = <0>;
 				interrupts = <15>;
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 ARM: Kirkwood: Fix DT based DSA.

Quoted 5 lines · Andrew Lunn

During the conversion of boards to use DT to instantiate Distributed Switch Architecture, nobody volunteered to test. As to be expected, the conversion was flawed. Testers and access to hardware has now become available, and this patch hopefully fixes the problems.

Quoted 8 lines

dsa,mii-bus must be a phandle to the top level mdio node, not the port specific subnode of the mdio device.

dsa,ethernet must be a phandle to the port subnode within the ethernet DT node, not the ethernet node.

Fixes e2eaa339af441b3d51cdaa16870065c4154ce13c
Fixes e7c8f3808be854379c9784745663a55371cbf232

Your changes look good with respect to how the binding is defined.

Quoted 3 lines

---

[snip]

arch/arm/boot/dts/kirkwood-rd88f6281.dtsi line 146

Quoted 8 lines
  &eth0 {
arch/arm/boot/dts/kirkwood-rd88f6281.dtsi +2 -1
@@ -148,6 +142,7 @@
  &eth1 {
  	status = "okay";
  	ethernet1-port at 0 {
-		phy-handle = <&ethphy1>;
+		speed = <1000>;
+		duple = <1>;

Typo here: should be "duplex".

Quoted 25 lines
(quoted diff) +0 -0
  	};
  };
arch/arm/boot/dts/kirkwood.dtsi +2 -2
index afc640cd80c5..464f09a1a4a5 100644
@@ -309,7 +309,7 @@
  			marvell,tx-checksum-limit = <1600>;
  			status = "disabled";
 
-			ethernet0-port at 0 {
+			eth0port: ethernet0-port at 0 {
  				compatible = "marvell,kirkwood-eth-port";
  				reg = <0>;
  				interrupts = <11>;
@@ -342,7 +342,7 @@
  			pinctrl-names = "default";
  			status = "disabled";
 
-			ethernet1-port at 0 {
+			eth1port: ethernet1-port at 0 {
  				compatible = "marvell,kirkwood-eth-port";
  				reg = <0>;
  				interrupts = <15>;