-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')"; \
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
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 | \
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
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
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