[OpenWrt-Devel] [PATCH] ath79: Add GL.iNet AR-300M-Lite

Jeff Kletsky lede at allycomm.com
Fri Mar 1 17:18:51 EST 2019


From: Jeff Kletsky <git-commits at allycomm.com>

AR300M-Lite is single-Ethernet variant of the AR300M series
Its eth0 would otherwise be assigned to the WAN interface
making it unreachable firstboot or failsafe.

Installation instructions from OEM (OpenWrt variant):
* Install sysupgrade.bin using OEM's "Advanced" GUI (LuCI),
   * Do not preserve settings
   * Access rebooted device via Ethernet at OpenWrt default address

Runtime-tested:  GL.iNet AR300M-Lite

Signed-off-by: Jeff Kletsky <git-commits at allycomm.com>
---
 .../linux/ath79/base-files/etc/board.d/02_network  |  1 +
 .../ath79/dts/qca9531_glinet_gl-ar300m-lite.dts    | 22 +++++++++
 .../ath79/dts/qca9531_glinet_gl-ar300m-nand.dts    | 34 -------------
 .../ath79/dts/qca9531_glinet_gl-ar300m-nor.dts     | 39 ---------------
 .../linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi  | 57 +++++++++++++++++++---
 target/linux/ath79/image/generic.mk                | 14 +++++-
 6 files changed, 84 insertions(+), 83 deletions(-)
 create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m-lite.dts

diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index f1171695bd..a275af0e9e 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -13,6 +13,7 @@ ath79_setup_interfaces()
 	devolo,dvl1200i|\
 	devolo,dvl1750c|\
 	devolo,dvl1750i|\
+	glinet,ar300m-lite|\
 	ocedo,koala|\
 	ocedo,raccoon|\
 	pcs,cap324|\
diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-lite.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-lite.dts
new file mode 100644
index 0000000000..fba08e4295
--- /dev/null
+++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-lite.dts
@@ -0,0 +1,22 @@
+/dts-v1/;
+
+#include "qca9531_glinet_gl-ar300m-nor.dts"
+
+/ {
+	compatible = "glinet,gl-ar300m-lite", "qca,qca9531";
+	model = "GL.iNet GL-AR300M-Lite";
+};
+
+// GL-AR300M-Lite has different LED colors than the non-Lite version
+
+&led_status {
+	label = "gl-ar300m-lite:red:status";
+};
+
+&led_lan {
+	label = "gl-ar300m-lite:green:lan";
+};
+
+&led_wlan {
+	label = "gl-ar300m-lite:green:wlan";
+};
\ No newline at end of file
diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts
index 9e78f83a76..26c30f2b72 100644
--- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts
+++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts
@@ -8,42 +8,8 @@
 };
 
 &spi {
-	status = "okay";
 	num-cs = <1>;
 
-	flash at 0 {
-		compatible = "winbond,w25q128", "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <25000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition at 0 {
-				label = "u-boot";
-				reg = <0x000000 0x040000>;
-				read-only;
-			};
-
-			partition at 1 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition at 2 {
-				label = "reserved";
-				reg = <0x050000 0xfa0000>;
-			};
-
-			art: partition at 3 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-			};
-		};
-	};
-
 	flash at 1 {
 		compatible = "spinand,mt29f";
 		reg = <1>;
diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts
index 6b77af0401..02196cf9c4 100644
--- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts
+++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts
@@ -9,42 +9,3 @@
 	compatible = "glinet,gl-ar300m-nor", "qca,qca9531";
 	model = "GL.iNet GL-AR300M (NOR)";
 };
-
-&spi {
-	status = "okay";
-	num-cs = <0>;
-
-	flash at 0 {
-		compatible = "winbond,w25q128", "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <25000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition at 0 {
-				label = "u-boot";
-				reg = <0x000000 0x040000>;
-				read-only;
-			};
-
-			partition at 1 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition at 2 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x050000 0xfa0000>;
-			};
-
-			art: partition at 3 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-			};
-		};
-	};
-};
diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi
index 55002b44e3..405fae98d9 100644
--- a/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi
+++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi
@@ -41,20 +41,22 @@
 	leds {
 		compatible = "gpio-leds";
 
-		wlan {
-			label = "gl-ar300m:green:wlan";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0tpt";
+		// Colors from non-Lite versions
+
+		led_status: status {
+			label = "gl-ar300m:green:status";
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
 		};
 
-		lan {
+		led_lan: lan {
 			label = "gl-ar300m:green:lan";
 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 		};
 
-		led_status: status {
-			label = "gl-ar300m:red:status";
-			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+		led_wlan: wlan {
+			label = "gl-ar300m:red:wlan";
+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "phy0tpt";
 		};
 	};
 };
@@ -63,6 +65,45 @@
 	status = "okay";
 };
 
+&spi {
+	status = "okay";
+	num-cs = <0>;
+
+	flash at 0 {
+		compatible = "winbond,w25q128", "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <25000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x000000 0x040000>;
+				read-only;
+			};
+
+			partition at 1 {
+				label = "u-boot-env";
+				reg = <0x040000 0x010000>;
+			};
+
+			partition at 2 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x050000 0xfa0000>;
+			};
+
+			art: partition at 3 {
+				label = "art";
+				reg = <0xff0000 0x010000>;
+			};
+		};
+	};
+};
+
 &uart {
 	status = "okay";
 };
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index fa504ee0fc..b83c5ecc55 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -313,13 +313,23 @@ define Device/glinet_gl-ar150
 endef
 TARGET_DEVICES += glinet_gl-ar150
 
-define Device/glinet_gl-ar300m-nor
+define Device/glinet_gl-ar300m-common-nor
   ATH_SOC := qca9531
-  DEVICE_TITLE := GL.iNet GL-AR300M
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   IMAGE_SIZE := 16000k
   SUPPORTED_DEVICES += gl-ar300m
 endef
+
+define Device/glinet_gl-ar300m-lite
+  $(Device/glinet_gl-ar300m-common-nor)
+  DEVICE_TITLE := GL.iNet GL-AR300M-Lite
+endef
+TARGET_DEVICES += glinet_gl-ar300m-lite
+
+define Device/glinet_gl-ar300m-nor
+  $(Device/glinet_gl-ar300m-common-nor)
+  DEVICE_TITLE := GL.iNet GL-AR300M
+endef
 TARGET_DEVICES += glinet_gl-ar300m-nor
 
 define Device/glinet_gl-ar750s
-- 
2.11.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list