Browse Source

ath79: Add GL.iNet AR-300M-Lite

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

Add previously missing LED defaults for all three variants;
-nand, -nor, -lite to the definitions in 01_leds

Non-lite variants thanks to Andreas Ziegler
https://patchwork.ozlabs.org/patch/1049396/

Runtime-tested:  GL.iNet AR300M-Lite

Signed-off-by: Jeff Kletsky <[email protected]>
Jeff Kletsky 6 years ago
parent
commit
fefa34def8

+ 7 - 0
target/linux/ath79/base-files/etc/board.d/01_leds

@@ -63,6 +63,13 @@ glinet,gl-ar150)
 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
 	ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02"
 	ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02"
 	;;
 	;;
+glinet,gl-ar300m-nand|\
+glinet,gl-ar300m-nor)
+	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0"
+	;;
+glinet,gl-ar300m-lite)
+	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m-lite:green:lan" "eth0"
+	;;
 glinet,gl-x750)
 glinet,gl-x750)
 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
 	;;
 	;;

+ 1 - 0
target/linux/ath79/base-files/etc/board.d/02_network

@@ -13,6 +13,7 @@ ath79_setup_interfaces()
 	devolo,dvl1200i|\
 	devolo,dvl1200i|\
 	devolo,dvl1750c|\
 	devolo,dvl1750c|\
 	devolo,dvl1750i|\
 	devolo,dvl1750i|\
+	glinet,ar300m-lite|\
 	ocedo,koala|\
 	ocedo,koala|\
 	ocedo,raccoon|\
 	ocedo,raccoon|\
 	pcs,cap324|\
 	pcs,cap324|\

+ 22 - 0
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";
+};

+ 0 - 34
target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts

@@ -8,42 +8,8 @@
 };
 };
 
 
 &spi {
 &spi {
-	status = "okay";
 	num-cs = <1>;
 	num-cs = <1>;
 
 
-	flash@0 {
-		compatible = "winbond,w25q128", "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <25000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "u-boot";
-				reg = <0x000000 0x040000>;
-				read-only;
-			};
-
-			partition@1 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition@2 {
-				label = "reserved";
-				reg = <0x050000 0xfa0000>;
-			};
-
-			art: partition@3 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-			};
-		};
-	};
-
 	flash@1 {
 	flash@1 {
 		compatible = "spinand,mt29f";
 		compatible = "spinand,mt29f";
 		reg = <1>;
 		reg = <1>;

+ 0 - 39
target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts

@@ -9,42 +9,3 @@
 	compatible = "glinet,gl-ar300m-nor", "qca,qca9531";
 	compatible = "glinet,gl-ar300m-nor", "qca,qca9531";
 	model = "GL.iNet GL-AR300M (NOR)";
 	model = "GL.iNet GL-AR300M (NOR)";
 };
 };
-
-&spi {
-	status = "okay";
-	num-cs = <0>;
-
-	flash@0 {
-		compatible = "winbond,w25q128", "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <25000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "u-boot";
-				reg = <0x000000 0x040000>;
-				read-only;
-			};
-
-			partition@1 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition@2 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x050000 0xfa0000>;
-			};
-
-			art: partition@3 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-			};
-		};
-	};
-};

+ 49 - 8
target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi

@@ -41,20 +41,22 @@
 	leds {
 	leds {
 		compatible = "gpio-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 12 GPIO_ACTIVE_LOW>;
 		};
 		};
 
 
-		lan {
+		led_lan: lan {
 			label = "gl-ar300m:green:lan";
 			label = "gl-ar300m:green:lan";
 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 			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";
 	status = "okay";
 };
 };
 
 
+&spi {
+	status = "okay";
+	num-cs = <0>;
+
+	flash@0 {
+		compatible = "winbond,w25q128", "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <25000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "u-boot";
+				reg = <0x000000 0x040000>;
+				read-only;
+			};
+
+			partition@1 {
+				label = "u-boot-env";
+				reg = <0x040000 0x010000>;
+			};
+
+			partition@2 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x050000 0xfa0000>;
+			};
+
+			art: partition@3 {
+				label = "art";
+				reg = <0xff0000 0x010000>;
+			};
+		};
+	};
+};
+
 &uart {
 &uart {
 	status = "okay";
 	status = "okay";
 };
 };

+ 12 - 2
target/linux/ath79/image/generic.mk

@@ -313,13 +313,23 @@ define Device/glinet_gl-ar150
 endef
 endef
 TARGET_DEVICES += glinet_gl-ar150
 TARGET_DEVICES += glinet_gl-ar150
 
 
-define Device/glinet_gl-ar300m-nor
+define Device/glinet_gl-ar300m-common-nor
   ATH_SOC := qca9531
   ATH_SOC := qca9531
-  DEVICE_TITLE := GL.iNet GL-AR300M
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   IMAGE_SIZE := 16000k
   IMAGE_SIZE := 16000k
   SUPPORTED_DEVICES += gl-ar300m
   SUPPORTED_DEVICES += gl-ar300m
 endef
 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
 TARGET_DEVICES += glinet_gl-ar300m-nor
 
 
 define Device/glinet_gl-ar750s
 define Device/glinet_gl-ar750s