ramips: add support for ELECOM WRC-1167FS
[openwrt/staging/noltari.git] / target / linux / ramips / image / mt76x8.mk
index 00976f604489c784ba1c67aeeeea509f3ef8335a..7ba2acacb881ae7352bb513ce94a5f95a0742b5f 100644 (file)
@@ -6,6 +6,21 @@ include ./common-tp-link.mk
 
 DEFAULT_SOC := mt7628an
 
+define Build/elecom-header
+       $(eval model_id=$(1))
+       ( \
+               fw_size="$$(printf '%08x' $$(stat -c%s $@))"; \
+               echo -ne "$$(echo "031d6129$${fw_size}06000000$(model_id)" | \
+                       sed 's/../\\x&/g')"; \
+               dd if=/dev/zero bs=92 count=1; \
+               data_crc="$$(dd if=$@ | gzip -c | tail -c 8 | \
+                       od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
+               echo -ne "$$(echo "$${data_crc}00000000" | sed 's/../\\x&/g')"; \
+               dd if=$@; \
+       ) > $@.new
+       mv $@.new $@
+endef
+
 define Build/ravpower-wd009-factory
        mkimage -A mips -T standalone -C none -a 0x80010000 -e 0x80010000 \
                -n "OpenWrt Bootloader" -d $(UBOOT_PATH) $@.new
@@ -93,6 +108,18 @@ define Device/duzun_dm06
 endef
 TARGET_DEVICES += duzun_dm06
 
+define Device/elecom_wrc-1167fs
+  IMAGE_SIZE := 7360k
+  DEVICE_VENDOR := ELECOM
+  DEVICE_MODEL := WRC-1167FS
+  IMAGES += factory.bin
+  IMAGE/factory.bin := $$(sysupgrade_bin) | pad-to 64k | check-size | \
+       xor-image -p 29944A25 -x | elecom-header 00228000 | \
+       elecom-product-header WRC-1167FS
+  DEVICE_PACKAGES := kmod-mt76x2
+endef
+TARGET_DEVICES += elecom_wrc-1167fs
+
 define Device/glinet_gl-mt300n-v2
   IMAGE_SIZE := 16064k
   DEVICE_VENDOR := GL.iNet