--- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
@@ -69,9 +69,18 @@
 		};
 	};
 
-	dsa {
-		status = "disabled";
+	mvsw61xx {
+		compatible = "marvell,88e6171";
+		status = "okay";
+		reg = <0x10>;
+
+		mii-bus = <&mdio>;
+		cpu-port-0 = <5>;
+		cpu-port-1 = <6>;
+		is-indirect;
+	};
 
+	dsa {
 		compatible = "marvell,dsa";
 		#address-cells = <2>;
 		#size-cells = <0>;
@@ -163,22 +172,22 @@
 		};
 
 		partition@200000 {
-			label = "kernel";
+			label = "kernel1";
 			reg = <0x200000 0x2A0000>;
 		};
 
 		partition@4A0000 {
-			label = "rootfs";
+			label = "rootfs1";
 			reg = <0x4A0000 0x1760000>;
 		};
 
 		partition@1C00000 {
-			label = "alt_kernel";
+			label = "kernel2";
 			reg = <0x1C00000 0x2A0000>;
 		};
 
 		partition@1EA0000 {
-			label = "alt_rootfs";
+			label = "rootfs2";
 			reg = <0x1EA0000 0x1760000>;
 		};
 
@@ -209,53 +218,6 @@
 
 &mdio {
 	status = "okay";
-
-	switch@10 {
-		compatible = "marvell,mv88e6085";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		reg = <16>;
-
-		ports {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			port@0 {
-				reg = <0>;
-				label = "ethernet1";
-			};
-
-			port@1 {
-				reg = <1>;
-				label = "ethernet2";
-			};
-
-			port@2 {
-				reg = <2>;
-				label = "ethernet3";
-			};
-
-			port@3 {
-				reg = <3>;
-				label = "ethernet4";
-			};
-
-			port@4 {
-				reg = <4>;
-				label = "internet";
-			};
-
-			port@5 {
-				reg = <5>;
-				label = "cpu";
-				ethernet = <&eth0port>;
-				fixed-link {
-					speed = <1000>;
-					full-duplex;
-				};
-			};
-		};
-	};
 };
 
 &uart0 {
@@ -274,10 +236,14 @@
 };
 
 /* eth1 is connected to the switch at port 6. However DSA only supports a
- * single CPU port. So leave this port disabled to avoid confusion.
+ * single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
  */
 &eth1 {
-	status = "disabled";
+	status = "okay";
+	ethernet1-port@0 {
+		speed = <1000>;
+		duplex = <1>;
+	};
 };
 
 /* There is no battery on the board, so the RTC does not keep
