OSDN Git Service

Merge Official Source
[immortalwrt/immortalwrt.git] / target / linux / ramips / image / mt7621.mk
1 #
2 # MT7621 Profiles
3 #
4
5 include ./common-tp-link.mk
6
7 DEFAULT_SOC := mt7621
8
9 KERNEL_DTB += -d21
10 DEVICE_VARS += ELECOM_HWNAME LINKSYS_HWNAME
11
12 ifdef CONFIG_LINUX_5_10
13   DTS_CPPFLAGS += -DDTS_LEGACY
14 endif
15
16 define Build/beeline-trx
17         echo -ne "hsqs" > $@.hsqs
18         $(STAGING_DIR_HOST)/bin/otrx create $@.trx -M 0x746f435d -f $@ \
19                 -a 0x20000 -b 0x420000 -f $@.hsqs -a 1000
20         mv $@.trx $@
21         dd if=/dev/zero bs=1024 count=1 >> $@.tail
22         echo -ne "HDR0" | dd of=$@.tail bs=1 seek=$$((0x10c)) count=4 \
23                 conv=notrunc 2>/dev/null
24         dd if=$@.tail >> $@ 2>/dev/null
25         rm $@.hsqs $@.tail
26 endef
27
28 define Build/gemtek-trailer
29         printf "%s%08X" ".GEMTEK." "$$(cksum $@ | cut -d ' ' -f1)" >> $@
30 endef
31
32 define Build/iodata-factory
33         $(eval fw_size=$(word 1,$(1)))
34         $(eval fw_type=$(word 2,$(1)))
35         $(eval product=$(word 3,$(1)))
36         $(eval factory_bin=$(word 4,$(1)))
37         if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
38                 $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
39                 $(STAGING_DIR_HOST)/bin/mksenaofw \
40                         -r 0x30a -p $(product) -t $(fw_type) \
41                         -e $(factory_bin) -o $(factory_bin).new; \
42                 mv $(factory_bin).new $(factory_bin); \
43                 $(CP) $(factory_bin) $(BIN_DIR)/; \
44         else \
45                 echo "WARNING: initramfs kernel image too big, cannot generate factory image (actual $$(stat -c%s $@); max $(fw_size))" >&2; \
46         fi
47 endef
48
49 define Build/iodata-mstc-header
50         ( \
51                 data_size_crc="$$(dd if=$@ ibs=64 skip=1 2>/dev/null | gzip -c | \
52                         tail -c 8 | od -An -tx8 --endian little | tr -d ' \n')"; \
53                 echo -ne "$$(echo $$data_size_crc | sed 's/../\\x&/g')" | \
54                         dd of=$@ bs=8 count=1 seek=7 conv=notrunc 2>/dev/null; \
55         )
56         dd if=/dev/zero of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null
57         ( \
58                 header_crc="$$(dd if=$@ bs=64 count=1 2>/dev/null | gzip -c | \
59                         tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
60                 echo -ne "$$(echo $$header_crc | sed 's/../\\x&/g')" | \
61                         dd of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null; \
62         )
63 endef
64
65 define Build/ubnt-erx-factory-image
66         if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
67                 echo '21001:7' > $(1).compat; \
68                 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
69                 \
70                 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
71                 $(MKHASH) md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
72                 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
73                 \
74                 echo "dummy" > $(1).rootfs; \
75                 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
76                 \
77                 $(MKHASH) md5 $(1).rootfs > $(1).md5; \
78                 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
79                 \
80                 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
81                 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
82                 \
83                 $(CP) $(1) $(BIN_DIR)/; \
84         else \
85                 echo "WARNING: initramfs kernel image too big, cannot generate factory image (actual $$(stat -c%s $@); max $(KERNEL_SIZE))" >&2; \
86         fi
87 endef
88
89 define Build/zytrx-header
90         $(eval board=$(word 1,$(1)))
91         $(eval version=$(word 2,$(1)))
92         $(STAGING_DIR_HOST)/bin/zytrx -B '$(board)' -v '$(version)' -i $@ -o $@.new
93         mv $@.new $@
94 endef
95
96 define Device/dsa-migration
97   DEVICE_COMPAT_VERSION := 1.1
98   DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
99 endef
100
101 define Device/adslr_g7
102   $(Device/dsa-migration)
103   IMAGE_SIZE := 16064k
104   DEVICE_VENDOR := ADSLR
105   DEVICE_MODEL := G7
106   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
107 endef
108 TARGET_DEVICES += adslr_g7
109
110 define Device/afoundry_ew1200
111   $(Device/dsa-migration)
112   IMAGE_SIZE := 16064k
113   DEVICE_VENDOR := AFOUNDRY
114   DEVICE_MODEL := EW1200
115   DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
116         kmod-usb-ledtrig-usbport
117   SUPPORTED_DEVICES += ew1200
118 endef
119 TARGET_DEVICES += afoundry_ew1200
120
121 define Device/alfa-network_quad-e4g
122   $(Device/dsa-migration)
123   IMAGE_SIZE := 16064k
124   DEVICE_VENDOR := ALFA Network
125   DEVICE_MODEL := Quad-E4G
126   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 uboot-envtools \
127         -wpad-basic-wolfssl
128   SUPPORTED_DEVICES += quad-e4g
129 endef
130 TARGET_DEVICES += alfa-network_quad-e4g
131
132 define Device/ampedwireless_ally_common
133   $(Device/dsa-migration)
134   DEVICE_VENDOR := Amped Wireless
135   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware uboot-envtools
136   IMAGE_SIZE := 32768k
137   KERNEL_SIZE := 4096k
138   BLOCKSIZE := 128k
139   PAGESIZE := 2048
140   UBINIZE_OPTS := -E 5
141   KERNEL_INITRAMFS := $(KERNEL_DTB) | uImage lzma -n 'flashable-initramfs' |\
142         edimax-header -s CSYS -m RN68 -f 0x001c0000 -S 0x01100000
143   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
144 endef
145
146 define Device/ampedwireless_ally-r1900k
147   $(Device/ampedwireless_ally_common)
148   DEVICE_MODEL := ALLY-R1900K
149   DEVICE_PACKAGES += kmod-usb3
150 endef
151 TARGET_DEVICES += ampedwireless_ally-r1900k
152
153 define Device/ampedwireless_ally-00x19k
154   $(Device/ampedwireless_ally_common)
155   DEVICE_MODEL := ALLY-00X19K
156 endef
157 TARGET_DEVICES += ampedwireless_ally-00x19k
158
159 define Device/asiarf_ap7621-001
160   $(Device/dsa-migration)
161   IMAGE_SIZE := 16000k
162   DEVICE_VENDOR := AsiaRF
163   DEVICE_MODEL := AP7621-001
164   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 -wpad-basic-wolfssl
165 endef
166 TARGET_DEVICES += asiarf_ap7621-001
167
168 define Device/asiarf_ap7621-nv1
169   $(Device/dsa-migration)
170   IMAGE_SIZE := 16000k
171   DEVICE_VENDOR := AsiaRF
172   DEVICE_MODEL := AP7621-NV1
173   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 -wpad-basic-wolfssl
174 endef
175 TARGET_DEVICES += asiarf_ap7621-nv1
176
177 define Device/asus_rt-ac57u
178   $(Device/dsa-migration)
179   DEVICE_VENDOR := ASUS
180   DEVICE_MODEL := RT-AC57U
181   DEVICE_ALT0_VENDOR := ASUS
182   DEVICE_ALT0_MODEL := RT-AC1200GU
183   IMAGE_SIZE := 16064k
184   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
185         kmod-usb-ledtrig-usbport
186 endef
187 TARGET_DEVICES += asus_rt-ac57u
188
189 define Device/asus_rt-ac65p
190   $(Device/dsa-migration)
191   DEVICE_VENDOR := ASUS
192   DEVICE_MODEL := RT-AC65P
193   IMAGE_SIZE := 51200k
194   UBINIZE_OPTS := -E 5
195   BLOCKSIZE := 128k
196   PAGESIZE := 2048
197   KERNEL_SIZE := 4096k
198   IMAGES += factory.bin
199   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
200   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
201         check-size
202   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e kmod-mt7615-firmware uboot-envtools
203 endef
204 TARGET_DEVICES += asus_rt-ac65p
205
206 define Device/asus_rt-ac85p
207   $(Device/dsa-migration)
208   DEVICE_VENDOR := ASUS
209   DEVICE_MODEL := RT-AC85P
210   IMAGE_SIZE := 51200k
211   UBINIZE_OPTS := -E 5
212   BLOCKSIZE := 128k
213   PAGESIZE := 2048
214   KERNEL_SIZE := 4096k
215   IMAGES += factory.bin
216   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
217   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
218         check-size
219   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e kmod-mt7615-firmware uboot-envtools
220 endef
221 TARGET_DEVICES += asus_rt-ac85p
222
223 define Device/asus_rt-n56u-b1
224   $(Device/dsa-migration)
225   DEVICE_VENDOR := ASUS
226   DEVICE_MODEL := RT-N56U
227   DEVICE_VARIANT := B1
228   IMAGE_SIZE := 16064k
229   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
230         kmod-usb-ledtrig-usbport
231 endef
232 TARGET_DEVICES += asus_rt-n56u-b1
233
234 define Device/beeline_smartbox-flash
235   $(Device/dsa-migration)
236   $(Device/uimage-lzma-loader)
237   DEVICE_VENDOR := Beeline
238   DEVICE_MODEL := SmartBox Flash
239   IMAGE_SIZE := 32768k
240   KERNEL_SIZE := 4352k
241   UBINIZE_OPTS := -E 5
242   BLOCKSIZE := 128k
243   PAGESIZE := 2048
244   KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | \
245         uImage none | beeline-trx | pad-to $$(KERNEL_SIZE)
246   KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | \
247         uImage none
248   IMAGES += factory.trx
249   IMAGE/factory.trx := append-kernel | append-ubi | check-size
250   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
251   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e kmod-mt7615-firmware \
252         uboot-envtools
253 endef
254 TARGET_DEVICES += beeline_smartbox-flash
255
256 define Device/buffalo_wsr-1166dhp
257   $(Device/dsa-migration)
258   $(Device/uimage-lzma-loader)
259   IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
260   IMAGE_SIZE := 15936k
261   DEVICE_VENDOR := Buffalo
262   DEVICE_MODEL := WSR-1166DHP
263   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
264   SUPPORTED_DEVICES += wsr-1166
265 endef
266 TARGET_DEVICES += buffalo_wsr-1166dhp
267
268 define Device/buffalo_wsr-2533dhpl
269   $(Device/dsa-migration)
270   $(Device/uimage-lzma-loader)
271   IMAGE_SIZE := 7936k
272   DEVICE_VENDOR := Buffalo
273   DEVICE_MODEL := WSR-2533DHPL
274   DEVICE_ALT0_VENDOR := Buffalo
275   DEVICE_ALT0_MODEL := WSR-2533DHP
276   IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
277   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
278   DEFAULT := n
279 endef
280 TARGET_DEVICES += buffalo_wsr-2533dhpl
281
282 define Device/buffalo_wsr-600dhp
283   $(Device/dsa-migration)
284   IMAGE_SIZE := 16064k
285   DEVICE_VENDOR := Buffalo
286   DEVICE_MODEL := WSR-600DHP
287   DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci
288   SUPPORTED_DEVICES += wsr-600
289 endef
290 TARGET_DEVICES += buffalo_wsr-600dhp
291
292 define Device/bolt_arion
293   $(Device/dsa-migration)
294   $(Device/uimage-lzma-loader)
295   IMAGE_SIZE := 32448k
296   DEVICE_VENDOR := BOLT
297   DEVICE_MODEL := Arion
298   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 uboot-envtools
299 endef
300 TARGET_DEVICES += bolt_arion
301
302 define Device/cudy_wr1300
303   $(Device/dsa-migration)
304   IMAGE_SIZE := 15872k
305   DEVICE_VENDOR := Cudy
306   DEVICE_MODEL := WR1300
307   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb2 kmod-usb3 \
308         kmod-usb-ledtrig-usbport
309 endef
310 TARGET_DEVICES += cudy_wr1300
311
312 define Device/cudy_wr2100
313   $(Device/dsa-migration)
314   DEVICE_VENDOR := Cudy
315   DEVICE_MODEL := WR2100
316   IMAGE_SIZE := 15872k
317   UIMAGE_NAME := R11
318   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
319 endef
320 TARGET_DEVICES += cudy_wr2100
321
322 define Device/dlink_dir-8xx-a1
323   $(Device/dsa-migration)
324   IMAGE_SIZE := 16000k
325   DEVICE_VENDOR := D-Link
326   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
327   KERNEL := $$(KERNEL) | uimage-sgehdr
328   IMAGES += factory.bin
329   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
330         check-size | append-metadata
331   IMAGE/factory.bin := append-kernel | append-rootfs | check-size
332 endef
333
334 define Device/dlink_dir-8xx-r1
335   $(Device/dsa-migration)
336   IMAGE_SIZE := 16064k
337   DEVICE_VENDOR := D-Link
338   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
339   KERNEL_INITRAMFS := $$(KERNEL)
340   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
341         check-size | append-metadata
342 endef
343
344 define Device/dlink_dir-xx60-a1
345   $(Device/dsa-migration)
346   BLOCKSIZE := 128k
347   PAGESIZE := 2048
348   KERNEL_SIZE := 4096k
349   IMAGE_SIZE := 40960k
350   UBINIZE_OPTS := -E 5
351   DEVICE_VENDOR := D-Link
352   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
353         kmod-usb-ledtrig-usbport
354   KERNEL := $$(KERNEL) | uimage-sgehdr
355   IMAGES += factory.bin
356   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
357   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
358         check-size
359 endef
360
361 define Device/dlink_dir-1960-a1
362   $(Device/dlink_dir-xx60-a1)
363   DEVICE_MODEL := DIR-1960
364   DEVICE_VARIANT := A1
365 endef
366 TARGET_DEVICES += dlink_dir-1960-a1
367
368 define Device/dlink_dir-2640-a1
369   $(Device/dlink_dir-xx60-a1)
370   DEVICE_MODEL := DIR-2640
371   DEVICE_VARIANT := A1
372 endef
373 TARGET_DEVICES += dlink_dir-2640-a1
374
375 define Device/dlink_dir-2660-a1
376   $(Device/dlink_dir-xx60-a1)
377   DEVICE_MODEL := DIR-2660
378   DEVICE_VARIANT := A1
379 endef
380 TARGET_DEVICES += dlink_dir-2660-a1
381
382 define Device/dlink_dir-853-a3
383   $(Device/dlink_dir-xx60-a1)
384   DEVICE_MODEL := DIR-853
385   DEVICE_VARIANT := A3
386 endef
387 TARGET_DEVICES += dlink_dir-853-a3
388
389 define Device/dlink_dir-853-r1
390   $(Device/dlink_dir-8xx-r1)
391   DEVICE_MODEL := DIR-853
392   DEVICE_VARIANT := R1
393   DEVICE_PACKAGES += kmod-usb3 kmod-usb-ledtrig-usbport
394 endef
395 TARGET_DEVICES += dlink_dir-853-r1
396
397 define Device/dlink_dir-860l-b1
398   $(Device/dsa-migration)
399   $(Device/seama)
400   SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
401   LOADER_TYPE := bin
402   KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | relocate-kernel | \
403         lzma -a0 | uImage lzma
404   IMAGE_SIZE := 16064k
405   DEVICE_VENDOR := D-Link
406   DEVICE_MODEL := DIR-860L
407   DEVICE_VARIANT := B1
408   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
409   SUPPORTED_DEVICES += dir-860l-b1
410 endef
411 TARGET_DEVICES += dlink_dir-860l-b1
412
413 define Device/dlink_dir-867-a1
414   $(Device/dlink_dir-8xx-a1)
415   DEVICE_MODEL := DIR-867
416   DEVICE_VARIANT := A1
417 endef
418 TARGET_DEVICES += dlink_dir-867-a1
419
420 define Device/dlink_dir-878-a1
421   $(Device/dlink_dir-8xx-a1)
422   DEVICE_MODEL := DIR-878
423   DEVICE_VARIANT := A1
424 endef
425 TARGET_DEVICES += dlink_dir-878-a1
426
427 define Device/dlink_dir-878-r1
428   $(Device/dlink_dir-8xx-r1)
429   DEVICE_MODEL := DIR-878
430   DEVICE_VARIANT := R1
431   IMAGES += factory.bin
432   IMAGE/factory.bin := append-kernel | append-rootfs | check-size | \
433         sign-dlink-ru 57c5375741c30ca9ebcb36713db4ba51 \
434         ab0dff19af8842cdb70a86b4b68d23f7
435 endef
436 TARGET_DEVICES += dlink_dir-878-r1
437
438 define Device/dlink_dir-882-a1
439   $(Device/dlink_dir-8xx-a1)
440   DEVICE_MODEL := DIR-882
441   DEVICE_VARIANT := A1
442   DEVICE_PACKAGES += kmod-usb3 kmod-usb-ledtrig-usbport
443 endef
444 TARGET_DEVICES += dlink_dir-882-a1
445
446 define Device/dlink_dir-882-r1
447   $(Device/dlink_dir-8xx-r1)
448   DEVICE_MODEL := DIR-882
449   DEVICE_VARIANT := R1
450   DEVICE_PACKAGES += kmod-usb3 kmod-usb-ledtrig-usbport
451   IMAGES += factory.bin
452   IMAGE/factory.bin := append-kernel | append-rootfs | check-size | \
453         sign-dlink-ru 57c5375741c30ca9ebcb36713db4ba51 \
454         ab0dff19af8842cdb70a86b4b68d23f7
455 endef
456 TARGET_DEVICES += dlink_dir-882-r1
457
458 define Device/dual-q_h721
459   $(Device/dsa-migration)
460   $(Device/uimage-lzma-loader)
461   IMAGE_SIZE := 16064k
462   DEVICE_VENDOR := Dual-Q
463   DEVICE_MODEL := H721
464   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 -wpad-basic-wolfssl
465 endef
466 TARGET_DEVICES += dual-q_h721
467
468 define Device/d-team_newifi-d2
469   $(Device/dsa-migration)
470   $(Device/uimage-lzma-loader)
471   IMAGE_SIZE := 32448k
472   DEVICE_VENDOR := Newifi
473   DEVICE_MODEL := D2
474   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
475         kmod-usb-ledtrig-usbport
476 endef
477 TARGET_DEVICES += d-team_newifi-d2
478
479 define Device/d-team_pbr-m1
480   $(Device/dsa-migration)
481   IMAGE_SIZE := 32448k
482   DEVICE_VENDOR := PandoraBox
483   DEVICE_MODEL := PBR-M1
484   DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
485         kmod-usb3 kmod-usb-ledtrig-usbport
486   SUPPORTED_DEVICES += pbr-m1
487 endef
488 TARGET_DEVICES += d-team_pbr-m1
489
490 define Device/edimax_ra21s
491   $(Device/dsa-migration)
492   $(Device/uimage-lzma-loader)
493   IMAGE_SIZE := 16064k
494   DEVICE_VENDOR := Edimax
495   DEVICE_MODEL := RA21S
496   DEVICE_ALT0_VENDOR := Edimax
497   DEVICE_ALT0_MODEL := Gemini RA21S
498   IMAGES += factory.bin
499   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
500         elx-header 02020040 8844A2D168B45A2D
501   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
502 endef
503 TARGET_DEVICES += edimax_ra21s
504
505 define Device/edimax_re23s
506   $(Device/dsa-migration)
507   $(Device/uimage-lzma-loader)
508   IMAGE_SIZE := 15680k
509   DEVICE_VENDOR := Edimax
510   DEVICE_MODEL := RE23S
511   DEVICE_ALT0_VENDOR := Edimax
512   DEVICE_ALT0_MODEL := Gemini RE23S
513   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
514         edimax-header -s CSYS -m RN76 -f 0x70000 -S 0x01100000 | pad-rootfs | \
515         check-size | append-metadata
516   IMAGES += factory.bin
517   IMAGE/factory.bin := append-kernel | append-rootfs | \
518         edimax-header -s CSYS -m RN76 -f 0x70000 -S 0x01100000 | pad-rootfs | \
519         check-size
520   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
521 endef
522 TARGET_DEVICES += edimax_re23s
523
524 define Device/edimax_rg21s
525   $(Device/dsa-migration)
526   $(Device/uimage-lzma-loader)
527   IMAGE_SIZE := 16064k
528   DEVICE_VENDOR := Edimax
529   DEVICE_MODEL := Gemini AC2600 RG21S
530   IMAGES += factory.bin
531   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
532         elx-header 02020038 8844A2D168B45A2D
533   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
534 endef
535 TARGET_DEVICES += edimax_rg21s
536
537 define Device/elecom_wrc-1167ghbk2-s
538   $(Device/dsa-migration)
539   IMAGE_SIZE := 15488k
540   DEVICE_VENDOR := ELECOM
541   DEVICE_MODEL := WRC-1167GHBK2-S
542   IMAGES += factory.bin
543   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
544         elecom-wrc-gs-factory WRC-1167GHBK2-S 0.00
545   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
546 endef
547 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
548
549 define Device/elecom_wrc-gs
550   $(Device/dsa-migration)
551   $(Device/uimage-lzma-loader)
552   DEVICE_VENDOR := ELECOM
553   IMAGES += factory.bin
554   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
555         elecom-wrc-gs-factory $$$$(ELECOM_HWNAME) 0.00 -N | \
556         append-string MT7621_ELECOM_$$$$(ELECOM_HWNAME)
557   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
558 endef
559
560 define Device/elecom_wrc-1167gs2-b
561   $(Device/elecom_wrc-gs)
562   IMAGE_SIZE := 11264k
563   DEVICE_MODEL := WRC-1167GS2-B
564   ELECOM_HWNAME := WRC-1167GS2
565 endef
566 TARGET_DEVICES += elecom_wrc-1167gs2-b
567
568 define Device/elecom_wrc-1167gst2
569   $(Device/elecom_wrc-gs)
570   IMAGE_SIZE := 24576k
571   DEVICE_MODEL := WRC-1167GST2
572   ELECOM_HWNAME := WRC-1167GST2
573 endef
574 TARGET_DEVICES += elecom_wrc-1167gst2
575
576 define Device/elecom_wrc-1750gs
577   $(Device/elecom_wrc-gs)
578   IMAGE_SIZE := 11264k
579   DEVICE_MODEL := WRC-1750GS
580   ELECOM_HWNAME := WRC-1750GS
581 endef
582 TARGET_DEVICES += elecom_wrc-1750gs
583
584 define Device/elecom_wrc-1750gst2
585   $(Device/elecom_wrc-gs)
586   IMAGE_SIZE := 24576k
587   DEVICE_MODEL := WRC-1750GST2
588   ELECOM_HWNAME := WRC-1750GST2
589 endef
590 TARGET_DEVICES += elecom_wrc-1750gst2
591
592 define Device/elecom_wrc-1750gsv
593   $(Device/elecom_wrc-gs)
594   IMAGE_SIZE := 11264k
595   DEVICE_MODEL := WRC-1750GSV
596   ELECOM_HWNAME := WRC-1750GSV
597 endef
598 TARGET_DEVICES += elecom_wrc-1750gsv
599
600 define Device/elecom_wrc-1900gst
601   $(Device/elecom_wrc-gs)
602   IMAGE_SIZE := 11264k
603   DEVICE_MODEL := WRC-1900GST
604   ELECOM_HWNAME := WRC-1900GST
605 endef
606 TARGET_DEVICES += elecom_wrc-1900gst
607
608 define Device/elecom_wrc-2533ghbk-i
609   $(Device/dsa-migration)
610   $(Device/uimage-lzma-loader)
611   DEVICE_VENDOR := ELECOM
612   DEVICE_MODEL := WRC-2533GHBK-I
613   IMAGE_SIZE := 9856k
614   IMAGES += factory.bin
615   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
616         elx-header 0107002d 8844A2D168B45A2D | \
617         elecom-product-header WRC-2533GHBK-I
618   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
619 endef
620 TARGET_DEVICES += elecom_wrc-2533ghbk-i
621
622 define Device/elecom_wrc-2533gs2
623   $(Device/elecom_wrc-gs)
624   IMAGE_SIZE := 11264k
625   DEVICE_MODEL := WRC-2533GS2
626   ELECOM_HWNAME := WRC-2533GS2
627 endef
628 TARGET_DEVICES += elecom_wrc-2533gs2
629
630 define Device/elecom_wrc-2533gst
631   $(Device/elecom_wrc-gs)
632   IMAGE_SIZE := 11264k
633   DEVICE_MODEL := WRC-2533GST
634   ELECOM_HWNAME := WRC-2533GST
635 endef
636 TARGET_DEVICES += elecom_wrc-2533gst
637
638 define Device/elecom_wrc-2533gst2
639   $(Device/elecom_wrc-gs)
640   IMAGE_SIZE := 24576k
641   DEVICE_MODEL := WRC-2533GST2
642   ELECOM_HWNAME := WRC-2533GST2
643 endef
644 TARGET_DEVICES += elecom_wrc-2533gst2
645
646 define Device/firefly_firewrt
647   $(Device/dsa-migration)
648   IMAGE_SIZE := 16064k
649   DEVICE_VENDOR := Firefly
650   DEVICE_MODEL := FireWRT
651   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
652   SUPPORTED_DEVICES += firewrt
653 endef
654 TARGET_DEVICES += firefly_firewrt
655
656 define Device/gehua_ghl-r-001
657   $(Device/dsa-migration)
658   IMAGE_SIZE := 32448k
659   DEVICE_VENDOR := GeHua
660   DEVICE_MODEL := GHL-R-001
661   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
662         kmod-usb-ledtrig-usbport
663 endef
664 TARGET_DEVICES += gehua_ghl-r-001
665
666 define Device/glinet_gl-mt1300
667   $(Device/dsa-migration)
668   IMAGE_SIZE := 32448k
669   DEVICE_VENDOR := GL.iNet
670   DEVICE_MODEL := GL-MT1300
671   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
672 endef
673 TARGET_DEVICES += glinet_gl-mt1300
674
675 define Device/gnubee_gb-pc1
676   $(Device/dsa-migration)
677   DEVICE_VENDOR := GnuBee
678   DEVICE_MODEL := Personal Cloud One
679   DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620 -wpad-basic-wolfssl
680   IMAGE_SIZE := 32448k
681 endef
682 TARGET_DEVICES += gnubee_gb-pc1
683
684 define Device/gnubee_gb-pc2
685   $(Device/dsa-migration)
686   DEVICE_VENDOR := GnuBee
687   DEVICE_MODEL := Personal Cloud Two
688   DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620 -wpad-basic-wolfssl
689   IMAGE_SIZE := 32448k
690 endef
691 TARGET_DEVICES += gnubee_gb-pc2
692
693 define Device/hilink_hlk-7621a-evb
694   $(Device/dsa-migration)
695   $(Device/uimage-lzma-loader)
696   DEVICE_VENDOR := HiLink
697   DEVICE_MODEL := HLK-7621A evaluation board
698   DEVICE_PACKAGES += kmod-mt76x2 kmod-usb3
699   IMAGE_SIZE := 32448k
700 endef
701 TARGET_DEVICES += hilink_hlk-7621a-evb
702
703 define Device/hiwifi_hc5962
704   $(Device/dsa-migration)
705   BLOCKSIZE := 128k
706   PAGESIZE := 2048
707   KERNEL_SIZE := 4096k
708   UBINIZE_OPTS := -E 5
709   IMAGE_SIZE := 32768k
710   IMAGES += factory.bin
711   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
712   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
713         check-size
714   DEVICE_VENDOR := HiWiFi
715   DEVICE_MODEL := HC5962
716   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3
717 endef
718 TARGET_DEVICES += hiwifi_hc5962
719
720 define Device/humax_e10
721   $(Device/dsa-migration)
722   $(Device/uimage-lzma-loader)
723   IMAGE_SIZE := 15936k
724   DEVICE_VENDOR := HUMAX
725   DEVICE_MODEL := E10
726   DEVICE_ALT0_VENDOR := HUMAX
727   DEVICE_ALT0_MODEL := QUANTUM E10
728   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
729         edimax-header -s CSYS -m EA03 -f 0x70000 -S 0x01100000 | pad-rootfs | \
730         check-size | append-metadata
731   IMAGES += factory.bin
732   IMAGE/factory.bin := append-kernel | append-rootfs | pad-rootfs | \
733         edimax-header -s CSYS -m EA03 -f 0x70000 -S 0x01100000 | \
734         check-size | zip upg -P f013c26cf0a320fb71d03356dcb6bb63
735   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
736 endef
737 TARGET_DEVICES += humax_e10
738
739 define Device/iodata_wn-ax1167gr
740   $(Device/dsa-migration)
741   $(Device/uimage-lzma-loader)
742   IMAGE_SIZE := 15552k
743   KERNEL_INITRAMFS := $$(KERNEL) | \
744         iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
745   DEVICE_VENDOR := I-O DATA
746   DEVICE_MODEL := WN-AX1167GR
747   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
748 endef
749 TARGET_DEVICES += iodata_wn-ax1167gr
750
751 define Device/iodata_nand
752   $(Device/dsa-migration)
753   DEVICE_VENDOR := I-O DATA
754   BLOCKSIZE := 128k
755   PAGESIZE := 2048
756   UBINIZE_OPTS := -E 5
757   KERNEL_SIZE := 4096k
758   IMAGE_SIZE := 51200k
759   LOADER_TYPE := bin
760   KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | lzma | uImage lzma
761   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
762 endef
763
764 # The OEM webinterface expects an kernel with initramfs which has the uImage
765 # header field ih_name.
766 # We don't want to set the header name field for the kernel include in the
767 # sysupgrade image as well, as this image shouldn't be accepted by the OEM
768 # webinterface. It will soft-brick the board.
769
770 define Device/iodata_wn-ax1167gr2
771   $(Device/iodata_nand)
772   DEVICE_MODEL := WN-AX1167GR2
773   KERNEL_INITRAMFS := $(KERNEL_DTB) | loader-kernel | lzma | \
774         uImage lzma -M 0x434f4d42 -n '3.10(XBC.1)b10' | iodata-mstc-header
775   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
776 endef
777 TARGET_DEVICES += iodata_wn-ax1167gr2
778
779 define Device/iodata_wn-ax2033gr
780   $(Device/iodata_nand)
781   DEVICE_MODEL := WN-AX2033GR
782   KERNEL_INITRAMFS := $(KERNEL_DTB) | loader-kernel | lzma | \
783         uImage lzma -M 0x434f4d42 -n '3.10(VST.1)C10' | iodata-mstc-header
784   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
785 endef
786 TARGET_DEVICES += iodata_wn-ax2033gr
787
788 define Device/iodata_wn-dx1167r
789   $(Device/iodata_nand)
790   DEVICE_MODEL := WN-DX1167R
791   KERNEL_INITRAMFS := $(KERNEL_DTB) | loader-kernel | lzma | \
792         uImage lzma -M 0x434f4d43 -n '3.10(XIK.1)b10' | iodata-mstc-header
793   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
794 endef
795 TARGET_DEVICES += iodata_wn-dx1167r
796
797 define Device/iodata_wn-dx1200gr
798   $(Device/iodata_nand)
799   DEVICE_MODEL := WN-DX1200GR
800   KERNEL_INITRAMFS := $(KERNEL_DTB) | loader-kernel | lzma | \
801         uImage lzma -M 0x434f4d43 -n '3.10(XIQ.0)b20' | iodata-mstc-header
802   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
803 endef
804 TARGET_DEVICES += iodata_wn-dx1200gr
805
806 define Device/iodata_wn-dx2033gr
807   $(Device/iodata_nand)
808   DEVICE_MODEL := WN-DX2033GR
809   KERNEL_INITRAMFS := $(KERNEL_DTB) | loader-kernel | lzma | \
810         uImage lzma -M 0x434f4d42 -n '3.10(XID.0)b30' | iodata-mstc-header
811   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
812 endef
813 TARGET_DEVICES += iodata_wn-dx2033gr
814
815 define Device/iodata_wn-gx300gr
816   $(Device/dsa-migration)
817   $(Device/uimage-lzma-loader)
818   IMAGE_SIZE := 7616k
819   DEVICE_VENDOR := I-O DATA
820   DEVICE_MODEL := WN-GX300GR
821   DEVICE_PACKAGES := kmod-mt7603
822 endef
823 TARGET_DEVICES += iodata_wn-gx300gr
824
825 define Device/iodata_wnpr2600g
826   $(Device/dsa-migration)
827   $(Device/uimage-lzma-loader)
828   DEVICE_VENDOR := I-O DATA
829   DEVICE_MODEL := WNPR2600G
830   IMAGE_SIZE := 13952k
831   IMAGES += factory.bin
832   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
833         elx-header 0104003a 8844A2D168B45A2D
834   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
835 endef
836 TARGET_DEVICES += iodata_wnpr2600g
837
838 define Device/iptime_a3002mesh
839   $(Device/dsa-migration)
840   IMAGE_SIZE := 16128k
841   UIMAGE_NAME := a3002me
842   DEVICE_VENDOR := ipTIME
843   DEVICE_MODEL := A3002MESH
844   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
845 endef
846 TARGET_DEVICES += iptime_a3002mesh
847
848 define Device/iptime_a3004ns-dual
849   $(Device/dsa-migration)
850   $(Device/uimage-lzma-loader)
851   IMAGE_SIZE := 16128k
852   UIMAGE_NAME := a3004nd
853   DEVICE_VENDOR := ipTIME
854   DEVICE_MODEL := A3004NS-dual
855   DEVICE_PACKAGES := kmod-usb3 kmod-mt76x2 kmod-usb-ledtrig-usbport
856 endef
857 TARGET_DEVICES += iptime_a3004ns-dual
858
859 define Device/iptime_a3004t
860   $(Device/dsa-migration)
861   $(Device/uimage-lzma-loader)
862   BLOCKSIZE := 128k
863   PAGESIZE := 2048
864   FILESYSTEMS := squashfs
865   KERNEL_SIZE := 4096k
866   IMAGE_SIZE := 129280k
867   UIMAGE_NAME := a3004t
868   UBINIZE_OPTS := -E 5
869   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
870   DEVICE_VENDOR := ipTIME
871   DEVICE_MODEL := A3004T
872   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
873 endef
874 TARGET_DEVICES += iptime_a3004t
875
876 define Device/iptime_a6004ns-m
877   $(Device/dsa-migration)
878   IMAGE_SIZE := 16128k
879   UIMAGE_NAME := a6004nm
880   DEVICE_VENDOR := ipTIME
881   DEVICE_MODEL := A6004NS-M
882   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
883         kmod-usb-ledtrig-usbport
884 endef
885 TARGET_DEVICES += iptime_a6004ns-m
886
887 define Device/iptime_a6ns-m
888   $(Device/dsa-migration)
889   IMAGE_SIZE := 16128k
890   UIMAGE_NAME := a6nm
891   DEVICE_VENDOR := ipTIME
892   DEVICE_MODEL := A6ns-M
893   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
894         kmod-usb-ledtrig-usbport
895 endef
896 TARGET_DEVICES += iptime_a6ns-m
897
898 define Device/iptime_a8004t
899   $(Device/dsa-migration)
900   IMAGE_SIZE := 16128k
901   UIMAGE_NAME := a8004t
902   DEVICE_VENDOR := ipTIME
903   DEVICE_MODEL := A8004T
904   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
905 endef
906 TARGET_DEVICES += iptime_a8004t
907
908 define Device/iptime_ax2004m
909   $(Device/dsa-migration)
910   BLOCKSIZE := 128k
911   PAGESIZE := 2048
912   KERNEL_SIZE := 4096k
913   IMAGE_SIZE := 121344k
914   UBINIZE_OPTS := -E 5
915   KERNEL_LOADADDR := 0x82000000
916   KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
917         fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
918   IMAGES += recovery.bin
919   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
920   IMAGE/recovery.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
921         check-size | iptime-crc32 ax2004m
922   DEVICE_VENDOR := ipTIME
923   DEVICE_MODEL := AX2004M
924   DEVICE_PACKAGES := kmod-mt7915e kmod-usb3
925 endef
926 TARGET_DEVICES += iptime_ax2004m
927
928 define Device/iptime_t5004
929   $(Device/dsa-migration)
930   BLOCKSIZE := 128k
931   PAGESIZE := 2048
932   KERNEL_SIZE := 4096k
933   IMAGE_SIZE := 129280k
934   UBINIZE_OPTS := -E 5
935   UIMAGE_NAME := t5004
936   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
937   DEVICE_VENDOR := ipTIME
938   DEVICE_MODEL := T5004
939   DEVICE_PACKAGES := -wpad-basic-wolfssl
940 endef
941 TARGET_DEVICES += iptime_t5004
942
943 define Device/jcg_jhr-ac876m
944   $(Device/dsa-migration)
945   IMAGE_SIZE := 16064k
946   IMAGES += factory.bin
947   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | jcg-header 89.1
948   JCG_MAXSIZE := 16064k
949   DEVICE_VENDOR := JCG
950   DEVICE_MODEL := JHR-AC876M
951   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
952         kmod-usb-ledtrig-usbport
953 endef
954 TARGET_DEVICES += jcg_jhr-ac876m
955
956 define Device/jcg_q20
957   $(Device/dsa-migration)
958   BLOCKSIZE := 128k
959   PAGESIZE := 2048
960   UBINIZE_OPTS := -E 5
961   KERNEL_SIZE := 4096k
962   IMAGE_SIZE := 91136k
963   IMAGES += factory.bin
964   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
965   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
966         check-size
967   DEVICE_VENDOR := JCG
968   DEVICE_MODEL := Q20
969   DEVICE_PACKAGES := kmod-mt7915e uboot-envtools
970 endef
971 TARGET_DEVICES += jcg_q20
972
973 define Device/jcg_y2
974   $(Device/dsa-migration)
975   $(Device/uimage-lzma-loader)
976   IMAGE_SIZE := 16064k
977   IMAGES += factory.bin
978   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | jcg-header 95.1
979   JCG_MAXSIZE := 16064k
980   DEVICE_VENDOR := JCG
981   DEVICE_MODEL := Y2
982   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
983 endef
984 TARGET_DEVICES += jcg_y2
985
986 define Device/lenovo_newifi-d1
987   $(Device/dsa-migration)
988   $(Device/uimage-lzma-loader)
989   IMAGE_SIZE := 32448k
990   DEVICE_VENDOR := Newifi
991   DEVICE_MODEL := D1
992   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
993         kmod-usb-ledtrig-usbport
994   SUPPORTED_DEVICES += newifi-d1
995 endef
996 TARGET_DEVICES += lenovo_newifi-d1
997
998 define Device/linksys_e5600
999   $(Device/dsa-migration)
1000   $(Device/uimage-lzma-loader)
1001   BLOCKSIZE := 128k
1002   PAGESIZE := 2048
1003   KERNEL_SIZE := 4096k
1004   IMAGE_SIZE := 26624k
1005   DEVICE_VENDOR := Linksys
1006   DEVICE_MODEL := E5600
1007   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \
1008         uboot-envtools
1009   UBINIZE_OPTS := -E 5
1010   IMAGES += factory.bin
1011   IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata
1012   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
1013         append-ubi | check-size | gemtek-trailer
1014 endef
1015 TARGET_DEVICES += linksys_e5600
1016
1017 define Device/linksys_ea7xxx
1018   $(Device/dsa-migration)
1019   $(Device/uimage-lzma-loader)
1020   BLOCKSIZE := 128k
1021   PAGESIZE := 2048
1022   KERNEL_SIZE := 4096k
1023   IMAGE_SIZE := 36864k
1024   DEVICE_VENDOR := Linksys
1025   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e kmod-mt7615-firmware \
1026         uboot-envtools
1027   UBINIZE_OPTS := -E 5
1028   IMAGES := sysupgrade.bin factory.bin
1029   IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata
1030   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
1031         append-ubi | check-size | linksys-image type=$$$$(LINKSYS_HWNAME)
1032 endef
1033
1034 define Device/linksys_ea6350-v4
1035   $(Device/linksys_ea7xxx)
1036   DEVICE_MODEL := EA6350
1037   DEVICE_VARIANT := v4
1038   LINKSYS_HWNAME := EA6350
1039   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7663-firmware-ap
1040 endef
1041 TARGET_DEVICES += linksys_ea6350-v4
1042
1043 define Device/linksys_ea7300-v1
1044   $(Device/linksys_ea7xxx)
1045   DEVICE_MODEL := EA7300
1046   DEVICE_VARIANT := v1
1047   LINKSYS_HWNAME := EA7300
1048 endef
1049 TARGET_DEVICES += linksys_ea7300-v1
1050
1051 define Device/linksys_ea7300-v2
1052   $(Device/linksys_ea7xxx)
1053   DEVICE_MODEL := EA7300
1054   DEVICE_VARIANT := v2
1055   LINKSYS_HWNAME := EA7300v2
1056   DEVICE_PACKAGES += kmod-mt7603
1057 endef
1058 TARGET_DEVICES += linksys_ea7300-v2
1059
1060 define Device/linksys_ea7500-v2
1061   $(Device/linksys_ea7xxx)
1062   DEVICE_MODEL := EA7500
1063   DEVICE_VARIANT := v2
1064   LINKSYS_HWNAME := EA7500v2
1065 endef
1066 TARGET_DEVICES += linksys_ea7500-v2
1067
1068 define Device/linksys_ea8100-v1
1069   $(Device/linksys_ea7xxx)
1070   DEVICE_MODEL := EA8100
1071   DEVICE_VARIANT := v1
1072   LINKSYS_HWNAME := EA8100
1073 endef
1074 TARGET_DEVICES += linksys_ea8100-v1
1075
1076 define Device/linksys_ea8100-v2
1077   $(Device/linksys_ea7xxx)
1078   DEVICE_MODEL := EA8100
1079   DEVICE_VARIANT := v2
1080   LINKSYS_HWNAME := EA8100v2
1081 endef
1082 TARGET_DEVICES += linksys_ea8100-v2
1083
1084 define Device/linksys_re6500
1085   $(Device/dsa-migration)
1086   IMAGE_SIZE := 7872k
1087   DEVICE_VENDOR := Linksys
1088   DEVICE_MODEL := RE6500
1089   DEVICE_PACKAGES := kmod-mt76x2
1090   SUPPORTED_DEVICES += re6500
1091 endef
1092 TARGET_DEVICES += linksys_re6500
1093
1094 define Device/mediatek_ap-mt7621a-v60
1095   $(Device/dsa-migration)
1096   IMAGE_SIZE := 7872k
1097   DEVICE_VENDOR := Mediatek
1098   DEVICE_MODEL := AP-MT7621A-V60 EVB
1099   DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620 -wpad-basic-wolfssl
1100 endef
1101 TARGET_DEVICES += mediatek_ap-mt7621a-v60
1102
1103 define Device/mediatek_mt7621-eval-board
1104   $(Device/dsa-migration)
1105   BLOCKSIZE := 64k
1106   IMAGE_SIZE := 15104k
1107   DEVICE_VENDOR := MediaTek
1108   DEVICE_MODEL := MT7621 EVB
1109   DEVICE_PACKAGES := -wpad-basic-wolfssl
1110   SUPPORTED_DEVICES += mt7621
1111 endef
1112 TARGET_DEVICES += mediatek_mt7621-eval-board
1113
1114 define Device/MikroTik
1115   $(Device/dsa-migration)
1116   DEVICE_VENDOR := MikroTik
1117   BLOCKSIZE := 64k
1118   IMAGE_SIZE := 16128k
1119   DEVICE_PACKAGES := kmod-usb3
1120   KERNEL_NAME := vmlinuz
1121   KERNEL := kernel-bin | append-dtb-elf
1122   IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | \
1123         pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size | \
1124         append-metadata
1125 endef
1126
1127 define Device/mikrotik_routerboard-750gr3
1128   $(Device/MikroTik)
1129   DEVICE_MODEL := RouterBOARD 750Gr3
1130   DEVICE_PACKAGES += -wpad-basic-wolfssl
1131   SUPPORTED_DEVICES += mikrotik,rb750gr3
1132 endef
1133 TARGET_DEVICES += mikrotik_routerboard-750gr3
1134
1135 define Device/mikrotik_routerboard-760igs
1136   $(Device/MikroTik)
1137   DEVICE_MODEL := RouterBOARD 760iGS
1138   DEVICE_PACKAGES += kmod-sfp -wpad-basic-wolfssl
1139 endef
1140 TARGET_DEVICES += mikrotik_routerboard-760igs
1141
1142 define Device/mikrotik_routerboard-m11g
1143   $(Device/MikroTik)
1144   DEVICE_MODEL := RouterBOARD M11G
1145   DEVICE_PACKAGES := -wpad-basic-wolfssl
1146   SUPPORTED_DEVICES += mikrotik,rbm11g
1147 endef
1148 TARGET_DEVICES += mikrotik_routerboard-m11g
1149
1150 define Device/mikrotik_routerboard-m33g
1151   $(Device/MikroTik)
1152   DEVICE_MODEL := RouterBOARD M33G
1153   DEVICE_PACKAGES := -wpad-basic-wolfssl
1154   SUPPORTED_DEVICES += mikrotik,rbm33g
1155 endef
1156 TARGET_DEVICES += mikrotik_routerboard-m33g
1157
1158 define Device/mqmaker_witi
1159   $(Device/dsa-migration)
1160   $(Device/uimage-lzma-loader)
1161   IMAGE_SIZE := 16064k
1162   DEVICE_VENDOR := MQmaker
1163   DEVICE_MODEL := WiTi
1164   DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
1165         kmod-usb-ledtrig-usbport
1166   SUPPORTED_DEVICES += witi mqmaker,witi-256m mqmaker,witi-512m
1167 endef
1168 TARGET_DEVICES += mqmaker_witi
1169
1170 define Device/mtc_wr1201
1171   $(Device/dsa-migration)
1172   $(Device/uimage-lzma-loader)
1173   IMAGE_SIZE := 16000k
1174   DEVICE_VENDOR := MTC
1175   DEVICE_MODEL := Wireless Router WR1201
1176   KERNEL_INITRAMFS := $(KERNEL_DTB) | uImage lzma -n 'WR1201_8_128'
1177   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
1178         kmod-usb-ledtrig-usbport
1179 endef
1180 TARGET_DEVICES += mtc_wr1201
1181
1182 define Device/netgear_ex6150
1183   $(Device/dsa-migration)
1184   DEVICE_VENDOR := NETGEAR
1185   DEVICE_MODEL := EX6150
1186   DEVICE_PACKAGES := kmod-mt76x2
1187   NETGEAR_BOARD_ID := U12H318T00_NETGEAR
1188   IMAGE_SIZE := 14848k
1189   IMAGES += factory.chk
1190   IMAGE/factory.chk := $$(sysupgrade_bin) | check-size | netgear-chk
1191 endef
1192 TARGET_DEVICES += netgear_ex6150
1193
1194 define Device/netgear_sercomm_nand
1195   $(Device/dsa-migration)
1196   $(Device/uimage-lzma-loader)
1197   BLOCKSIZE := 128k
1198   PAGESIZE := 2048
1199   KERNEL_SIZE := 4096k
1200   UBINIZE_OPTS := -E 5
1201   IMAGES += factory.img kernel.bin rootfs.bin
1202   IMAGE/factory.img := pad-extra 2048k | append-kernel | pad-to 6144k | \
1203         append-ubi | pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
1204         zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
1205   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1206   IMAGE/kernel.bin := append-kernel
1207   IMAGE/rootfs.bin := append-ubi | check-size
1208   DEVICE_VENDOR := NETGEAR
1209   DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport
1210 endef
1211
1212 define Device/netgear_r6220
1213   $(Device/netgear_sercomm_nand)
1214   DEVICE_MODEL := R6220
1215   SERCOMM_HWNAME := R6220
1216   SERCOMM_HWID := AYA
1217   SERCOMM_HWVER := A001
1218   SERCOMM_SWVER := 0x0086
1219   IMAGE_SIZE := 28672k
1220   DEVICE_PACKAGES += kmod-mt76x2
1221   SUPPORTED_DEVICES += r6220
1222 endef
1223 TARGET_DEVICES += netgear_r6220
1224
1225
1226 define Device/netgear_r6260
1227   $(Device/netgear_sercomm_nand)
1228   DEVICE_MODEL := R6260
1229   SERCOMM_HWNAME := R6260
1230   SERCOMM_HWID := CHJ
1231   SERCOMM_HWVER := A001
1232   SERCOMM_SWVER := 0x0052
1233   IMAGE_SIZE := 40960k
1234   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1235 endef
1236 TARGET_DEVICES += netgear_r6260
1237
1238 define Device/netgear_r6350
1239   $(Device/netgear_sercomm_nand)
1240   DEVICE_MODEL := R6350
1241   SERCOMM_HWNAME := R6350
1242   SERCOMM_HWID := CHJ
1243   SERCOMM_HWVER := A001
1244   SERCOMM_SWVER := 0x0052
1245   IMAGE_SIZE := 40960k
1246   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1247 endef
1248 TARGET_DEVICES += netgear_r6350
1249
1250 define Device/netgear_r6700-v2
1251   $(Device/netgear_sercomm_nand)
1252   DEVICE_MODEL := R6700
1253   DEVICE_VARIANT := v2
1254   DEVICE_ALT0_VENDOR := NETGEAR
1255   DEVICE_ALT0_MODEL := Nighthawk AC2400
1256   DEVICE_ALT0_VARIANT := v1
1257   DEVICE_ALT1_VENDOR := NETGEAR
1258   DEVICE_ALT1_MODEL := Nighthawk AC2100
1259   DEVICE_ALT1_VARIANT := v1
1260   SERCOMM_HWNAME := R6950
1261   SERCOMM_HWID := BZV
1262   SERCOMM_HWVER := A001
1263   SERCOMM_SWVER := 0x1032
1264   IMAGE_SIZE := 40960k
1265   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1266 endef
1267 TARGET_DEVICES += netgear_r6700-v2
1268
1269 define Device/netgear_r6800
1270   $(Device/netgear_sercomm_nand)
1271   DEVICE_MODEL := R6800
1272   SERCOMM_HWNAME := R6950
1273   SERCOMM_HWID := BZV
1274   SERCOMM_HWVER := A001
1275   SERCOMM_SWVER := 0x0062
1276   IMAGE_SIZE := 40960k
1277   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1278 endef
1279 TARGET_DEVICES += netgear_r6800
1280
1281 define Device/netgear_r6850
1282   $(Device/netgear_sercomm_nand)
1283   DEVICE_MODEL := R6850
1284   SERCOMM_HWNAME := R6850
1285   SERCOMM_HWID := CHJ
1286   SERCOMM_HWVER := A001
1287   SERCOMM_SWVER := 0x0052
1288   IMAGE_SIZE := 40960k
1289   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1290 endef
1291 TARGET_DEVICES += netgear_r6850
1292
1293 define Device/netgear_r6900-v2
1294   $(Device/netgear_sercomm_nand)
1295   DEVICE_MODEL := R6900
1296   DEVICE_VARIANT := v2
1297   SERCOMM_HWNAME := R6950
1298   SERCOMM_HWID := BZV
1299   SERCOMM_HWVER := A001
1300   SERCOMM_SWVER := 0x1032
1301   IMAGE_SIZE := 40960k
1302   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1303 endef
1304 TARGET_DEVICES += netgear_r6900-v2
1305
1306 define Device/netgear_r7200
1307   $(Device/netgear_sercomm_nand)
1308   DEVICE_MODEL := R7200
1309   SERCOMM_HWNAME := R6950
1310   SERCOMM_HWID := BZV
1311   SERCOMM_HWVER := A001
1312   SERCOMM_SWVER := 0x1032
1313   IMAGE_SIZE := 40960k
1314   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1315 endef
1316 TARGET_DEVICES += netgear_r7200
1317
1318 define Device/netgear_r7450
1319   $(Device/netgear_sercomm_nand)
1320   DEVICE_MODEL := R7450
1321   SERCOMM_HWNAME := R6950
1322   SERCOMM_HWID := BZV
1323   SERCOMM_HWVER := A001
1324   SERCOMM_SWVER := 0x1032
1325   IMAGE_SIZE := 40960k
1326   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1327 endef
1328 TARGET_DEVICES += netgear_r7450
1329
1330 define Device/netgear_wac104
1331   $(Device/netgear_sercomm_nand)
1332   DEVICE_MODEL := WAC104
1333   SERCOMM_HWNAME := WAC104
1334   SERCOMM_HWID := CAY
1335   SERCOMM_HWVER := A001
1336   SERCOMM_SWVER := 0x0006
1337   IMAGE_SIZE := 28672k
1338   DEVICE_PACKAGES += kmod-mt76x2
1339 endef
1340 TARGET_DEVICES += netgear_wac104
1341
1342 define Device/netgear_wac124
1343   $(Device/netgear_sercomm_nand)
1344   DEVICE_MODEL := WAC124
1345   SERCOMM_HWNAME := WAC124
1346   SERCOMM_HWID := CTL
1347   SERCOMM_HWVER := A003
1348   SERCOMM_SWVER := 0x0402
1349   IMAGE_SIZE := 40960k
1350   DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware
1351 endef
1352 TARGET_DEVICES += netgear_wac124
1353
1354 define Device/netgear_wndr3700-v5
1355   $(Device/dsa-migration)
1356   $(Device/netgear_sercomm_nor)
1357   $(Device/uimage-lzma-loader)
1358   IMAGE_SIZE := 15232k
1359   DEVICE_MODEL := WNDR3700
1360   DEVICE_VARIANT := v5
1361   SERCOMM_HWNAME := WNDR3700v5
1362   SERCOMM_HWID := AYB
1363   SERCOMM_HWVER := A001
1364   SERCOMM_SWVER := 0x1054
1365   SERCOMM_PAD := 320k
1366   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1367         kmod-usb-ledtrig-usbport
1368   SUPPORTED_DEVICES += wndr3700v5
1369 endef
1370 TARGET_DEVICES += netgear_wndr3700-v5
1371
1372 define Device/netis_wf2881
1373   $(Device/dsa-migration)
1374   BLOCKSIZE := 128k
1375   PAGESIZE := 2048
1376   FILESYSTEMS := squashfs
1377   KERNEL_SIZE := 4096k
1378   IMAGE_SIZE := 129280k
1379   UBINIZE_OPTS := -E 5
1380   UIMAGE_NAME := WF2881_0.0.00
1381   KERNEL_INITRAMFS := $(KERNEL_DTB) | netis-tail WF2881 | uImage lzma
1382   IMAGES += factory.bin
1383   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1384   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
1385         check-size
1386   DEVICE_VENDOR := NETIS
1387   DEVICE_MODEL := WF2881
1388   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
1389 endef
1390 TARGET_DEVICES += netis_wf2881
1391
1392 define Device/oraybox_x3a
1393   $(Device/dsa-migration)
1394   $(Device/uimage-lzma-loader)
1395   IMAGE_SIZE := 15360k
1396   DEVICE_VENDOR := OrayBox
1397   DEVICE_MODEL := X3A
1398   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1399 endef
1400 TARGET_DEVICES += oraybox_x3a
1401
1402 define Device/phicomm_k2p
1403   $(Device/dsa-migration)
1404   IMAGE_SIZE := 15744k
1405   DEVICE_VENDOR := Phicomm
1406   DEVICE_MODEL := K2P
1407   DEVICE_ALT0_VENDOR := Phicomm
1408   DEVICE_ALT0_MODEL := KE 2P
1409   SUPPORTED_DEVICES += k2p
1410   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1411 endef
1412 TARGET_DEVICES += phicomm_k2p
1413
1414 define Device/planex_vr500
1415   $(Device/dsa-migration)
1416   $(Device/uimage-lzma-loader)
1417   IMAGE_SIZE := 65216k
1418   DEVICE_VENDOR := Planex
1419   DEVICE_MODEL := VR500
1420   DEVICE_PACKAGES := kmod-usb3 -wpad-basic-wolfssl
1421   SUPPORTED_DEVICES += vr500
1422 endef
1423 TARGET_DEVICES += planex_vr500
1424
1425 define Device/raisecom_msg1500-x-00
1426   $(Device/dsa-migration)
1427   $(Device/uimage-lzma-loader)
1428   BLOCKSIZE := 128k
1429   PAGESIZE := 2048
1430   KERNEL_SIZE := 4096k
1431   IMAGE_SIZE := 129280k
1432   UBINIZE_OPTS := -E 5
1433   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1434   DEVICE_VENDOR := RAISECOM
1435   DEVICE_MODEL := MSG1500
1436   DEVICE_VARIANT := X.00
1437   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
1438         kmod-usb-ledtrig-usbport uboot-envtools
1439 endef
1440 TARGET_DEVICES += raisecom_msg1500-x-00
1441
1442 define Device/renkforce_ws-wn530hp3-a
1443   $(Device/dsa-migration)
1444   DEVICE_VENDOR := Renkforce
1445   DEVICE_MODEL := WS-WN530HP3-A
1446   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
1447   IMAGE/sysupgrade.bin := append-kernel | pad-to 65536 | append-rootfs | \
1448         check-size | append-metadata
1449   IMAGE_SIZE := 15040k
1450 endef
1451 TARGET_DEVICES += renkforce_ws-wn530hp3-a
1452
1453 define Device/samknows_whitebox-v8
1454   $(Device/dsa-migration)
1455   IMAGE_SIZE := 16064k
1456   DEVICE_VENDOR := SamKnows
1457   DEVICE_MODEL := Whitebox 8
1458   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1459         kmod-usb-ledtrig-usbport uboot-envtools
1460   SUPPORTED_DEVICES += sk-wb8
1461 endef
1462 TARGET_DEVICES += samknows_whitebox-v8
1463
1464 define Device/sercomm_na502
1465   $(Device/uimage-lzma-loader)
1466   BLOCKSIZE := 128k
1467   PAGESIZE := 2048
1468   IMAGE_SIZE := 20480k
1469   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1470   UBINIZE_OPTS := -E 5
1471   KERNEL_SIZE := 4096k
1472   DEVICE_VENDOR := SERCOMM
1473   DEVICE_MODEL := NA502
1474   DEVICE_PACKAGES := kmod-mt76x2 kmod-mt7603 kmod-usb3
1475 endef
1476 TARGET_DEVICES += sercomm_na502
1477
1478 define Device/storylink_sap-g3200u3
1479   $(Device/dsa-migration)
1480   IMAGE_SIZE := 7872k
1481   DEVICE_VENDOR := STORYLiNK
1482   DEVICE_MODEL := SAP-G3200U3
1483   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport
1484   SUPPORTED_DEVICES += sap-g3200u3
1485 endef
1486 TARGET_DEVICES += storylink_sap-g3200u3
1487
1488 define Device/telco-electronics_x1
1489   $(Device/dsa-migration)
1490   IMAGE_SIZE := 16064k
1491   DEVICE_VENDOR := Telco Electronics
1492   DEVICE_MODEL := X1
1493   DEVICE_PACKAGES := kmod-usb3 kmod-mt76
1494 endef
1495 TARGET_DEVICES += telco-electronics_x1
1496
1497 define Device/tenbay_t-mb5eu-v01
1498   $(Device/dsa-migration)
1499   DEVICE_VENDOR := Tenbay
1500   DEVICE_MODEL := T-MB5EU-V01
1501   DEVICE_DTS_CONFIG := config@1
1502   DEVICE_PACKAGES += kmod-mt7915e kmod-usb3
1503   KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
1504   IMAGE_SIZE := 15808k
1505   SUPPORTED_DEVICES += mt7621-dm2-t-mb5eu-v01-nor
1506 endef
1507 TARGET_DEVICES += tenbay_t-mb5eu-v01
1508
1509 define Device/thunder_timecloud
1510   $(Device/dsa-migration)
1511   $(Device/uimage-lzma-loader)
1512   IMAGE_SIZE := 16064k
1513   DEVICE_VENDOR := Thunder
1514   DEVICE_MODEL := Timecloud
1515   DEVICE_PACKAGES := kmod-usb3 -wpad-basic-wolfssl
1516   SUPPORTED_DEVICES += timecloud
1517 endef
1518 TARGET_DEVICES += thunder_timecloud
1519
1520 define Device/totolink_a7000r
1521   $(Device/dsa-migration)
1522   IMAGE_SIZE := 16064k
1523   UIMAGE_NAME := C8340R1C-9999
1524   DEVICE_VENDOR := TOTOLINK
1525   DEVICE_MODEL := A7000R
1526   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1527 endef
1528 TARGET_DEVICES += totolink_a7000r
1529
1530 define Device/totolink_x5000r
1531   $(Device/dsa-migration)
1532   IMAGE_SIZE := 16064k
1533   UIMAGE_NAME := C8343R-9999
1534   DEVICE_VENDOR := TOTOLINK
1535   DEVICE_MODEL := X5000R
1536   DEVICE_PACKAGES := kmod-mt7915e
1537 endef
1538 TARGET_DEVICES += totolink_x5000r
1539
1540 define Device/tplink_archer-a6-v3
1541   $(Device/dsa-migration)
1542   $(Device/tplink-safeloader)
1543   DEVICE_MODEL := Archer A6
1544   DEVICE_VARIANT := V3
1545   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e \
1546         kmod-mt7663-firmware-ap
1547   TPLINK_BOARD_ID := ARCHER-A6-V3
1548   KERNEL := $(KERNEL_DTB) | uImage lzma
1549   IMAGE_SIZE := 15744k
1550 endef
1551 TARGET_DEVICES += tplink_archer-a6-v3
1552
1553 define Device/tplink_archer-c6-v3
1554   $(Device/dsa-migration)
1555   $(Device/tplink-safeloader)
1556   DEVICE_MODEL := Archer C6
1557   DEVICE_VARIANT := V3
1558   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e \
1559         kmod-mt7663-firmware-ap
1560   TPLINK_BOARD_ID := ARCHER-C6-V3
1561   KERNEL := $(KERNEL_DTB) | uImage lzma
1562   IMAGE_SIZE := 15744k
1563 endef
1564 TARGET_DEVICES += tplink_archer-c6-v3
1565
1566 define Device/tplink_archer-c6u-v1
1567   $(Device/dsa-migration)
1568   $(Device/tplink-safeloader)
1569   DEVICE_MODEL := Archer C6U
1570   DEVICE_VARIANT := v1
1571   DEVICE_PACKAGES := kmod-mt7603 \
1572         kmod-mt7615e kmod-mt7663-firmware-ap \
1573         kmod-usb3 kmod-usb-ledtrig-usbport
1574   KERNEL := $(KERNEL_DTB) | uImage lzma
1575   TPLINK_BOARD_ID := ARCHER-C6U-V1
1576   IMAGE_SIZE := 15744k
1577 endef
1578 TARGET_DEVICES += tplink_archer-c6u-v1
1579
1580 define Device/tplink_eap235-wall-v1
1581   $(Device/dsa-migration)
1582   $(Device/tplink-safeloader)
1583   DEVICE_MODEL := EAP235-Wall
1584   DEVICE_VARIANT := v1
1585   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
1586   TPLINK_BOARD_ID := EAP235-WALL-V1
1587   IMAGE_SIZE := 13440k
1588   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory | \
1589         pad-extra 128
1590 endef
1591 TARGET_DEVICES += tplink_eap235-wall-v1
1592
1593 define Device/tplink_eap615-wall-v1
1594   $(Device/dsa-migration)
1595   $(Device/tplink-safeloader)
1596   DEVICE_MODEL := EAP615-Wall
1597   DEVICE_VARIANT := v1
1598   DEVICE_PACKAGES := kmod-mt7915e
1599   TPLINK_BOARD_ID := EAP615-WALL-V1
1600   KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | pad-to 64k
1601   KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
1602   IMAGE_SIZE := 13248k
1603 endef
1604 TARGET_DEVICES += tplink_eap615-wall-v1
1605
1606 define Device/tplink_re350-v1
1607   $(Device/dsa-migration)
1608   $(Device/tplink-safeloader)
1609   DEVICE_MODEL := RE350
1610   DEVICE_VARIANT := v1
1611   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
1612   TPLINK_BOARD_ID := RE350-V1
1613   IMAGE_SIZE := 6016k
1614   SUPPORTED_DEVICES += re350-v1
1615 endef
1616 TARGET_DEVICES += tplink_re350-v1
1617
1618 define Device/tplink_re500-v1
1619   $(Device/dsa-migration)
1620   $(Device/tplink-safeloader)
1621   DEVICE_MODEL := RE500
1622   DEVICE_VARIANT := v1
1623   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1624   TPLINK_BOARD_ID := RE500-V1
1625   IMAGE_SIZE := 14208k
1626 endef
1627 TARGET_DEVICES += tplink_re500-v1
1628
1629 define Device/tplink_re650-v1
1630   $(Device/dsa-migration)
1631   $(Device/tplink-safeloader)
1632   DEVICE_MODEL := RE650
1633   DEVICE_VARIANT := v1
1634   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1635   TPLINK_BOARD_ID := RE650-V1
1636   IMAGE_SIZE := 14208k
1637 endef
1638 TARGET_DEVICES += tplink_re650-v1
1639
1640 define Device/tplink_re650-v2
1641   $(Device/dsa-migration)
1642   $(Device/tplink-safeloader)
1643   DEVICE_MODEL := RE650
1644   DEVICE_VARIANT := v2
1645   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware
1646   TPLINK_BOARD_ID := RE650-V2
1647   IMAGE_SIZE := 7994k
1648 endef
1649 TARGET_DEVICES += tplink_re650-v2
1650
1651 define Device/tplink_tl-wpa8631p-v3
1652   $(Device/dsa-migration)
1653   $(Device/tplink-safeloader)
1654   DEVICE_MODEL := TL-WPA8631P
1655   DEVICE_VARIANT := v3
1656   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
1657   TPLINK_BOARD_ID := TL-WPA8631P-V3
1658   IMAGE_SIZE := 7232k
1659 endef
1660 TARGET_DEVICES += tplink_tl-wpa8631p-v3
1661
1662 define Device/ubnt_edgerouter_common
1663   $(Device/dsa-migration)
1664   $(Device/uimage-lzma-loader)
1665   DEVICE_VENDOR := Ubiquiti
1666   IMAGE_SIZE := 256768k
1667   FILESYSTEMS := squashfs
1668   KERNEL_SIZE := 3145728
1669   KERNEL_INITRAMFS := $$(KERNEL) | \
1670         ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
1671   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1672   DEVICE_PACKAGES += -wpad-basic-wolfssl
1673 endef
1674
1675 define Device/ubnt_edgerouter-x
1676   $(Device/ubnt_edgerouter_common)
1677   DEVICE_MODEL := EdgeRouter X
1678   SUPPORTED_DEVICES += ubnt-erx ubiquiti,edgerouterx
1679 endef
1680 TARGET_DEVICES += ubnt_edgerouter-x
1681
1682 define Device/ubnt_edgerouter-x-sfp
1683   $(Device/ubnt_edgerouter_common)
1684   DEVICE_MODEL := EdgeRouter X SFP
1685   DEVICE_ALT0_VENDOR := Ubiquiti
1686   DEVICE_ALT0_MODEL := EdgePoint R6
1687   DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-sfp
1688   SUPPORTED_DEVICES += ubnt-erx-sfp ubiquiti,edgerouterx-sfp
1689 endef
1690 TARGET_DEVICES += ubnt_edgerouter-x-sfp
1691
1692 define Device/ubnt_unifi-6-lite
1693   $(Device/dsa-migration)
1694   DEVICE_VENDOR := Ubiquiti
1695   DEVICE_MODEL := UniFi 6 Lite
1696   DEVICE_DTS_CONFIG := config@1
1697   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7915e
1698   KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
1699   IMAGE_SIZE := 15424k
1700 endef
1701 TARGET_DEVICES += ubnt_unifi-6-lite
1702
1703 define Device/ubnt_unifi-nanohd
1704   $(Device/dsa-migration)
1705   DEVICE_VENDOR := Ubiquiti
1706   DEVICE_MODEL := UniFi nanoHD
1707   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
1708   IMAGE_SIZE := 15552k
1709 endef
1710 TARGET_DEVICES += ubnt_unifi-nanohd
1711
1712 define Device/ubnt_usw-flex
1713   $(Device/dsa-migration)
1714   DEVICE_VENDOR := Ubiquiti
1715   DEVICE_MODEL := UniFi Switch Flex
1716   DEVICE_DTS_CONFIG := config@1
1717   KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
1718   IMAGE_SIZE := 7360k
1719 endef
1720 TARGET_DEVICES += ubnt_usw-flex
1721
1722 define Device/unielec_u7621-01-16m
1723   $(Device/dsa-migration)
1724   $(Device/uimage-lzma-loader)
1725   IMAGE_SIZE := 16064k
1726   DEVICE_VENDOR := UniElec
1727   DEVICE_MODEL := U7621-01
1728   DEVICE_VARIANT := 16M
1729   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3
1730 endef
1731 TARGET_DEVICES += unielec_u7621-01-16m
1732
1733 define Device/unielec_u7621-06-16m
1734   $(Device/dsa-migration)
1735   $(Device/uimage-lzma-loader)
1736   IMAGE_SIZE := 16064k
1737   DEVICE_VENDOR := UniElec
1738   DEVICE_MODEL := U7621-06
1739   DEVICE_VARIANT := 16M
1740   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 -wpad-basic-wolfssl
1741   SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
1742 endef
1743 TARGET_DEVICES += unielec_u7621-06-16m
1744
1745 define Device/unielec_u7621-06-64m
1746   $(Device/dsa-migration)
1747   $(Device/uimage-lzma-loader)
1748   IMAGE_SIZE := 65216k
1749   DEVICE_VENDOR := UniElec
1750   DEVICE_MODEL := U7621-06
1751   DEVICE_VARIANT := 64M
1752   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 -wpad-basic-wolfssl
1753   SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
1754 endef
1755 TARGET_DEVICES += unielec_u7621-06-64m
1756
1757 define Device/wavlink_wl-wn531a6
1758   $(Device/dsa-migration)
1759   DEVICE_VENDOR := Wavlink
1760   DEVICE_MODEL := WL-WN531A6
1761   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware kmod-usb3
1762   IMAGE_SIZE := 15040k
1763 endef
1764 TARGET_DEVICES += wavlink_wl-wn531a6
1765
1766 define Device/wevo_11acnas
1767   $(Device/dsa-migration)
1768   $(Device/uimage-lzma-loader)
1769   IMAGE_SIZE := 16064k
1770   UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
1771   DEVICE_VENDOR := WeVO
1772   DEVICE_MODEL := 11AC NAS Router
1773   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1774         kmod-usb-ledtrig-usbport
1775   SUPPORTED_DEVICES += 11acnas
1776 endef
1777 TARGET_DEVICES += wevo_11acnas
1778
1779 define Device/wevo_w2914ns-v2
1780   $(Device/dsa-migration)
1781   $(Device/uimage-lzma-loader)
1782   IMAGE_SIZE := 16064k
1783   UIMAGE_NAME := W2914NS-V2(0.0.0)
1784   DEVICE_VENDOR := WeVO
1785   DEVICE_MODEL := W2914NS
1786   DEVICE_VARIANT := v2
1787   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1788         kmod-usb-ledtrig-usbport
1789   SUPPORTED_DEVICES += w2914nsv2
1790 endef
1791 TARGET_DEVICES += wevo_w2914ns-v2
1792
1793 define Device/winstars_ws-wn583a6
1794   $(Device/dsa-migration)
1795   $(Device/uimage-lzma-loader)
1796   IMAGE_SIZE := 7872k
1797   DEVICE_VENDOR := Winstars
1798   DEVICE_MODEL := WS-WN583A6
1799   DEVICE_ALT0_VENDOR := Gemeita
1800   DEVICE_ALT0_MODEL := AC2100
1801   KERNEL_INITRAMFS_SUFFIX := -WN583A6$$(KERNEL_SUFFIX)
1802   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
1803 endef
1804 TARGET_DEVICES += winstars_ws-wn583a6
1805
1806 define Device/xiaomi_nand_separate
1807   $(Device/dsa-migration)
1808   $(Device/uimage-lzma-loader)
1809   DEVICE_VENDOR := Xiaomi
1810   DEVICE_PACKAGES := uboot-envtools
1811   BLOCKSIZE := 128k
1812   PAGESIZE := 2048
1813   KERNEL_SIZE := 4096k
1814   UBINIZE_OPTS := -E 5
1815   IMAGES += kernel1.bin rootfs0.bin
1816   IMAGE/kernel1.bin := append-kernel
1817   IMAGE/rootfs0.bin := append-ubi | check-size
1818   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1819 endef
1820
1821 define Device/xiaomi_mi-router-3g
1822   $(Device/xiaomi_nand_separate)
1823   DEVICE_MODEL := Mi Router 3G
1824   IMAGE_SIZE := 124416k
1825   DEVICE_PACKAGES += kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1826         kmod-usb-ledtrig-usbport
1827   SUPPORTED_DEVICES += R3G mir3g xiaomi,mir3g
1828 endef
1829 TARGET_DEVICES += xiaomi_mi-router-3g
1830
1831 define Device/xiaomi_mi-router-3g-v2
1832   $(Device/dsa-migration)
1833   $(Device/uimage-lzma-loader)
1834   IMAGE_SIZE := 14848k
1835   DEVICE_VENDOR := Xiaomi
1836   DEVICE_MODEL := Mi Router 3G
1837   DEVICE_VARIANT := v2
1838   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
1839   SUPPORTED_DEVICES += xiaomi,mir3g-v2
1840 endef
1841 TARGET_DEVICES += xiaomi_mi-router-3g-v2
1842
1843 define Device/xiaomi_mi-router-3-pro
1844   $(Device/dsa-migration)
1845   $(Device/uimage-lzma-loader)
1846   BLOCKSIZE := 128k
1847   PAGESIZE := 2048
1848   KERNEL_SIZE:= 4096k
1849   UBINIZE_OPTS := -E 5
1850   IMAGE_SIZE := 255488k
1851   DEVICE_VENDOR := Xiaomi
1852   DEVICE_MODEL := Mi Router 3 Pro
1853   IMAGES += factory.bin
1854   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1855   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
1856         check-size
1857   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 \
1858         kmod-usb-ledtrig-usbport uboot-envtools
1859   SUPPORTED_DEVICES += xiaomi,mir3p
1860 endef
1861 TARGET_DEVICES += xiaomi_mi-router-3-pro
1862
1863 define Device/xiaomi_mi-router-4
1864   $(Device/xiaomi_nand_separate)
1865   DEVICE_MODEL := Mi Router 4
1866   IMAGE_SIZE := 124416k
1867   DEVICE_PACKAGES += kmod-mt7603 kmod-mt76x2
1868 endef
1869 TARGET_DEVICES += xiaomi_mi-router-4
1870
1871 define Device/xiaomi_mi-router-4a-gigabit
1872   $(Device/dsa-migration)
1873   $(Device/uimage-lzma-loader)
1874   IMAGE_SIZE := 14848k
1875   DEVICE_VENDOR := Xiaomi
1876   DEVICE_MODEL := Mi Router 4A
1877   DEVICE_VARIANT := Gigabit Edition
1878   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
1879 endef
1880 TARGET_DEVICES += xiaomi_mi-router-4a-gigabit
1881
1882 define Device/xiaomi_mi-router-ac2100
1883   $(Device/xiaomi_nand_separate)
1884   DEVICE_MODEL := Mi Router AC2100
1885   IMAGE_SIZE := 120320k
1886   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
1887 endef
1888 TARGET_DEVICES += xiaomi_mi-router-ac2100
1889
1890 define Device/xiaomi_mi-router-cr660x
1891   $(Device/dsa-migration)
1892   $(Device/uimage-lzma-loader)
1893   DEVICE_VENDOR := Xiaomi
1894   BLOCKSIZE := 128k
1895   PAGESIZE := 2048
1896   KERNEL_SIZE := 4096k
1897   UBINIZE_OPTS := -E 5
1898   IMAGE_SIZE := 128512k
1899   IMAGES += firmware.bin
1900   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
1901   IMAGE/firmware.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
1902         check-size
1903   DEVICE_PACKAGES += kmod-mt7915e uboot-envtools
1904 endef
1905
1906 define Device/xiaomi_mi-router-cr6606
1907   $(Device/xiaomi_mi-router-cr660x)
1908   DEVICE_MODEL := Mi Router CR6606
1909 endef
1910 TARGET_DEVICES += xiaomi_mi-router-cr6606
1911
1912 define Device/xiaomi_mi-router-cr6608
1913   $(Device/xiaomi_mi-router-cr660x)
1914   DEVICE_MODEL := Mi Router CR6608
1915 endef
1916 TARGET_DEVICES += xiaomi_mi-router-cr6608
1917
1918 define Device/xiaomi_mi-router-cr6609
1919   $(Device/xiaomi_mi-router-cr660x)
1920   DEVICE_MODEL := Mi Router CR6609
1921 endef
1922 TARGET_DEVICES += xiaomi_mi-router-cr6609
1923
1924 define Device/xiaomi_redmi-router-ac2100
1925   $(Device/xiaomi_nand_separate)
1926   DEVICE_MODEL := Redmi Router AC2100
1927   IMAGE_SIZE := 120320k
1928   DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e kmod-mt7615-firmware
1929 endef
1930 TARGET_DEVICES += xiaomi_redmi-router-ac2100
1931
1932 define Device/xiaoyu_xy-c5
1933   $(Device/dsa-migration)
1934   IMAGE_SIZE := 32448k
1935   DEVICE_VENDOR := XiaoYu
1936   DEVICE_MODEL := XY-C5
1937   DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 -wpad-basic-wolfssl
1938 endef
1939 TARGET_DEVICES += xiaoyu_xy-c5
1940
1941 define Device/xzwifi_creativebox-v1
1942   $(Device/dsa-migration)
1943   IMAGE_SIZE := 32448k
1944   DEVICE_VENDOR := CreativeBox
1945   DEVICE_MODEL := v1
1946   DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
1947         kmod-usb3 -wpad-basic-wolfssl
1948 endef
1949 TARGET_DEVICES += xzwifi_creativebox-v1
1950
1951 define Device/youhua_wr1200js
1952   $(Device/dsa-migration)
1953   IMAGE_SIZE := 16064k
1954   DEVICE_VENDOR := YouHua
1955   DEVICE_MODEL := WR1200JS
1956   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1957         kmod-usb-ledtrig-usbport
1958 endef
1959 TARGET_DEVICES += youhua_wr1200js
1960
1961 define Device/youku_yk-l2
1962   $(Device/dsa-migration)
1963   IMAGE_SIZE := 16064k
1964   DEVICE_VENDOR := Youku
1965   DEVICE_MODEL := YK-L2
1966   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
1967         kmod-usb3 kmod-usb-ledtrig-usbport
1968 endef
1969 TARGET_DEVICES += youku_yk-l2
1970
1971 define Device/yuncore_ax820
1972   $(Device/dsa-migration)
1973   IMAGE_SIZE := 15808k
1974   DEVICE_VENDOR := YunCore
1975   DEVICE_MODEL := AX820
1976   DEVICE_PACKAGES := kmod-mt7915e
1977 endef
1978 TARGET_DEVICES += yuncore_ax820
1979
1980 define Device/zbtlink_zbt-we1326
1981   $(Device/dsa-migration)
1982   $(Device/uimage-lzma-loader)
1983   IMAGE_SIZE := 16064k
1984   DEVICE_VENDOR := Zbtlink
1985   DEVICE_MODEL := ZBT-WE1326
1986   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620
1987   SUPPORTED_DEVICES += zbt-we1326
1988 endef
1989 TARGET_DEVICES += zbtlink_zbt-we1326
1990
1991 define Device/zbtlink_zbt-we3526
1992   $(Device/dsa-migration)
1993   $(Device/uimage-lzma-loader)
1994   IMAGE_SIZE := 16064k
1995   DEVICE_VENDOR := Zbtlink
1996   DEVICE_MODEL := ZBT-WE3526
1997   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1998         kmod-usb-ledtrig-usbport
1999 endef
2000 TARGET_DEVICES += zbtlink_zbt-we3526
2001
2002 define Device/zbtlink_zbt-wg1602-16m
2003   $(Device/dsa-migration)
2004   $(Device/uimage-lzma-loader)
2005   IMAGE_SIZE := 16064k
2006   DEVICE_VENDOR := Zbtlink
2007   DEVICE_MODEL := ZBT-WG1602
2008   DEVICE_VARIANT := 16M
2009   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
2010         kmod-usb-ledtrig-usbport
2011 endef
2012 TARGET_DEVICES += zbtlink_zbt-wg1602-16m
2013
2014 define Device/zbtlink_zbt-wg1608-16m
2015   $(Device/dsa-migration)
2016   $(Device/uimage-lzma-loader)
2017   IMAGE_SIZE := 16064k
2018   DEVICE_VENDOR := Zbtlink
2019   DEVICE_MODEL := ZBT-WG1608
2020   DEVICE_VARIANT := 16M
2021   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt7615e \
2022         kmod-mt7663-firmware-ap kmod-usb3 kmod-usb-ledtrig-usbport
2023 endef
2024 TARGET_DEVICES += zbtlink_zbt-wg1608-16m
2025
2026 define Device/zbtlink_zbt-wg2626
2027   $(Device/dsa-migration)
2028   $(Device/uimage-lzma-loader)
2029   IMAGE_SIZE := 16064k
2030   DEVICE_VENDOR := Zbtlink
2031   DEVICE_MODEL := ZBT-WG2626
2032   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
2033         kmod-usb-ledtrig-usbport
2034   SUPPORTED_DEVICES += zbt-wg2626
2035 endef
2036 TARGET_DEVICES += zbtlink_zbt-wg2626
2037
2038 define Device/zbtlink_zbt-wg3526-16m
2039   $(Device/dsa-migration)
2040   $(Device/uimage-lzma-loader)
2041   IMAGE_SIZE := 16064k
2042   DEVICE_VENDOR := Zbtlink
2043   DEVICE_MODEL := ZBT-WG3526
2044   DEVICE_VARIANT := 16M
2045   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
2046         kmod-usb3 kmod-usb-ledtrig-usbport
2047   SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
2048 endef
2049 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
2050
2051 define Device/zbtlink_zbt-wg3526-32m
2052   $(Device/dsa-migration)
2053   $(Device/uimage-lzma-loader)
2054   IMAGE_SIZE := 32448k
2055   DEVICE_VENDOR := Zbtlink
2056   DEVICE_MODEL := ZBT-WG3526
2057   DEVICE_VARIANT := 32M
2058   DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
2059         kmod-usb3 kmod-usb-ledtrig-usbport
2060   SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
2061 endef
2062 TARGET_DEVICES += zbtlink_zbt-wg3526-32m
2063
2064 define Device/zio_freezio
2065   $(Device/dsa-migration)
2066   IMAGE_SIZE := 16064k
2067   DEVICE_VENDOR := ZIO
2068   DEVICE_MODEL := FREEZIO
2069   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
2070         kmod-usb-ledtrig-usbport
2071 endef
2072 TARGET_DEVICES += zio_freezio
2073
2074 define Device/zyxel_nr7101
2075   $(Device/dsa-migration)
2076   BLOCKSIZE := 128k
2077   PAGESIZE := 2048
2078   UBINIZE_OPTS := -E 5
2079   DEVICE_VENDOR := ZyXEL
2080   DEVICE_MODEL := NR7101
2081   DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 uboot-envtools kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
2082   KERNEL := $(KERNEL_DTB) | uImage lzma | zytrx-header $$(DEVICE_MODEL) $$(VERSION_DIST)-$$(REVISION)
2083   KERNEL_INITRAMFS := $(KERNEL_DTB) | uImage lzma | zytrx-header $$(DEVICE_MODEL) 9.99(ABUV.9)$$(VERSION_DIST)-recovery
2084   KERNEL_INITRAMFS_SUFFIX := -recovery.bin
2085   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
2086 endef
2087 TARGET_DEVICES += zyxel_nr7101
2088
2089 define Device/zyxel_wap6805
2090   $(Device/dsa-migration)
2091   BLOCKSIZE := 128k
2092   PAGESIZE := 2048
2093   KERNEL_SIZE := 4096k
2094   UBINIZE_OPTS := -E 5
2095   IMAGE_SIZE := 32448k
2096   DEVICE_VENDOR := ZyXEL
2097   DEVICE_MODEL := WAP6805
2098   DEVICE_PACKAGES := kmod-mt7603 kmod-mt7621-qtn-rgmii
2099   KERNEL := $(KERNEL_DTB) | uImage lzma | uimage-padhdr 160
2100   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
2101 endef
2102 TARGET_DEVICES += zyxel_wap6805