From: Jeff Kletsky <git-commits@allycomm.com>
Date: Sun, 2 Jun 2019 13:43:00 +0000 (-0700)
Subject: ath79: add GL.iNet GL-AR300M16 as NOR-only board
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b591cabd3989b44cfaf15248af9e55a0300a9c0a;p=openwrt%2Fstaging%2Fxback.git

ath79: add GL.iNet GL-AR300M16 as NOR-only board

The GL.iNet GL-AR300M series of devices includes variants without NAND
and only the 16 MB NOR flash. These include the GL-AR300M16 and the
GL-AR300M-Lite (already with its own board name).

This board-name addition provides disambiguation from the NAND-bearing
GL-AR300M devices, both for OpenWrt code and for end users.

Kernel and firmware support for NAND and UBI will add ~320 kB to the
overall firmware size at this time. This NOR-only option continues to
provide more compact firmware for both the GL-AR300M16 as well as
those who wish to use it as an alternate or primary, NOR-resident
firmware on the GL-AR300M.

The ar71xx targets are unmodified.

Installation
------------

Install through OEM U-Boot (HTTP-based) or `sysupgrade --force` when
booted from NOR and running OEM or OpenWrt, NOR-based firmware.

As one of the intentions is disambiguation from NAND-bearing units,
users who have flashed this firmware onto a device with NAND would
need to use U-Boot or `sysupgrade --force` to flash firmware that
again supports NAND.

There are no additional SUPPORTED_DEVICES as it is not possible to
determine if a device does or does not have NAND based on
either the OEM's or OpenWrt's board names prior to this patch.

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
---

diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index fefbb48801..d34469cbf4 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -19,6 +19,7 @@ engenius,ecb1750|\
 glinet,gl-ar300m-lite|\
 glinet,gl-ar300m-nand|\
 glinet,gl-ar300m-nor|\
+glinet,gl-ar300m16|\
 librerouter,librerouter-v1|\
 netgear,ex6400|\
 netgear,ex7300|\
diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m16.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m16.dts
new file mode 100644
index 0000000000..ad491286ec
--- /dev/null
+++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m16.dts
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "qca9531_glinet_gl-ar300m.dtsi"
+
+/ {
+	compatible = "glinet,gl-ar300m16", "qca,qca9531";
+	model = "GL.iNet GL-AR300M16";
+};
+
+/delete-node/ &nand_flash;
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
index 4ab504654e..d54e770240 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
@@ -97,6 +97,9 @@ glinet,gl-ar150)
 glinet,gl-ar300m-lite)
 	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m-lite:green:lan" "eth0"
 	;;
+glinet,gl-ar300m16)
+	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0"
+	;;
 glinet,gl-x750)
 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
 	;;
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 011bb41262..6fc51ec647 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -562,6 +562,12 @@ define Device/glinet_gl-ar300m-lite
 endef
 TARGET_DEVICES += glinet_gl-ar300m-lite
 
+define Device/glinet_gl-ar300m16
+  $(Device/glinet_gl-ar300m-common-nor)
+  DEVICE_MODEL := GL-AR300M16
+endef
+TARGET_DEVICES += glinet_gl-ar300m16
+
 define Device/glinet_gl-ar750
   ATH_SOC := qca9531
   DEVICE_VENDOR := GL.iNet