From bfa1f18bfbe0113eccff80161b98b93f5a91c26c Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Mon, 5 Jan 2015 15:02:18 +0000
Subject: [PATCH] enable swconfig and the mvsw6171 driver

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43854
---
 target/linux/mvebu/config-3.14                    |  2 ++
 target/linux/mvebu/config-3.18                    |  2 ++
 .../files/arch/arm/boot/dts/armada-xp-mamba.dts   | 15 +++++++++++----
 .../mvebu/patches-3.14/140-alias_mdio_node.patch  | 11 +++++++++++
 .../mvebu/patches-3.18/140-alias_mdio_node.patch  | 11 +++++++++++
 target/linux/mvebu/profiles/100-Generic.mk        |  5 +++--
 6 files changed, 40 insertions(+), 6 deletions(-)
 create mode 100644 target/linux/mvebu/patches-3.14/140-alias_mdio_node.patch
 create mode 100644 target/linux/mvebu/patches-3.18/140-alias_mdio_node.patch

diff --git a/target/linux/mvebu/config-3.14 b/target/linux/mvebu/config-3.14
index 01bd9c1b80..17a5d64f46 100644
--- a/target/linux/mvebu/config-3.14
+++ b/target/linux/mvebu/config-3.14
@@ -209,6 +209,7 @@ CONFIG_MVEBU_DEVBUS=y
 CONFIG_MVEBU_MBUS=y
 CONFIG_MVMDIO=y
 CONFIG_MVNETA=y
+CONFIG_MVSW6171_PHY=y
 CONFIG_MV_XOR=y
 CONFIG_NEED_DMA_MAP_STATE=y
 # CONFIG_NEON is not set
@@ -266,6 +267,7 @@ CONFIG_SPI=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_ORION=y
 CONFIG_STOP_MACHINE=y
+CONFIG_SWCONFIG=y
 CONFIG_SWIOTLB=y
 # CONFIG_SWP_EMULATE is not set
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
diff --git a/target/linux/mvebu/config-3.18 b/target/linux/mvebu/config-3.18
index 49cb65552b..198ad97640 100644
--- a/target/linux/mvebu/config-3.18
+++ b/target/linux/mvebu/config-3.18
@@ -216,6 +216,7 @@ CONFIG_MVEBU_DEVBUS=y
 CONFIG_MVEBU_MBUS=y
 CONFIG_MVMDIO=y
 CONFIG_MVNETA=y
+CONFIG_MVSW6171_PHY=y
 CONFIG_MV_XOR=y
 CONFIG_NEED_DMA_MAP_STATE=y
 # CONFIG_NEON is not set
@@ -272,6 +273,7 @@ CONFIG_SPI=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_ORION=y
 CONFIG_STOP_MACHINE=y
+CONFIG_SWCONFIG=y
 CONFIG_SWIOTLB=y
 # CONFIG_SWP_EMULATE is not set
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
diff --git a/target/linux/mvebu/files/arch/arm/boot/dts/armada-xp-mamba.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-xp-mamba.dts
index d2d19ecc72..08af15cb26 100644
--- a/target/linux/mvebu/files/arch/arm/boot/dts/armada-xp-mamba.dts
+++ b/target/linux/mvebu/files/arch/arm/boot/dts/armada-xp-mamba.dts
@@ -116,10 +116,6 @@
 				status = "okay";
 			};
 
-			mdio {
-				status = "disabled";
-			};
-
 			ethernet@70000 {
 				pinctrl-0 = <&pmx_ge0>;
 				pinctrl-names = "default";
@@ -279,4 +275,15 @@
 		gpio-fan,speed-map = <0    0
 				      4500 1>;
 	};
+
+	mvsw6172 {
+		compatible = "marvell,88e6171";
+		status = "okay";
+		reg = <0x10>;
+
+		mii-bus = <&mdio>;
+		cpu-port-0 = <5>;
+		cpu-port-1 = <6>;
+	};
+
 };
diff --git a/target/linux/mvebu/patches-3.14/140-alias_mdio_node.patch b/target/linux/mvebu/patches-3.14/140-alias_mdio_node.patch
new file mode 100644
index 0000000000..08a619b45e
--- /dev/null
+++ b/target/linux/mvebu/patches-3.14/140-alias_mdio_node.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm/boot/dts/armada-370-xp.dtsi
++++ b/arch/arm/boot/dts/armada-370-xp.dtsi
+@@ -221,7 +221,7 @@
+ 				status = "disabled";
+ 			};
+ 
+-			mdio {
++			mdio: mdio {
+ 				#address-cells = <1>;
+ 				#size-cells = <0>;
+ 				compatible = "marvell,orion-mdio";
diff --git a/target/linux/mvebu/patches-3.18/140-alias_mdio_node.patch b/target/linux/mvebu/patches-3.18/140-alias_mdio_node.patch
new file mode 100644
index 0000000000..4d3c49883e
--- /dev/null
+++ b/target/linux/mvebu/patches-3.18/140-alias_mdio_node.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm/boot/dts/armada-370-xp.dtsi
++++ b/arch/arm/boot/dts/armada-370-xp.dtsi
+@@ -232,7 +232,7 @@
+ 				status = "disabled";
+ 			};
+ 
+-			mdio {
++			mdio: mdio {
+ 				#address-cells = <1>;
+ 				#size-cells = <0>;
+ 				compatible = "marvell,orion-mdio";
diff --git a/target/linux/mvebu/profiles/100-Generic.mk b/target/linux/mvebu/profiles/100-Generic.mk
index 47f1341a95..976604dc6a 100644
--- a/target/linux/mvebu/profiles/100-Generic.mk
+++ b/target/linux/mvebu/profiles/100-Generic.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2013-2014 OpenWrt.org
+# Copyright (C) 2013-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -14,7 +14,8 @@ define Profile/Generic
 	kmod-rtc-marvell kmod-thermal-armada \
 	kmod-gpio-button-hotplug kmod-hwmon-tmp421 \
 	kmod-hwmon-gpiofan kmod-leds-tlc59116 \
-	kmod-ledtrig-usbdev kmod-mwlwifi wpad-mini
+	kmod-ledtrig-usbdev kmod-mwlwifi wpad-mini \
+	swconfig
 endef
 
 define Profile/Generic/Description
-- 
GitLab