ath79: add factory.bin for ALLNET ALL-WAP02860AC
authorMichael Pratt <mcpratt@pm.me>
Fri, 12 Feb 2021 23:58:00 +0000 (18:58 -0500)
committerPetr Štetiar <ynezz@true.cz>
Fri, 11 Jun 2021 05:20:31 +0000 (07:20 +0200)
This device is a Senao-based product
using hardware and software from Senao
with the tar-gz platform for factory.bin
and checksum verification at boot time
using variables stored in uboot environment
and a 'failsafe' image when it fails.

Extremely similar hardware/software to Engenius EAP1200H
and other Engenius APs with qca955x

Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 37ea5d9a658a15783b0ac68583db9e67a43e960d)

target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts
target/linux/ath79/generic/base-files/lib/upgrade/platform.sh
target/linux/ath79/image/generic.mk

index ba6be49fcee57c241b8cc2a72fcfaf31d80cf3bf..3afbc04ddf04a535c61ef51053648a7fef59fae6 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mtd/partitions/uimage.h>
 
 / {
        model = "ALLNET ALL-WAP02860AC";
                        gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
                };
        };
+
+       virtual_flash {
+               compatible = "mtd-concat";
+
+               devices = <&fwconcat0 &fwconcat1>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               compatible = "openwrt,uimage", "denx,uimage";
+                               openwrt,ih-magic = <0x73714f4b>;
+                               label = "firmware";
+                               reg = <0x0 0x0>;
+                       };
+               };
+       };
 };
 
 &eth0 {
                        };
 
                        partition@a0000 {
-                               compatible = "denx,uimage";
-                               label = "firmware";
-                               reg = <0x0a0000 0xcd0000>;
+                               label = "loader";
+                               reg = <0x0a0000 0x010000>;
+                       };
+
+                       fwconcat1: partition@b0000 {
+                               label = "fwconcat1";
+                               reg = <0x0b0000 0x170000>;
+                       };
+
+                       fwconcat0: partition@220000 {
+                               label = "fwconcat0";
+                               reg = <0x220000 0xb50000>;
                        };
 
                        partition@d70000 {
index 19699332fc2447902a886a3980778eb36d52b4e3..f8b1c13677d6485c4b095057f7cf3317ea262104 100644 (file)
@@ -47,6 +47,7 @@ platform_do_upgrade() {
        adtran,bsap1840)
                redboot_fis_do_upgrade "$1" vmlinux_2
                ;;
+       allnet,all-wap02860ac|\
        engenius,eap1200h|\
        engenius,eap300-v2|\
        engenius,eap600|\
index bda47ce74da35696035db22c2f0b9609b8cbb67d..303907e5bb788ffc6d8d2cb31874909609a7a4fd 100644 (file)
@@ -290,11 +290,14 @@ endef
 TARGET_DEVICES += alfa-network_r36a
 
 define Device/allnet_all-wap02860ac
+  $(Device/senao_loader_okli)
   SOC := qca9558
   DEVICE_VENDOR := ALLNET
   DEVICE_MODEL := ALL-WAP02860AC
   DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
-  IMAGE_SIZE := 13120k
+  IMAGE_SIZE := 11584k
+  LOADER_FLASH_OFFS := 0x220000
+  SENAO_IMGNAME := senao-allwap02860ac
 endef
 TARGET_DEVICES += allnet_all-wap02860ac