ramips: add support for I-O DATA WN-AC733GR3
[openwrt/openwrt.git] / target / linux / ramips / image / mt7620.mk
index e4130b47aa0ecbe355d1403587d224d56ace417b..0098613c27a18554fc680736355261614fc40426 100644 (file)
@@ -16,6 +16,25 @@ define Build/elecom-header
                -f $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
 endef
 
+define Build/elx-header
+  $(eval hw_id=$(word 1,$(1)))
+  $(eval xor_pattern=$(word 2,$(1)))
+  ( \
+    echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \
+      dd bs=42 count=1 conv=sync; \
+    hw_id="$(hw_id)"; \
+    echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" | \
+      dd bs=20 count=1 conv=sync; \
+    echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+      dd bs=8 count=1 conv=sync; \
+    echo -ne "$$($(STAGING_DIR_HOST)/bin/mkhash md5 $@ | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+      dd bs=58 count=1 conv=sync; \
+  ) > $(KDIR)/tmp/$(DEVICE_NAME).header
+  $(call Build/xor-image,-p $(xor_pattern) -x)
+  cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > $@.new
+  mv $@.new $@
+endef
+
 define Device/ai-br100
   DTS := AI-BR100
   IMAGE_SIZE := 7936k
@@ -32,6 +51,15 @@ define Device/alfa-network_ac1200rm
 endef
 TARGET_DEVICES += alfa-network_ac1200rm
 
+define Device/alfa-network_tube-e4g
+  DTS := TUBE-E4G
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := ALFA Network Tube-E4G
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci uboot-envtools uqmi \
+       -iwinfo -kmod-rt2800-pci -kmod-rt2800-soc -wpad-basic
+endef
+TARGET_DEVICES += alfa-network_tube-e4g
+
 define Device/Archer
   TPLINK_HWREVADD := 0
   TPLINK_HVERSION := 3
@@ -51,7 +79,7 @@ define Device/ArcherC20i
   IMAGES += factory.bin
   DEVICE_PACKAGES := kmod-mt76x0e
   DEVICE_TITLE := TP-Link ArcherC20i
-  DEVICE_PACKAGES := kmod-mt76x0e
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ArcherC20i
 
@@ -66,7 +94,7 @@ define Device/ArcherC50v1
   IMAGE/factory-us.bin := tplink-v2-image -e -w 0
   IMAGE/factory-eu.bin := tplink-v2-image -e -w 2
   DEVICE_TITLE := TP-Link ArcherC50v1
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ArcherC50v1
 
@@ -135,20 +163,11 @@ endef
 TARGET_DEVICES += db-wrt01
 
 define Device/dch-m225
+  $(Device/seama)
   DTS := DCH-M225
   BLOCKSIZE := 4k
-  IMAGES += factory.bin
+  SEAMA_SIGNATURE := wapn22_dlink.2013gui_dap1320b
   IMAGE_SIZE := 6848k
-  IMAGE/sysupgrade.bin := \
-       append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
-       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
-       pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
-  IMAGE/factory.bin := \
-       append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
-       append-rootfs | pad-rootfs -x 64 | \
-       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
-       seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
-       check-size $$$$(IMAGE_SIZE)
   DEVICE_TITLE := D-Link DCH-M225
   DEVICE_PACKAGES := kmod-sound-core kmod-sound-mt7620 kmod-i2c-ralink
 endef
@@ -228,6 +247,22 @@ define Device/dlink_dwr-921-c3
 endef
 TARGET_DEVICES += dlink_dwr-921-c3
 
+define Device/dlink_dwr-922-e2
+  DTS := DWR-922-E2
+  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+  DEVICE_TITLE := D-Link DWR-922 E2
+  DLINK_ROM_ID := DLK6E2414005
+  DLINK_FAMILY_MEMBER := 0x6E24
+  DLINK_FIRMWARE_SIZE := 0xFE0000
+  KERNEL := $(KERNEL_DTB)
+  IMAGES += factory.bin
+  IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata
+  IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory
+  DEVICE_PACKAGES := jboot-tools \
+       kmod-usb2 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
+endef
+TARGET_DEVICES += dlink_dwr-922-e2
+
 define Device/e1700
   DTS := E1700
   IMAGES += factory.bin
@@ -276,6 +311,7 @@ define Device/u25awf-h1
   DTS := U25AWF-H1
   IMAGE_SIZE := 16064k
   DEVICE_TITLE := Kimax U25AWF-H1
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += u25awf-h1
 
@@ -319,10 +355,35 @@ define Device/hc5861
 endef
 TARGET_DEVICES += hc5861
 
+define Device/iodata_wn-ac1167gr
+  DTS := WN-AC1167GR
+  DEVICE_TITLE := I-O DATA WN-AC1167GR
+  IMAGE_SIZE := 6864k
+  IMAGES += factory.bin
+  IMAGE/factory.bin := \
+    $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
+    elx-header 01040016 8844A2D168B45A2D
+  DEVICE_PACKAGES := kmod-mt76x2
+endef
+TARGET_DEVICES += iodata_wn-ac1167gr
+
+define Device/iodata_wn-ac733gr3
+  DTS := WN-AC733GR3
+  DEVICE_TITLE := I-O DATA WN-AC733GR3
+  IMAGE_SIZE := 6992k
+  IMAGES += factory.bin
+  IMAGE/factory.bin := \
+    $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
+    elx-header 01040006 8844A2D168B45A2D
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-switch-rtl8367b
+endef
+TARGET_DEVICES += iodata_wn-ac733gr3
+
 define Device/kimax_u35wf
   DTS := U35WF
   IMAGE_SIZE := 16064k
   DEVICE_TITLE := Kimax U35WF
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += kimax_u35wf
 
@@ -364,6 +425,7 @@ define Device/microwrt
   DTS := MicroWRT
   IMAGE_SIZE := 16128k
   DEVICE_TITLE := Microduino MicroWRT
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += microwrt
 
@@ -393,6 +455,7 @@ define Device/mlw221
   DTS := MLW221
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Kingston MLW221
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += mlw221
 
@@ -400,6 +463,7 @@ define Device/mlwg2
   DTS := MLWG2
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Kingston MLWG2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += mlwg2
 
@@ -419,6 +483,7 @@ TARGET_DEVICES += mt7620a_mt7530
 define Device/mt7620a_mt7610e
   DTS := MT7620a_MT7610e
   DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
+  DEVICE_PACKAGES := kmod-mt76x0e
   SUPPORTED_DEVICES := mt7620a_mt7610e
 endef
 TARGET_DEVICES += mt7620a_mt7610e
@@ -454,6 +519,7 @@ define Device/na930
   DTS := NA930
   IMAGE_SIZE := 20m
   DEVICE_TITLE := Sercomm NA930
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += na930
 
@@ -461,6 +527,7 @@ define Device/oy-0001
   DTS := OY-0001
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Oh Yeah OY-0001
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += oy-0001
 
@@ -510,6 +577,7 @@ TARGET_DEVICES += rt-n12p
 define Device/rt-n14u
   DTS := RT-N14U
   DEVICE_TITLE := Asus RT-N14u
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += rt-n14u
 
@@ -517,7 +585,7 @@ define Device/rt-ac51u
   DTS := RT-AC51U
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Asus RT-AC51U
-  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-ehci kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += rt-ac51u
 
@@ -561,7 +629,7 @@ define Device/tplink_c20-v1
   TPLINK_HWREVADD := 0x1
   IMAGES += factory.bin
   DEVICE_TITLE := TP-Link ArcherC20 v1
-  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += tplink_c20-v1
 
@@ -577,7 +645,7 @@ define Device/ravpower_wd03
   DTS := WD03
   IMAGE_SIZE := $(ralink_default_fw_size_8M)
   DEVICE_TITLE := Ravpower WD03
-  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ehci
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += ravpower_wd03
 
@@ -637,6 +705,7 @@ define Device/wrtnode
   DTS := WRTNODE
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := WRTNode
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += wrtnode
 
@@ -667,7 +736,7 @@ define Device/y1
   DTS := Y1
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Lenovo Y1
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += y1
 
@@ -675,7 +744,7 @@ define Device/y1s
   DTS := Y1S
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
   DEVICE_TITLE := Lenovo Y1S
-  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += y1s
 
@@ -713,6 +782,7 @@ TARGET_DEVICES += zbt-cpe102
 define Device/zbt-wa05
   DTS := ZBT-WA05
   DEVICE_TITLE := Zbtlink ZBT-WA05
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zbt-wa05
 
@@ -742,11 +812,13 @@ TARGET_DEVICES += zbt-we826-32M
 define Device/zbt-wr8305rt
   DTS := ZBT-WR8305RT
   DEVICE_TITLE := Zbtlink ZBT-WR8305RT
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zbt-wr8305rt
 
 define Device/zte-q7
   DTS := ZTE-Q7
   DEVICE_TITLE := ZTE Q7
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
 TARGET_DEVICES += zte-q7