ramips: add support for ELECOM WRC-1167FS
[openwrt/openwrt.git] / target / linux / ramips / image / mt76x8.mk
index 72539f7a14d90378731c219a38049103c65aec57..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
@@ -135,6 +162,14 @@ define Device/hilink_hlk-7628n
 endef
 TARGET_DEVICES += hilink_hlk-7628n
 
+define Device/hilink_hlk-7688a
+  IMAGE_SIZE := 32448k
+  DEVICE_VENDOR := Hi-Link
+  DEVICE_MODEL := HLK-7688A
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += hilink_hlk-7688a
+
 define Device/hiwifi_hc5661a
   IMAGE_SIZE := 15808k
   DEVICE_VENDOR := HiWiFi
@@ -743,14 +778,23 @@ define Device/wrtnode_wrtnode2r
 endef
 TARGET_DEVICES += wrtnode_wrtnode2r
 
-define Device/xiaomi_mir4a-100m
+define Device/xiaomi_mi-router-4a-100m
   IMAGE_SIZE := 14976k
   DEVICE_VENDOR := Xiaomi
   DEVICE_MODEL := Mi Router 4A
   DEVICE_VARIANT := 100M Edition
   DEVICE_PACKAGES := kmod-mt76x2
+  SUPPORTED_DEVICES += xiaomi,mir4a-100m
+endef
+TARGET_DEVICES += xiaomi_mi-router-4a-100m
+
+define Device/xiaomi_mi-router-4c
+  IMAGE_SIZE := 14976k
+  DEVICE_VENDOR := Xiaomi
+  DEVICE_MODEL := Mi Router 4C
+  DEVICE_PACKAGES := uboot-envtools
 endef
-TARGET_DEVICES += xiaomi_mir4a-100m
+TARGET_DEVICES += xiaomi_mi-router-4c
 
 define Device/xiaomi_miwifi-nano
   IMAGE_SIZE := 16064k