ramips: Sort all subtarget Makefiles
[oweals/openwrt.git] / target / linux / ramips / image / mt7621.mk
1 #
2 # MT7621 Profiles
3 #
4
5 KERNEL_DTB += -d21
6 DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
7
8 define Build/elecom-gst-factory
9   $(eval product=$(word 1,$(1)))
10   $(eval version=$(word 2,$(1)))
11   ( $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | tr -d '\n' ) >> $@
12   ( \
13     echo -n "ELECOM $(product) v$(version)" | \
14       dd bs=32 count=1 conv=sync; \
15     dd if=$@; \
16   ) > $@.new
17   mv $@.new $@
18   echo -n "MT7621_ELECOM_$(product)" >> $@
19 endef
20
21 define Build/elecom-wrc-factory
22   $(eval product=$(word 1,$(1)))
23   $(eval version=$(word 2,$(1)))
24   $(STAGING_DIR_HOST)/bin/mkhash md5 $@ >> $@
25   ( \
26     echo -n "ELECOM $(product) v$(version)" | \
27       dd bs=32 count=1 conv=sync; \
28     dd if=$@; \
29   ) > $@.new
30   mv $@.new $@
31 endef
32
33 define Build/iodata-factory
34   $(eval fw_size=$(word 1,$(1)))
35   $(eval fw_type=$(word 2,$(1)))
36   $(eval product=$(word 3,$(1)))
37   $(eval factory_bin=$(word 4,$(1)))
38   if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
39     $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
40     $(STAGING_DIR_HOST)/bin/mksenaofw \
41       -r 0x30a -p $(product) -t $(fw_type) \
42       -e $(factory_bin) -o $(factory_bin).new; \
43     mv $(factory_bin).new $(factory_bin); \
44     $(CP) $(factory_bin) $(BIN_DIR)/; \
45         else \
46                 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
47         fi
48 endef
49
50 define Build/ubnt-erx-factory-image
51         if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
52                 echo '21001:6' > $(1).compat; \
53                 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
54                 \
55                 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
56                 mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
57                 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
58                 \
59                 echo "dummy" > $(1).rootfs; \
60                 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
61                 \
62                 mkhash md5 $(1).rootfs > $(1).md5; \
63                 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
64                 \
65                 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
66                 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
67                 \
68                 $(CP) $(1) $(BIN_DIR)/; \
69         else \
70                 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
71         fi
72 endef
73
74 # The OEM webinterface expects an kernel with initramfs which has the uImage
75 # header field ih_name.
76 # We don't wan't to set the header name field for the kernel include in the
77 # sysupgrade image as well, as this image shouldn't be accepted by the OEM
78 # webinterface. It will soft-brick the board.
79 define Build/wr1201-factory-header
80         mkimage -A $(LINUX_KARCH) \
81                 -O linux -T kernel \
82                 -C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
83                 -n 'WR1201_8_128' -d $@ $@.new
84         mv $@.new $@
85 endef
86
87 define Device/afoundry_ew1200
88   MTK_SOC := mt7621
89   IMAGE_SIZE := $(ralink_default_fw_size_16M)
90   DEVICE_VENDOR := AFOUNDRY
91   DEVICE_MODEL := EW1200
92   DEVICE_PACKAGES := \
93         kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
94         kmod-usb-ledtrig-usbport wpad-basic
95   SUPPORTED_DEVICES += ew1200
96 endef
97 TARGET_DEVICES += afoundry_ew1200
98
99 define Device/asiarf_ap7621-001
100   MTK_SOC := mt7621
101   IMAGE_SIZE := $(ralink_default_fw_size_16M)
102   DEVICE_VENDOR := AsiaRF
103   DEVICE_MODEL := AP7621-001
104   DEVICE_PACKAGES := \
105         kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
106 endef
107 TARGET_DEVICES += asiarf_ap7621-001
108
109 define Device/buffalo_wsr-1166dhp
110   MTK_SOC := mt7621
111   IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
112   IMAGE_SIZE := $(ralink_default_fw_size_16M)
113   DEVICE_VENDOR := Buffalo
114   DEVICE_MODEL := WSR-1166DHP
115   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
116   SUPPORTED_DEVICES += wsr-1166
117 endef
118 TARGET_DEVICES += buffalo_wsr-1166dhp
119
120 define Device/buffalo_wsr-600dhp
121   MTK_SOC := mt7621
122   IMAGE_SIZE := $(ralink_default_fw_size_16M)
123   DEVICE_VENDOR := Buffalo
124   DEVICE_MODEL := WSR-600DHP
125   DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-basic
126   SUPPORTED_DEVICES += wsr-600
127 endef
128 TARGET_DEVICES += buffalo_wsr-600dhp
129
130 define Device/dlink_dir-860l-b1
131   $(Device/seama)
132   MTK_SOC := mt7621
133   BLOCKSIZE := 64k
134   SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
135   KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
136   IMAGE_SIZE := $(ralink_default_fw_size_16M)
137   DEVICE_VENDOR := D-Link
138   DEVICE_MODEL := DIR-860L
139   DEVICE_VARIANT := B1
140   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
141   SUPPORTED_DEVICES += dir-860l-b1
142 endef
143 TARGET_DEVICES += dlink_dir-860l-b1
144
145 define Device/d-team_newifi-d2
146   MTK_SOC := mt7621
147   IMAGE_SIZE := $(ralink_default_fw_size_32M)
148   DEVICE_VENDOR := Newifi
149   DEVICE_MODEL := D2
150   DEVICE_PACKAGES := \
151         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
152 endef
153 TARGET_DEVICES += d-team_newifi-d2
154
155 define Device/d-team_pbr-m1
156   MTK_SOC := mt7621
157   IMAGE_SIZE := $(ralink_default_fw_size_16M)
158   DEVICE_VENDOR := PandoraBox
159   DEVICE_MODEL := PBR-M1
160   DEVICE_PACKAGES := \
161         kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
162         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
163   SUPPORTED_DEVICES += pbr-m1
164 endef
165 TARGET_DEVICES += d-team_pbr-m1
166
167 define Device/elecom_wrc-1167ghbk2-s
168   MTK_SOC := mt7621
169   IMAGE_SIZE := 15488k
170   DEVICE_VENDOR := ELECOM
171   DEVICE_MODEL := WRC-1167GHBK2-S
172   IMAGES += factory.bin
173   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
174     elecom-wrc-factory WRC-1167GHBK2-S 0.00
175 endef
176 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
177
178 define Device/elecom_wrc-1900gst
179   MTK_SOC := mt7621
180   IMAGE_SIZE := 11264k
181   DEVICE_VENDOR := ELECOM
182   DEVICE_MODEL := WRC-1900GST
183   IMAGES += factory.bin
184   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
185     elecom-gst-factory WRC-1900GST 0.00
186 endef
187 TARGET_DEVICES += elecom_wrc-1900gst
188
189 define Device/elecom_wrc-2533gst
190   MTK_SOC := mt7621
191   IMAGE_SIZE := 11264k
192   DEVICE_VENDOR := ELECOM
193   DEVICE_MODEL := WRC-2533GST
194   IMAGES += factory.bin
195   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
196     elecom-gst-factory WRC-2533GST 0.00
197 endef
198 TARGET_DEVICES += elecom_wrc-2533gst
199
200 define Device/firefly_firewrt
201   MTK_SOC := mt7621
202   IMAGE_SIZE := $(ralink_default_fw_size_16M)
203   DEVICE_VENDOR := Firefly
204   DEVICE_MODEL := FireWRT
205   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
206   SUPPORTED_DEVICES += firewrt
207 endef
208 TARGET_DEVICES += firefly_firewrt
209
210 define Device/gehua_ghl-r-001
211   MTK_SOC := mt7621
212   IMAGE_SIZE := $(ralink_default_fw_size_32M)
213   DEVICE_VENDOR := GeHua
214   DEVICE_MODEL := GHL-R-001
215   DEVICE_PACKAGES := \
216         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
217 endef
218 TARGET_DEVICES += gehua_ghl-r-001
219
220 define Device/gnubee_gb-pc1
221   MTK_SOC := mt7621
222   DEVICE_VENDOR := GnuBee
223   DEVICE_MODEL := Personal Cloud One
224   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
225   IMAGE_SIZE := $(ralink_default_fw_size_32M)
226 endef
227 TARGET_DEVICES += gnubee_gb-pc1
228
229 define Device/gnubee_gb-pc2
230   MTK_SOC := mt7621
231   DEVICE_VENDOR := GnuBee
232   DEVICE_MODEL := Personal Cloud Two
233   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
234   IMAGE_SIZE := $(ralink_default_fw_size_32M)
235 endef
236 TARGET_DEVICES += gnubee_gb-pc2
237
238 define Device/hiwifi_hc5962
239   MTK_SOC := mt7621
240   BLOCKSIZE := 128k
241   PAGESIZE := 2048
242   KERNEL_SIZE := 2097152
243   UBINIZE_OPTS := -E 5
244   IMAGE_SIZE := $(ralink_default_fw_size_32M)
245   IMAGES += factory.bin
246   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
247   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
248   DEVICE_VENDOR := HiWiFi
249   DEVICE_MODEL := HC5962
250   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-basic
251   SUPPORTED_DEVICES += hc5962
252 endef
253 TARGET_DEVICES += hiwifi_hc5962
254
255 define Device/iodata_wn-ax1167gr
256   MTK_SOC := mt7621
257   IMAGE_SIZE := 15552k
258   KERNEL_INITRAMFS := $$(KERNEL) | \
259     iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
260   DEVICE_VENDOR := I-O DATA
261   DEVICE_MODEL := WN-AX1167GR
262   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
263 endef
264 TARGET_DEVICES += iodata_wn-ax1167gr
265
266 define Device/iodata_wn-gx300gr
267   MTK_SOC := mt7621
268   IMAGE_SIZE := 7798784
269   DEVICE_VENDOR := I-O DATA
270   DEVICE_MODEL := WN-GX300GR
271   DEVICE_PACKAGES := kmod-mt7603 wpad-basic
272 endef
273 TARGET_DEVICES += iodata_wn-gx300gr
274
275 define Device/lenovo_newifi-d1
276   MTK_SOC := mt7621
277   IMAGE_SIZE := $(ralink_default_fw_size_32M)
278   DEVICE_VENDOR := Newifi
279   DEVICE_MODEL := D1
280   DEVICE_PACKAGES := \
281         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
282   SUPPORTED_DEVICES += newifi-d1
283 endef
284 TARGET_DEVICES += lenovo_newifi-d1
285
286 define Device/linksys_re6500
287   MTK_SOC := mt7621
288   DEVICE_VENDOR := Linksys
289   DEVICE_MODEL := RE6500
290   DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
291   SUPPORTED_DEVICES += re6500
292 endef
293 TARGET_DEVICES += linksys_re6500
294
295 define Device/mediatek_ap-mt7621a-v60
296   MTK_SOC := mt7621
297   IMAGE_SIZE := $(ralink_default_fw_size_8M)
298   DEVICE_VENDOR := Mediatek
299   DEVICE_MODEL := AP-MT7621A-V60 EVB
300   DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
301 endef
302 TARGET_DEVICES += mediatek_ap-mt7621a-v60
303
304 define Device/mediatek_mt7621-eval-board
305   MTK_SOC := mt7621
306   BLOCKSIZE := 64k
307   IMAGE_SIZE := $(ralink_default_fw_size_4M)
308   DEVICE_VENDOR := MediaTek
309   DEVICE_MODEL := MT7621 EVB
310   SUPPORTED_DEVICES += mt7621
311 endef
312 TARGET_DEVICES += mediatek_mt7621-eval-board
313
314 define Device/MikroTik
315   MTK_SOC := mt7621
316   DEVICE_VENDOR := MikroTik
317   BLOCKSIZE := 64k
318   IMAGE_SIZE := 16128k
319   DEVICE_PACKAGES := kmod-usb3
320   LOADER_TYPE := elf
321   PLATFORM := mt7621
322   KERNEL := $(KERNEL_DTB) | loader-kernel
323   IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | pad-to $$$$(BLOCKSIZE) | \
324         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
325 endef
326
327 define Device/mikrotik_rb750gr3
328   $(Device/MikroTik)
329   DEVICE_MODEL := RouterBOARD RB750G
330   DEVICE_VARIANT := r3
331   DEVICE_PACKAGES += kmod-gpio-beeper
332 endef
333 TARGET_DEVICES += mikrotik_rb750gr3
334
335 define Device/mikrotik_rbm11g
336   $(Device/MikroTik)
337   DEVICE_MODEL := RouterBOARD M11G
338 endef
339 TARGET_DEVICES += mikrotik_rbm11g
340
341 define Device/mikrotik_rbm33g
342   $(Device/MikroTik)
343   DEVICE_MODEL := RouterBOARD M33G
344 endef
345 TARGET_DEVICES += mikrotik_rbm33g
346
347 define Device/mqmaker_witi-256m
348   MTK_SOC := mt7621
349   IMAGE_SIZE := $(ralink_default_fw_size_16M)
350   DEVICE_VENDOR := MQmaker
351   DEVICE_MODEL := WiTi
352   DEVICE_VARIANT := 256MB RAM
353   DEVICE_PACKAGES := \
354         kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
355         kmod-usb-ledtrig-usbport wpad-basic
356   SUPPORTED_DEVICES += witi
357 endef
358 TARGET_DEVICES += mqmaker_witi-256m
359
360 define Device/mqmaker_witi-512m
361   MTK_SOC := mt7621
362   IMAGE_SIZE := $(ralink_default_fw_size_16M)
363   DEVICE_VENDOR := MQmaker
364   DEVICE_MODEL := WiTi
365   DEVICE_VARIANT := 512MB RAM
366   DEVICE_PACKAGES := \
367         kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
368         kmod-usb-ledtrig-usbport wpad-basic
369 endef
370 TARGET_DEVICES += mqmaker_witi-512m
371
372 define Device/mtc_wr1201
373   MTK_SOC := mt7621
374   IMAGE_SIZE := 16000k
375   DEVICE_VENDOR := MTC
376   DEVICE_MODEL := Wireless Router WR1201
377   KERNEL_INITRAMFS := $(KERNEL_DTB) | wr1201-factory-header
378   DEVICE_PACKAGES := \
379         kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
380 endef
381 TARGET_DEVICES += mtc_wr1201
382
383 define Device/netgear_ex6150
384   MTK_SOC := mt7621
385   DEVICE_VENDOR := NETGEAR
386   DEVICE_MODEL := EX6150
387   DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
388   NETGEAR_BOARD_ID := U12H318T00_NETGEAR
389   IMAGE_SIZE := 14848k
390   IMAGES += factory.chk
391   IMAGE/factory.chk := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | netgear-chk
392 endef
393 TARGET_DEVICES += netgear_ex6150
394
395 define Device/netgear_r6220
396   MTK_SOC := mt7621
397   BLOCKSIZE := 128k
398   PAGESIZE := 2048
399   KERNEL_SIZE := 4096k
400   IMAGE_SIZE := 28672k
401   UBINIZE_OPTS := -E 5
402   IMAGES += kernel.bin rootfs.bin
403   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
404   IMAGE/kernel.bin := append-kernel
405   IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
406   DEVICE_VENDOR := NETGEAR
407   DEVICE_MODEL := R6220
408   DEVICE_PACKAGES := \
409         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
410   SUPPORTED_DEVICES += r6220
411 endef
412 TARGET_DEVICES += netgear_r6220
413
414 define Device/netgear_r6350
415   MTK_SOC := mt7621
416   BLOCKSIZE := 128k
417   PAGESIZE := 2048
418   KERNEL_SIZE := 4096k
419   IMAGE_SIZE := 40960k
420   UBINIZE_OPTS := -E 5
421   IMAGES += kernel.bin rootfs.bin
422   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
423   IMAGE/kernel.bin := append-kernel
424   IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
425   DEVICE_VENDOR := NETGEAR
426   DEVICE_MODEL := R6350
427   DEVICE_PACKAGES := \
428         kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
429 endef
430 TARGET_DEVICES += netgear_r6350
431
432 define Device/netgear_wndr3700-v5
433   MTK_SOC := mt7621
434   BLOCKSIZE := 64k
435   IMAGE_SIZE := 15232k
436   SERCOMM_HWID := AYB
437   SERCOMM_HWVER := A001
438   SERCOMM_SWVER := 0x1054
439   IMAGES += factory.img
440   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
441   IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
442   IMAGE/factory.img := pad-extra 320k | $$(IMAGE/default) | pad-to $$$$(BLOCKSIZE) | \
443         sercom-footer | pad-to 128 | zip WNDR3700v5.bin | sercom-seal
444   DEVICE_VENDOR := NETGEAR
445   DEVICE_MODEL := WNDR3700
446   DEVICE_VARIANT := v5
447   DEVICE_PACKAGES := \
448         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
449   SUPPORTED_DEVICES += wndr3700v5
450 endef
451 TARGET_DEVICES += netgear_wndr3700-v5
452
453 define Device/netis_wf-2881
454   MTK_SOC := mt7621
455   BLOCKSIZE := 128k
456   PAGESIZE := 2048
457   FILESYSTEMS := squashfs
458   IMAGE_SIZE := 129280k
459   KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
460   UBINIZE_OPTS := -E 5
461   IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | check-size $$$$(IMAGE_SIZE)
462   DEVICE_VENDOR := NETIS
463   DEVICE_MODEL := WF-2881
464   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
465   SUPPORTED_DEVICES += wf-2881
466 endef
467 TARGET_DEVICES += netis_wf-2881
468
469 define Device/phicomm_k2p
470   MTK_SOC := mt7621
471   IMAGE_SIZE := $(ralink_default_fw_size_16M)
472   DEVICE_VENDOR := Phicomm
473   DEVICE_MODEL := K2P
474   SUPPORTED_DEVICES += k2p
475 endef
476 TARGET_DEVICES += phicomm_k2p
477
478 define Device/planex_vr500
479   MTK_SOC := mt7621
480   IMAGE_SIZE := 66453504
481   DEVICE_VENDOR := Planex
482   DEVICE_MODEL := VR500
483   DEVICE_PACKAGES := kmod-usb3
484   SUPPORTED_DEVICES += vr500
485 endef
486 TARGET_DEVICES += planex_vr500
487
488 define Device/samknows_whitebox-v8
489   MTK_SOC := mt7621
490   IMAGE_SIZE := $(ralink_default_fw_size_16M)
491   DEVICE_VENDOR := SamKnows
492   DEVICE_MODEL := Whitebox 8
493   DEVICE_PACKAGES := \
494         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport \
495         uboot-envtools wpad-basic
496   SUPPORTED_DEVICES += sk-wb8
497 endef
498 TARGET_DEVICES += samknows_whitebox-v8
499
500 define Device/storylink_sap-g3200u3
501   MTK_SOC := mt7621
502   DEVICE_VENDOR := STORYLiNK
503   DEVICE_MODEL := SAP-G3200U3
504   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
505   SUPPORTED_DEVICES += sap-g3200u3
506 endef
507 TARGET_DEVICES += storylink_sap-g3200u3
508
509 define Device/telco-electronics_x1
510   MTK_SOC := mt7621
511   IMAGE_SIZE := 16064k
512   DEVICE_VENDOR := Telco Electronics
513   DEVICE_MODEL := X1
514   DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic
515 endef
516 TARGET_DEVICES += telco-electronics_x1
517
518 define Device/thunder_timecloud
519   MTK_SOC := mt7621
520   DEVICE_VENDOR := Thunder
521   DEVICE_MODEL := Timecloud
522   DEVICE_PACKAGES := kmod-usb3
523   SUPPORTED_DEVICES += timecloud
524 endef
525 TARGET_DEVICES += thunder_timecloud
526
527 define Device/totolink_a7000r
528   MTK_SOC := mt7621
529   IMAGE_SIZE := 16064k
530   UIMAGE_NAME := C8340R1C-9999
531   DEVICE_VENDOR := TOTOLINK
532   DEVICE_MODEL := A7000R
533   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
534 endef
535 TARGET_DEVICES += totolink_a7000r
536
537 define Device/tplink_re350-v1
538   MTK_SOC := mt7621
539   DEVICE_VENDOR := TP-Link
540   DEVICE_MODEL := RE350
541   DEVICE_VARIANT := v1
542   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
543   TPLINK_BOARD_ID := RE350-V1
544   TPLINK_HWID := 0x0
545   TPLINK_HWREV := 0
546   TPLINK_HEADER_VERSION := 1
547   IMAGE_SIZE := 6016k
548   KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O
549   IMAGES += factory.bin
550   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata | check-size $$$$(IMAGE_SIZE)
551   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
552   SUPPORTED_DEVICES += re350-v1
553 endef
554 TARGET_DEVICES += tplink_re350-v1
555
556 define Device/ubiquiti_edgerouterx
557   MTK_SOC := mt7621
558   FILESYSTEMS := squashfs
559   KERNEL_SIZE := 3145728
560   KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
561   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
562   DEVICE_VENDOR := Ubiquiti
563   DEVICE_MODEL := EdgeRouter X
564   SUPPORTED_DEVICES += ubnt-erx
565 endef
566 TARGET_DEVICES += ubiquiti_edgerouterx
567
568 define Device/ubiquiti_edgerouterx-sfp
569   $(Device/ubiquiti_edgerouterx)
570   DEVICE_VENDOR := Ubiquiti
571   DEVICE_MODEL := EdgeRouter X-SFP
572   DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
573   SUPPORTED_DEVICES += ubnt-erx-sfp
574 endef
575 TARGET_DEVICES += ubiquiti_edgerouterx-sfp
576
577 define Device/unielec_u7621-06-256m-16m
578   MTK_SOC := mt7621
579   IMAGE_SIZE := 16064k
580   DEVICE_VENDOR := UniElec
581   DEVICE_MODEL := U7621-06
582   DEVICE_VARIANT := 256M RAM/16M flash
583   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
584   SUPPORTED_DEVICES += u7621-06-256M-16M
585 endef
586 TARGET_DEVICES += unielec_u7621-06-256m-16m
587
588 define Device/unielec_u7621-06-512m-64m
589   MTK_SOC := mt7621
590   IMAGE_SIZE := 65216k
591   DEVICE_VENDOR := UniElec
592   DEVICE_MODEL := U7621-06
593   DEVICE_VARIANT := 512M RAM/64M flash
594   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
595 endef
596 TARGET_DEVICES += unielec_u7621-06-512m-64m
597
598 define Device/wevo_11acnas
599   MTK_SOC := mt7621
600   IMAGE_SIZE := $(ralink_default_fw_size_16M)
601   DEVICE_VENDOR := WeVO
602   DEVICE_MODEL := 11AC NAS Router
603   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
604   SUPPORTED_DEVICES += 11acnas
605 endef
606 TARGET_DEVICES += wevo_11acnas
607
608 define Device/wevo_w2914ns-v2
609   MTK_SOC := mt7621
610   IMAGE_SIZE := $(ralink_default_fw_size_16M)
611   DEVICE_VENDOR := WeVO
612   DEVICE_MODEL := W2914NS
613   DEVICE_VARIANT := v2
614   DEVICE_PACKAGES := \
615         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
616   SUPPORTED_DEVICES += w2914nsv2
617 endef
618 TARGET_DEVICES += wevo_w2914ns-v2
619
620 define Device/xiaomi_mir3g
621   MTK_SOC := mt7621
622   BLOCKSIZE := 128k
623   PAGESIZE := 2048
624   KERNEL_SIZE := 4096k
625   IMAGE_SIZE := 32768k
626   UBINIZE_OPTS := -E 5
627   IMAGES += kernel1.bin rootfs0.bin
628   IMAGE/kernel1.bin := append-kernel
629   IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
630   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
631   DEVICE_VENDOR := Xiaomi
632   DEVICE_MODEL := Mi Router 3G
633   SUPPORTED_DEVICES += R3G
634   SUPPORTED_DEVICES += mir3g
635   DEVICE_PACKAGES := \
636         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic \
637         uboot-envtools
638 endef
639 TARGET_DEVICES += xiaomi_mir3g
640
641 define Device/xiaomi_mir3p
642   MTK_SOC := mt7621
643   BLOCKSIZE := 128k
644   PAGESIZE := 2048
645   KERNEL_SIZE:= 4096k
646   UBINIZE_OPTS := -E 5
647   IMAGE_SIZE := $(ralink_default_fw_size_32M)
648   DEVICE_VENDOR := Xiaomi
649   DEVICE_MODEL := Mi Router 3 Pro
650   IMAGES += factory.bin
651   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
652   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
653   DEVICE_PACKAGES := \
654         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic uboot-envtools
655 endef
656 TARGET_DEVICES += xiaomi_mir3p
657
658 define Device/xzwifi_creativebox-v1
659   MTK_SOC := mt7621
660   IMAGE_SIZE := $(ralink_default_fw_size_32M)
661   DEVICE_VENDOR := CreativeBox
662   DEVICE_MODEL := v1
663   DEVICE_PACKAGES := \
664         kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
665         kmod-usb3
666 endef
667 TARGET_DEVICES += xzwifi_creativebox-v1
668
669 define Device/youhua_wr1200js
670   MTK_SOC := mt7621
671   IMAGE_SIZE := 16064k
672   DEVICE_VENDOR := YouHua
673   DEVICE_MODEL := WR1200JS
674   DEVICE_PACKAGES := \
675         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
676 endef
677 TARGET_DEVICES += youhua_wr1200js
678
679 define Device/youku_yk-l2
680   MTK_SOC := mt7621
681   IMAGE_SIZE := $(ralink_default_fw_size_16M)
682   DEVICE_VENDOR := Youku
683   DEVICE_MODEL := YK-L2
684   DEVICE_PACKAGES := \
685         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
686 endef
687 TARGET_DEVICES += youku_yk-l2
688
689 define Device/zbtlink_zbt-we1326
690   MTK_SOC := mt7621
691   IMAGE_SIZE := $(ralink_default_fw_size_16M)
692   DEVICE_VENDOR := ZBT
693   DEVICE_MODEL := ZBT-WE1326
694   DEVICE_PACKAGES := \
695         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 wpad-basic
696   SUPPORTED_DEVICES += zbt-we1326
697 endef
698 TARGET_DEVICES += zbtlink_zbt-we1326
699
700 define Device/zbtlink_zbt-we3526
701   MTK_SOC := mt7621
702   IMAGE_SIZE := $(ralink_default_fw_size_16M)
703   DEVICE_VENDOR := ZBT
704   DEVICE_MODEL := ZBT-WE3526
705   DEVICE_PACKAGES := \
706         kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
707         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
708 endef
709 TARGET_DEVICES += zbtlink_zbt-we3526
710
711 define Device/zbtlink_zbt-wg2626
712   MTK_SOC := mt7621
713   IMAGE_SIZE := $(ralink_default_fw_size_16M)
714   DEVICE_VENDOR := ZBT
715   DEVICE_MODEL := ZBT-WG2626
716   DEVICE_PACKAGES := \
717         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
718         kmod-usb-ledtrig-usbport wpad-basic
719   SUPPORTED_DEVICES += zbt-wg2626
720 endef
721 TARGET_DEVICES += zbtlink_zbt-wg2626
722
723 define Device/zbtlink_zbt-wg3526-16m
724   MTK_SOC := mt7621
725   IMAGE_SIZE := $(ralink_default_fw_size_16M)
726   DEVICE_VENDOR := ZBT
727   DEVICE_MODEL := ZBT-WG3526
728   DEVICE_VARIANT := 16M
729   DEVICE_PACKAGES := \
730         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
731         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
732   SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
733 endef
734 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
735
736 define Device/zbtlink_zbt-wg3526-32m
737   MTK_SOC := mt7621
738   IMAGE_SIZE := $(ralink_default_fw_size_32M)
739   DEVICE_VENDOR := ZBT
740   DEVICE_MODEL := ZBT-WG3526
741   DEVICE_VARIANT := 32M
742   DEVICE_PACKAGES := \
743         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
744         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
745   SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
746 endef
747 TARGET_DEVICES += zbtlink_zbt-wg3526-32m