From a411881a4000452ff791761c8f1d37ea6faa298a Mon Sep 17 00:00:00 2001
From: Mathias Kresin <dev@kresin.me>
Date: Wed, 17 Jan 2018 08:14:41 +0100
Subject: [PATCH] ramips: add flash size postfix to Widora neo

Rename the Widora neo by adding a flash size prefix. Move the common parts
into a dtsi to be prepare everything for upcomming support of the 32MB
version.

Migrate the Widora neo to the generic board detection as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
---
 .../ramips/base-files/etc/board.d/02_network  |  2 +-
 target/linux/ramips/base-files/etc/diag.sh    |  2 +-
 target/linux/ramips/base-files/lib/ramips.sh  |  3 --
 .../ramips/base-files/lib/upgrade/platform.sh |  2 +-
 target/linux/ramips/dts/WIDORA-NEO-16M.dts    | 54 +++++++++++++++++++
 .../dts/{WIDORA-NEO.dts => WIDORA-NEO.dtsi}   | 50 -----------------
 target/linux/ramips/image/mt76x8.mk           |  9 ++--
 7 files changed, 62 insertions(+), 60 deletions(-)
 create mode 100644 target/linux/ramips/dts/WIDORA-NEO-16M.dts
 rename target/linux/ramips/dts/{WIDORA-NEO.dts => WIDORA-NEO.dtsi} (68%)

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index f50a5a6d46..53d885560b 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -57,7 +57,7 @@ ramips_setup_interfaces()
 	omega2p | \
 	timecloud|\
 	w150m|\
-	widora-neo|\
+	widora,neo-16m|\
 	wnce2001|\
 	zbt-cpe102|\
 	zte-q7)
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 22687b1970..f08e8e1c17 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -285,7 +285,7 @@ get_status_led() {
 	zbt-we2026)
 		status_led="$boardname:red:power"
 		;;
-	widora-neo)
+	widora,neo-16m)
 		status_led="widora:orange:wifi"
 		;;
 	wzr-agl300nh)
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 60cf9b298c..491320badf 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -577,9 +577,6 @@ ramips_board_detect() {
 	*"WHR-G300N")
 		name="whr-g300n"
 		;;
-	*"Widora-NEO")
-		name="widora-neo"
-		;;
 	*"WiTi")
                 name="witi"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 730f487b30..6374e3d1e7 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -167,7 +167,7 @@ platform_check_image() {
 	whr-300hp2|\
 	whr-600d|\
 	whr-g300n|\
-	widora-neo|\
+	widora,neo-16m|\
 	witi|\
 	wizfi630a|\
 	wl-330n|\
diff --git a/target/linux/ramips/dts/WIDORA-NEO-16M.dts b/target/linux/ramips/dts/WIDORA-NEO-16M.dts
new file mode 100644
index 0000000000..726515e7ec
--- /dev/null
+++ b/target/linux/ramips/dts/WIDORA-NEO-16M.dts
@@ -0,0 +1,54 @@
+/dts-v1/;
+
+#include "WIDORA-NEO.dtsi"
+
+/ {
+	compatible = "widora,neo-16m", "widora,neo", "mediatek,mt7628an-soc";
+	model = "Widora-NEO (16M)";
+};
+
+&spi0 {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
+
+	m25p80@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <40000000>;
+		m25p,chunked-io = <31>;
+
+		partition@0 {
+			label = "u-boot";
+			reg = <0x0 0x30000>;
+			read-only;
+		};
+
+		partition@30000 {
+			label = "u-boot-env";
+			reg = <0x30000 0x10000>;
+		};
+
+		factory: partition@40000 {
+			label = "factory";
+			reg = <0x40000 0x10000>;
+			read-only;
+		};
+
+		partition@50000 {
+			label = "firmware";
+			reg = <0x50000 0x0fb0000>;
+		};
+	};
+
+	spidev@1 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "linux,spidev";
+		reg = <1>;
+		spi-max-frequency = <40000000>;
+	};
+};
diff --git a/target/linux/ramips/dts/WIDORA-NEO.dts b/target/linux/ramips/dts/WIDORA-NEO.dtsi
similarity index 68%
rename from target/linux/ramips/dts/WIDORA-NEO.dts
rename to target/linux/ramips/dts/WIDORA-NEO.dtsi
index 195e80605b..3334c88e22 100644
--- a/target/linux/ramips/dts/WIDORA-NEO.dts
+++ b/target/linux/ramips/dts/WIDORA-NEO.dtsi
@@ -1,5 +1,3 @@
-/dts-v1/;
-
 #include "mt7628an.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
@@ -7,7 +5,6 @@
 
 / {
 	compatible = "widora,neo", "mediatek,mt7628an-soc";
-	model = "Widora-NEO";
 
 	chosen {
 		bootargs = "console=ttyS0,115200";
@@ -94,53 +91,6 @@
 	};
 };
 
-
-&spi0 {
-	status = "okay";
-
-	pinctrl-names = "default";
-	pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
-
-	m25p80@0 {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <40000000>;
-		m25p,chunked-io = <31>;
-
-		partition@0 {
-			label = "u-boot";
-			reg = <0x0 0x30000>;
-			read-only;
-		};
-
-		partition@30000 {
-			label = "u-boot-env";
-			reg = <0x30000 0x10000>;
-		};
-
-		factory: partition@40000 {
-			label = "factory";
-			reg = <0x40000 0x10000>;
-			read-only;
-		};
-
-		partition@50000 {
-			label = "firmware";
-			reg = <0x50000 0x0fb0000>;
-		};
-	};
-
-	spidev@1 {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "linux,spidev";
-		reg = <1>;
-		spi-max-frequency = <40000000>;
-	};
-};
-
 &i2c {
 	status = "okay";
 };
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index ae8a1344d5..6c0102fc92 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -215,13 +215,14 @@ define Device/wl-wn575a3
 endef
 TARGET_DEVICES += wl-wn575a3
 
-define Device/widora-neo
-  DTS := WIDORA-NEO
+define Device/widora_neo-16m
+  DTS := WIDORA-NEO-16M
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
-  DEVICE_TITLE := Widora-NEO
+  DEVICE_TITLE := Widora-NEO (16M)
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
+  SUPPORTED_DEVICES += widora-neo
 endef
-TARGET_DEVICES += widora-neo
+TARGET_DEVICES += widora_neo-16m
 
 define Device/wrtnode2p
   DTS := WRTNODE2P
-- 
2.30.2