ath79: add Cisco Meraki MR18
[openwrt/staging/chunkeey.git] / target / linux / ath79 / image / nand.mk
index b8006c6d0cb9cc77566be085503015ba62bb7567..1c254f9ae24663886a99af7e0b0bdadec94b4224 100644 (file)
@@ -1,7 +1,7 @@
-define Build/dw-headers
-       head -c 4 $@ >> $@.tmp && \
-       head -c 8 /dev/zero >> $@.tmp && \
-       tail -c +9 $@ >> $@.tmp && \
+define Build/dongwon-header
+       head -c 4 $@ > $@.tmp
+       head -c 8 /dev/zero >> $@.tmp
+       tail -c +9 $@ >> $@.tmp
        ( \
                header_crc="$$(head -c 68 $@.tmp | gzip -c | \
                        tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
@@ -11,6 +11,22 @@ define Build/dw-headers
        mv $@.tmp $@
 endef
 
+define Build/MerakiNAND
+        -$(STAGING_DIR_HOST)/bin/mkmerakifw \
+                -B $(1) -s \
+                -i $@ \
+                -o $@.new
+        @mv $@.new $@
+endef
+
+define Build/meraki-old-nand
+       -$(STAGING_DIR_HOST)/bin/mkmerakifw-old \
+               -B $(1) -s \
+               -i $@ \
+               -o $@.new
+       @mv $@.new $@
+endef
+
 # attention: only zlib compression is allowed for the boot fs
 define Build/zyxel-buildkerneljffs
        mkdir -p $@.tmp/boot
@@ -99,8 +115,8 @@ define Device/dongwon_dw02-412h
   KERNEL_SIZE := 8192k
   BLOCKSIZE := 128k
   PAGESIZE := 2048
-  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
-  KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+  KERNEL := $$(KERNEL) | dongwon-header
+  KERNEL_INITRAMFS := $$(KERNEL)
   UBINIZE_OPTS := -E 5
   IMAGES += factory.img
   IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
@@ -211,6 +227,34 @@ define Device/glinet_gl-xe300
 endef
 TARGET_DEVICES += glinet_gl-xe300
 
+define Device/meraki_mr18
+  SOC := qca9557
+  DEVICE_VENDOR := Meraki
+  DEVICE_MODEL := MR18
+  DEVICE_PACKAGES := kmod-spi-gpio nu801
+  KERNEL_SIZE := 8m
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  LOADER_TYPE := bin
+  KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | MerakiNAND MR18
+  KERNEL_INITRAMFS := $$(KERNEL)
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+TARGET_DEVICES += meraki_mr18
+
+define Device/meraki_z1
+  SOC = ar9344
+  DEVICE_VENDOR := Meraki
+  DEVICE_MODEL := Z1
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-owl-loader
+  KERNEL_SIZE := 8064k
+  BLOCKSIZE := 64k
+  PAGESIZE := 2048
+  KERNEL := kernel-bin | meraki-old-nand z1
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+TARGET_DEVICES += meraki_z1
+
 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
 define Device/netgear_ath79_nand
   DEVICE_VENDOR := NETGEAR
@@ -305,6 +349,40 @@ define Device/netgear_wndr4500-v3
 endef
 TARGET_DEVICES += netgear_wndr4500-v3
 
+define Device/zte_mf286_common
+  SOC := qca9563
+  DEVICE_VENDOR := ZTE
+  DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  KERNEL_SIZE := 4096k
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+
+define Device/zte_mf286
+  $(Device/zte_mf286_common)
+  DEVICE_MODEL := MF286
+  DEVICE_PACKAGES += ath10k-firmware-qca988x-ct kmod-usb-net-qmi-wwan \
+       kmod-usb-serial-option uqmi
+endef
+TARGET_DEVICES += zte_mf286
+
+define Device/zte_mf286a
+  $(Device/zte_mf286_common)
+  DEVICE_MODEL := MF286A
+  DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-qmi-wwan \
+       kmod-usb-serial-option uqmi
+endef
+TARGET_DEVICES += zte_mf286a
+
+define Device/zte_mf286r
+  $(Device/zte_mf286_common)
+  DEVICE_MODEL := MF286R
+  DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-rndis kmod-usb-acm \
+       comgt-ncm
+endef
+TARGET_DEVICES += zte_mf286r
+
 define Device/zyxel_nbg6716
   SOC := qca9558
   DEVICE_VENDOR := ZyXEL
@@ -330,3 +408,10 @@ define Device/zyxel_nbg6716
   UBINIZE_OPTS := -E 5
 endef
 TARGET_DEVICES += zyxel_nbg6716
+
+define Device/zyxel_emg2926_q10a
+  $(Device/zyxel_nbg6716)
+  DEVICE_MODEL := EMG2926-Q10A
+  RAS_BOARD := AAVK-EMG2926Q10A
+endef
+TARGET_DEVICES += zyxel_emg2926_q10a