ramips: add support for ZIO FREEZIO
[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 := 16064k
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/alfa-network_quad-e4g
100   MTK_SOC := mt7621
101   IMAGE_SIZE := 16064k
102   DEVICE_VENDOR := ALFA Network
103   DEVICE_MODEL := Quad-E4G
104   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 \
105         uboot-envtools
106 endef
107 TARGET_DEVICES += alfa-network_quad-e4g
108
109 define Device/asiarf_ap7621-001
110   MTK_SOC := mt7621
111   IMAGE_SIZE := 16000k
112   DEVICE_VENDOR := AsiaRF
113   DEVICE_MODEL := AP7621-001
114   DEVICE_PACKAGES := \
115         kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
116 endef
117 TARGET_DEVICES += asiarf_ap7621-001
118
119 define Device/asiarf_ap7621-nv1
120   MTK_SOC := mt7621
121   IMAGE_SIZE := 16000k
122   DEVICE_VENDOR := AsiaRF
123   DEVICE_MODEL := AP7621-NV1
124   DEVICE_PACKAGES := \
125         kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
126 endef
127 TARGET_DEVICES += asiarf_ap7621-nv1
128
129 define Device/asus_rt-ac57u
130   MTK_SOC := mt7621
131   DEVICE_VENDOR := ASUS
132   DEVICE_MODEL := RT-AC57U
133   IMAGE_SIZE := 16064k
134   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
135 endef
136 TARGET_DEVICES += asus_rt-ac57u
137
138 define Device/asus_rt-ac65p
139   MTK_SOC := mt7621
140   DEVICE_VENDOR := ASUS
141   DEVICE_MODEL := RT-AC65P
142   IMAGE_SIZE := 51200k
143   UBINIZE_OPTS := -E 5
144   BLOCKSIZE := 128k
145   PAGESIZE := 2048
146   KERNEL_SIZE := 4096k
147   IMAGES += factory.bin
148   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
149   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
150   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
151 endef
152 TARGET_DEVICES += asus_rt-ac65p
153
154 define Device/asus_rt-ac85p
155   MTK_SOC := mt7621
156   DEVICE_VENDOR := ASUS
157   DEVICE_MODEL := RT-AC85P
158   IMAGE_SIZE := 51200k
159   UBINIZE_OPTS := -E 5
160   BLOCKSIZE := 128k
161   PAGESIZE := 2048
162   KERNEL_SIZE := 4096k
163   IMAGES += factory.bin
164   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
165   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
166   DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
167 endef
168 TARGET_DEVICES += asus_rt-ac85p
169
170 define Device/buffalo_wsr-1166dhp
171   MTK_SOC := mt7621
172   IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
173   IMAGE_SIZE := 15936k
174   DEVICE_VENDOR := Buffalo
175   DEVICE_MODEL := WSR-1166DHP
176   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
177   SUPPORTED_DEVICES += wsr-1166
178 endef
179 TARGET_DEVICES += buffalo_wsr-1166dhp
180
181 define Device/buffalo_wsr-600dhp
182   MTK_SOC := mt7621
183   IMAGE_SIZE := 16064k
184   DEVICE_VENDOR := Buffalo
185   DEVICE_MODEL := WSR-600DHP
186   DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-basic
187   SUPPORTED_DEVICES += wsr-600
188 endef
189 TARGET_DEVICES += buffalo_wsr-600dhp
190
191 define Device/dlink_dir-860l-b1
192   $(Device/seama)
193   MTK_SOC := mt7621
194   BLOCKSIZE := 64k
195   SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
196   KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
197   IMAGE_SIZE := 16064k
198   DEVICE_VENDOR := D-Link
199   DEVICE_MODEL := DIR-860L
200   DEVICE_VARIANT := B1
201   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
202   SUPPORTED_DEVICES += dir-860l-b1
203 endef
204 TARGET_DEVICES += dlink_dir-860l-b1
205
206 define Device/d-team_newifi-d2
207   MTK_SOC := mt7621
208   IMAGE_SIZE := 32448k
209   DEVICE_VENDOR := Newifi
210   DEVICE_MODEL := D2
211   DEVICE_PACKAGES := \
212         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
213 endef
214 TARGET_DEVICES += d-team_newifi-d2
215
216 define Device/d-team_pbr-m1
217   MTK_SOC := mt7621
218   IMAGE_SIZE := 16064k
219   DEVICE_VENDOR := PandoraBox
220   DEVICE_MODEL := PBR-M1
221   DEVICE_PACKAGES := \
222         kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
223         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
224   SUPPORTED_DEVICES += pbr-m1
225 endef
226 TARGET_DEVICES += d-team_pbr-m1
227
228 define Device/edimax_rg21s
229   MTK_SOC := mt7621
230   IMAGE_SIZE := 16064k
231   DEVICE_VENDOR := Edimax
232   DEVICE_MODEL := Gemini AC2600 RG21S
233   IMAGES += factory.bin
234   IMAGE/factory.bin := \
235     $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
236     elx-header 02020038 8844A2D168B45A2D
237   DEVICE_PACKAGES := \
238         kmod-mt7615e wpad-basic
239 endef
240 TARGET_DEVICES += edimax_rg21s
241
242 define Device/elecom_wrc-1167ghbk2-s
243   MTK_SOC := mt7621
244   IMAGE_SIZE := 15488k
245   DEVICE_VENDOR := ELECOM
246   DEVICE_MODEL := WRC-1167GHBK2-S
247   IMAGES += factory.bin
248   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
249     elecom-wrc-factory WRC-1167GHBK2-S 0.00
250   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
251 endef
252 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
253
254 define Device/elecom_wrc-1900gst
255   MTK_SOC := mt7621
256   IMAGE_SIZE := 11264k
257   DEVICE_VENDOR := ELECOM
258   DEVICE_MODEL := WRC-1900GST
259   IMAGES += factory.bin
260   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
261     elecom-gst-factory WRC-1900GST 0.00
262 endef
263 TARGET_DEVICES += elecom_wrc-1900gst
264
265 define Device/elecom_wrc-2533gst
266   MTK_SOC := mt7621
267   IMAGE_SIZE := 11264k
268   DEVICE_VENDOR := ELECOM
269   DEVICE_MODEL := WRC-2533GST
270   IMAGES += factory.bin
271   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
272     elecom-gst-factory WRC-2533GST 0.00
273 endef
274 TARGET_DEVICES += elecom_wrc-2533gst
275
276 define Device/firefly_firewrt
277   MTK_SOC := mt7621
278   IMAGE_SIZE := 16064k
279   DEVICE_VENDOR := Firefly
280   DEVICE_MODEL := FireWRT
281   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
282   SUPPORTED_DEVICES += firewrt
283 endef
284 TARGET_DEVICES += firefly_firewrt
285
286 define Device/gehua_ghl-r-001
287   MTK_SOC := mt7621
288   IMAGE_SIZE := 32448k
289   DEVICE_VENDOR := GeHua
290   DEVICE_MODEL := GHL-R-001
291   DEVICE_PACKAGES := \
292         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
293 endef
294 TARGET_DEVICES += gehua_ghl-r-001
295
296 define Device/gnubee_gb-pc1
297   MTK_SOC := mt7621
298   DEVICE_VENDOR := GnuBee
299   DEVICE_MODEL := Personal Cloud One
300   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
301   IMAGE_SIZE := 32448k
302 endef
303 TARGET_DEVICES += gnubee_gb-pc1
304
305 define Device/gnubee_gb-pc2
306   MTK_SOC := mt7621
307   DEVICE_VENDOR := GnuBee
308   DEVICE_MODEL := Personal Cloud Two
309   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
310   IMAGE_SIZE := 32448k
311 endef
312 TARGET_DEVICES += gnubee_gb-pc2
313
314 define Device/hiwifi_hc5962
315   MTK_SOC := mt7621
316   BLOCKSIZE := 128k
317   PAGESIZE := 2048
318   KERNEL_SIZE := 2097152
319   UBINIZE_OPTS := -E 5
320   IMAGE_SIZE := 32768k
321   IMAGES += factory.bin
322   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
323   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
324   DEVICE_VENDOR := HiWiFi
325   DEVICE_MODEL := HC5962
326   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-basic
327   SUPPORTED_DEVICES += hc5962
328 endef
329 TARGET_DEVICES += hiwifi_hc5962
330
331 define Device/iodata_wn-ax1167gr
332   MTK_SOC := mt7621
333   IMAGE_SIZE := 15552k
334   KERNEL_INITRAMFS := $$(KERNEL) | \
335     iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
336   DEVICE_VENDOR := I-O DATA
337   DEVICE_MODEL := WN-AX1167GR
338   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
339 endef
340 TARGET_DEVICES += iodata_wn-ax1167gr
341
342 define Device/iodata_wn-gx300gr
343   MTK_SOC := mt7621
344   IMAGE_SIZE := 7616k
345   DEVICE_VENDOR := I-O DATA
346   DEVICE_MODEL := WN-GX300GR
347   DEVICE_PACKAGES := kmod-mt7603 wpad-basic
348 endef
349 TARGET_DEVICES += iodata_wn-gx300gr
350
351 define Device/iodata_wnpr2600g
352   MTK_SOC := mt7621
353   DEVICE_VENDOR := I-O DATA
354   DEVICE_MODEL := WNPR2600G
355   IMAGE_SIZE := 13952k
356   IMAGES += factory.bin
357   IMAGE/factory.bin := \
358     $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
359     elx-header 0104003a 8844A2D168B45A2D
360   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
361 endef
362 TARGET_DEVICES += iodata_wnpr2600g
363
364 define Device/lenovo_newifi-d1
365   MTK_SOC := mt7621
366   IMAGE_SIZE := 32448k
367   DEVICE_VENDOR := Newifi
368   DEVICE_MODEL := D1
369   DEVICE_PACKAGES := \
370         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport wpad-basic
371   SUPPORTED_DEVICES += newifi-d1
372 endef
373 TARGET_DEVICES += lenovo_newifi-d1
374
375 define Device/linksys_re6500
376   MTK_SOC := mt7621
377   IMAGE_SIZE := 7872k
378   DEVICE_VENDOR := Linksys
379   DEVICE_MODEL := RE6500
380   DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
381   SUPPORTED_DEVICES += re6500
382 endef
383 TARGET_DEVICES += linksys_re6500
384
385 define Device/mediatek_ap-mt7621a-v60
386   MTK_SOC := mt7621
387   IMAGE_SIZE := 7872k
388   DEVICE_VENDOR := Mediatek
389   DEVICE_MODEL := AP-MT7621A-V60 EVB
390   DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
391 endef
392 TARGET_DEVICES += mediatek_ap-mt7621a-v60
393
394 define Device/mediatek_mt7621-eval-board
395   MTK_SOC := mt7621
396   BLOCKSIZE := 64k
397   IMAGE_SIZE := 15104k
398   DEVICE_VENDOR := MediaTek
399   DEVICE_MODEL := MT7621 EVB
400   SUPPORTED_DEVICES += mt7621
401 endef
402 TARGET_DEVICES += mediatek_mt7621-eval-board
403
404 define Device/MikroTik
405   MTK_SOC := mt7621
406   DEVICE_VENDOR := MikroTik
407   BLOCKSIZE := 64k
408   IMAGE_SIZE := 16128k
409   DEVICE_PACKAGES := kmod-usb3
410   LOADER_TYPE := elf
411   PLATFORM := mt7621
412   KERNEL := $(KERNEL_DTB) | loader-kernel
413   IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | pad-to $$$$(BLOCKSIZE) | \
414         append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
415 endef
416
417 define Device/mikrotik_rb750gr3
418   $(Device/MikroTik)
419   DEVICE_MODEL := RouterBOARD RB750G
420   DEVICE_VARIANT := r3
421   DEVICE_PACKAGES += kmod-gpio-beeper
422 endef
423 TARGET_DEVICES += mikrotik_rb750gr3
424
425 define Device/mikrotik_rbm11g
426   $(Device/MikroTik)
427   DEVICE_MODEL := RouterBOARD M11G
428 endef
429 TARGET_DEVICES += mikrotik_rbm11g
430
431 define Device/mikrotik_rbm33g
432   $(Device/MikroTik)
433   DEVICE_MODEL := RouterBOARD M33G
434 endef
435 TARGET_DEVICES += mikrotik_rbm33g
436
437 define Device/mqmaker_witi
438   MTK_SOC := mt7621
439   IMAGE_SIZE := 16064k
440   DEVICE_VENDOR := MQmaker
441   DEVICE_MODEL := WiTi
442   DEVICE_PACKAGES := \
443         kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
444         kmod-usb-ledtrig-usbport wpad-basic
445   SUPPORTED_DEVICES += witi mqmaker,witi-256m mqmaker,witi-512m
446 endef
447 TARGET_DEVICES += mqmaker_witi
448
449 define Device/mtc_wr1201
450   MTK_SOC := mt7621
451   IMAGE_SIZE := 16000k
452   DEVICE_VENDOR := MTC
453   DEVICE_MODEL := Wireless Router WR1201
454   KERNEL_INITRAMFS := $(KERNEL_DTB) | wr1201-factory-header
455   DEVICE_PACKAGES := \
456         kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
457 endef
458 TARGET_DEVICES += mtc_wr1201
459
460 define Device/netgear_ex6150
461   MTK_SOC := mt7621
462   DEVICE_VENDOR := NETGEAR
463   DEVICE_MODEL := EX6150
464   DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
465   NETGEAR_BOARD_ID := U12H318T00_NETGEAR
466   IMAGE_SIZE := 14848k
467   IMAGES += factory.chk
468   IMAGE/factory.chk := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | netgear-chk
469 endef
470 TARGET_DEVICES += netgear_ex6150
471
472 define Device/netgear_sercomm_nand
473   MTK_SOC := mt7621
474   BLOCKSIZE := 128k
475   PAGESIZE := 2048
476   KERNEL_SIZE := 4096k
477   UBINIZE_OPTS := -E 5
478   IMAGES += factory.img kernel.bin rootfs.bin
479   IMAGE/factory.img := pad-extra 2048k | append-kernel | pad-to 6144k | append-ubi | \
480         pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
481         zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
482   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
483   IMAGE/kernel.bin := append-kernel
484   IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
485   DEVICE_VENDOR := NETGEAR
486   DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
487 endef
488 DEVICE_VARS += SERCOMM_HWNAME SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER
489
490 define Device/netgear_r6220
491   $(Device/netgear_sercomm_nand)
492   DEVICE_MODEL := R6220
493   SERCOMM_HWNAME := R6220
494   SERCOMM_HWID := AYA
495   SERCOMM_HWVER := A001
496   SERCOMM_SWVER := 0x0086
497   IMAGE_SIZE := 28672k
498   DEVICE_PACKAGES += kmod-mt76x2
499   SUPPORTED_DEVICES += r6220
500 endef
501 TARGET_DEVICES += netgear_r6220
502
503
504 define Device/netgear_r6260
505   $(Device/netgear_sercomm_nand)
506   DEVICE_MODEL := R6260
507   SERCOMM_HWNAME := R6260
508   SERCOMM_HWID := CHJ
509   SERCOMM_HWVER := A001
510   SERCOMM_SWVER := 0x0052
511   IMAGE_SIZE := 40960k
512   DEVICE_PACKAGES += kmod-mt7615e
513 endef
514 TARGET_DEVICES += netgear_r6260
515
516 define Device/netgear_r6350
517   $(Device/netgear_sercomm_nand)
518   DEVICE_MODEL := R6350
519   SERCOMM_HWNAME := R6350
520   SERCOMM_HWID := CHJ
521   SERCOMM_HWVER := A001
522   SERCOMM_SWVER := 0x0052
523   IMAGE_SIZE := 40960k
524   DEVICE_PACKAGES += kmod-mt7615e
525 endef
526 TARGET_DEVICES += netgear_r6350
527
528 define Device/netgear_r6850
529   $(Device/netgear_sercomm_nand)
530   DEVICE_MODEL := R6850
531   SERCOMM_HWNAME := R6850
532   SERCOMM_HWID := CHJ
533   SERCOMM_HWVER := A001
534   SERCOMM_SWVER := 0x0052
535   IMAGE_SIZE := 40960k
536   DEVICE_PACKAGES += kmod-mt7615e
537 endef
538 TARGET_DEVICES += netgear_r6850
539
540 define Device/netgear_wndr3700-v5
541   MTK_SOC := mt7621
542   BLOCKSIZE := 64k
543   IMAGE_SIZE := 15232k
544   SERCOMM_HWID := AYB
545   SERCOMM_HWVER := A001
546   SERCOMM_SWVER := 0x1054
547   IMAGES += factory.img
548   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
549   IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
550   IMAGE/factory.img := pad-extra 320k | $$(IMAGE/default) | pad-to $$$$(BLOCKSIZE) | \
551         sercom-footer | pad-to 128 | zip WNDR3700v5.bin | sercom-seal
552   DEVICE_VENDOR := NETGEAR
553   DEVICE_MODEL := WNDR3700
554   DEVICE_VARIANT := v5
555   DEVICE_PACKAGES := \
556         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
557   SUPPORTED_DEVICES += wndr3700v5
558 endef
559 TARGET_DEVICES += netgear_wndr3700-v5
560
561 define Device/netis_wf-2881
562   MTK_SOC := mt7621
563   BLOCKSIZE := 128k
564   PAGESIZE := 2048
565   FILESYSTEMS := squashfs
566   IMAGE_SIZE := 129280k
567   KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
568   UBINIZE_OPTS := -E 5
569   IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | check-size $$$$(IMAGE_SIZE)
570   DEVICE_VENDOR := NETIS
571   DEVICE_MODEL := WF-2881
572   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
573   SUPPORTED_DEVICES += wf-2881
574 endef
575 TARGET_DEVICES += netis_wf-2881
576
577 define Device/phicomm_k2p
578   MTK_SOC := mt7621
579   IMAGE_SIZE := 15744k
580   DEVICE_VENDOR := Phicomm
581   DEVICE_MODEL := K2P
582   DEVICE_ALT0_VENDOR := Phicomm
583   DEVICE_ALT0_MODEL := KE 2P
584   SUPPORTED_DEVICES += k2p
585   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
586 endef
587 TARGET_DEVICES += phicomm_k2p
588
589 define Device/planex_vr500
590   MTK_SOC := mt7621
591   IMAGE_SIZE := 65216k
592   DEVICE_VENDOR := Planex
593   DEVICE_MODEL := VR500
594   DEVICE_PACKAGES := kmod-usb3
595   SUPPORTED_DEVICES += vr500
596 endef
597 TARGET_DEVICES += planex_vr500
598
599 define Device/samknows_whitebox-v8
600   MTK_SOC := mt7621
601   IMAGE_SIZE := 16064k
602   DEVICE_VENDOR := SamKnows
603   DEVICE_MODEL := Whitebox 8
604   DEVICE_PACKAGES := \
605         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport \
606         uboot-envtools wpad-basic
607   SUPPORTED_DEVICES += sk-wb8
608 endef
609 TARGET_DEVICES += samknows_whitebox-v8
610
611 define Device/storylink_sap-g3200u3
612   MTK_SOC := mt7621
613   IMAGE_SIZE := 7872k
614   DEVICE_VENDOR := STORYLiNK
615   DEVICE_MODEL := SAP-G3200U3
616   DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
617   SUPPORTED_DEVICES += sap-g3200u3
618 endef
619 TARGET_DEVICES += storylink_sap-g3200u3
620
621 define Device/telco-electronics_x1
622   MTK_SOC := mt7621
623   IMAGE_SIZE := 16064k
624   DEVICE_VENDOR := Telco Electronics
625   DEVICE_MODEL := X1
626   DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic
627 endef
628 TARGET_DEVICES += telco-electronics_x1
629
630 define Device/thunder_timecloud
631   MTK_SOC := mt7621
632   IMAGE_SIZE := 16064k
633   DEVICE_VENDOR := Thunder
634   DEVICE_MODEL := Timecloud
635   DEVICE_PACKAGES := kmod-usb3
636   SUPPORTED_DEVICES += timecloud
637 endef
638 TARGET_DEVICES += thunder_timecloud
639
640 define Device/totolink_a7000r
641   MTK_SOC := mt7621
642   IMAGE_SIZE := 16064k
643   UIMAGE_NAME := C8340R1C-9999
644   DEVICE_VENDOR := TOTOLINK
645   DEVICE_MODEL := A7000R
646   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
647 endef
648 TARGET_DEVICES += totolink_a7000r
649
650 define Device/adslr_g7
651   MTK_SOC := mt7621
652   IMAGE_SIZE := 16064k
653   DEVICE_VENDOR := ADSLR
654   DEVICE_MODEL := G7
655   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
656 endef
657 TARGET_DEVICES += adslr_g7
658
659 define Device/tplink-safeloader
660   MTK_SOC := mt7621
661   DEVICE_VENDOR := TP-Link
662   TPLINK_BOARD_ID :=
663   TPLINK_HWID := 0x0
664   TPLINK_HWREV := 0
665   TPLINK_HEADER_VERSION := 1
666   KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O
667   IMAGES += factory.bin
668   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
669         append-metadata | check-size $$$$(IMAGE_SIZE)
670   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
671 endef
672
673 define Device/tplink_re350-v1
674   $(Device/tplink-safeloader)
675   DEVICE_MODEL := RE350
676   DEVICE_VARIANT := v1
677   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
678   TPLINK_BOARD_ID := RE350-V1
679   IMAGE_SIZE := 6016k
680   SUPPORTED_DEVICES += re350-v1
681 endef
682 TARGET_DEVICES += tplink_re350-v1
683
684 define Device/tplink_re650-v1
685   $(Device/tplink-safeloader)
686   DEVICE_MODEL := RE650
687   DEVICE_VARIANT := v1
688   DEVICE_PACKAGES := kmod-mt7615e wpad-basic
689   TPLINK_BOARD_ID := RE650-V1
690   IMAGE_SIZE := 14208k
691 endef
692 TARGET_DEVICES += tplink_re650-v1
693
694 define Device/ubiquiti_edgerouterx
695   MTK_SOC := mt7621
696   IMAGE_SIZE := 256768k
697   FILESYSTEMS := squashfs
698   KERNEL_SIZE := 3145728
699   KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
700   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
701   DEVICE_VENDOR := Ubiquiti
702   DEVICE_MODEL := EdgeRouter X
703   SUPPORTED_DEVICES += ubnt-erx
704 endef
705 TARGET_DEVICES += ubiquiti_edgerouterx
706
707 define Device/ubiquiti_edgerouterx-sfp
708   $(Device/ubiquiti_edgerouterx)
709   DEVICE_VENDOR := Ubiquiti
710   DEVICE_MODEL := EdgeRouter X-SFP
711   DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
712   SUPPORTED_DEVICES += ubnt-erx-sfp
713 endef
714 TARGET_DEVICES += ubiquiti_edgerouterx-sfp
715
716 define Device/unielec_u7621-06-16m
717   MTK_SOC := mt7621
718   IMAGE_SIZE := 16064k
719   DEVICE_VENDOR := UniElec
720   DEVICE_MODEL := U7621-06
721   DEVICE_VARIANT := 16M
722   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
723   SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
724 endef
725 TARGET_DEVICES += unielec_u7621-06-16m
726
727 define Device/unielec_u7621-06-64m
728   MTK_SOC := mt7621
729   IMAGE_SIZE := 65216k
730   DEVICE_VENDOR := UniElec
731   DEVICE_MODEL := U7621-06
732   DEVICE_VARIANT := 64M
733   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
734   SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
735 endef
736 TARGET_DEVICES += unielec_u7621-06-64m
737
738 define Device/wevo_11acnas
739   MTK_SOC := mt7621
740   IMAGE_SIZE := 16064k
741   UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
742   DEVICE_VENDOR := WeVO
743   DEVICE_MODEL := 11AC NAS Router
744   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
745   SUPPORTED_DEVICES += 11acnas
746 endef
747 TARGET_DEVICES += wevo_11acnas
748
749 define Device/wevo_w2914ns-v2
750   MTK_SOC := mt7621
751   IMAGE_SIZE := 16064k
752   UIMAGE_NAME := W2914NS-V2(0.0.0)
753   DEVICE_VENDOR := WeVO
754   DEVICE_MODEL := W2914NS
755   DEVICE_VARIANT := v2
756   DEVICE_PACKAGES := \
757         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
758   SUPPORTED_DEVICES += w2914nsv2
759 endef
760 TARGET_DEVICES += wevo_w2914ns-v2
761
762 define Device/xiaomi_mir3g
763   MTK_SOC := mt7621
764   BLOCKSIZE := 128k
765   PAGESIZE := 2048
766   KERNEL_SIZE := 4096k
767   IMAGE_SIZE := 124416k
768   UBINIZE_OPTS := -E 5
769   IMAGES += kernel1.bin rootfs0.bin
770   IMAGE/kernel1.bin := append-kernel
771   IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
772   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
773   DEVICE_VENDOR := Xiaomi
774   DEVICE_MODEL := Mi Router 3G
775   SUPPORTED_DEVICES += R3G
776   SUPPORTED_DEVICES += mir3g
777   DEVICE_PACKAGES := \
778         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic \
779         uboot-envtools
780 endef
781 TARGET_DEVICES += xiaomi_mir3g
782
783 define Device/xiaomi_mir3g-v2
784   MTK_SOC := mt7621
785   IMAGE_SIZE := 14848k
786   DEVICE_VENDOR := Xiaomi
787   DEVICE_MODEL := Mi Router 3G
788   DEVICE_VARIANT := v2
789   DEVICE_ALT0_VENDOR := Xiaomi
790   DEVICE_ALT0_MODEL := Mi Router 4A
791   DEVICE_ALT0_VARIANT := Gigabit Edition
792   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
793 endef
794 TARGET_DEVICES += xiaomi_mir3g-v2
795
796 define Device/xiaomi_mir3p
797   MTK_SOC := mt7621
798   BLOCKSIZE := 128k
799   PAGESIZE := 2048
800   KERNEL_SIZE:= 4096k
801   UBINIZE_OPTS := -E 5
802   IMAGE_SIZE := 255488k
803   DEVICE_VENDOR := Xiaomi
804   DEVICE_MODEL := Mi Router 3 Pro
805   IMAGES += factory.bin
806   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
807   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
808   DEVICE_PACKAGES := \
809         kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic \
810         uboot-envtools
811 endef
812 TARGET_DEVICES += xiaomi_mir3p
813
814 define Device/xiaoyu_xy-c5
815   MTK_SOC := mt7621
816   IMAGE_SIZE := 32448k
817   DEVICE_VENDOR := XiaoYu
818   DEVICE_MODEL := XY-C5
819   DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3
820 endef
821 TARGET_DEVICES += xiaoyu_xy-c5
822
823 define Device/xzwifi_creativebox-v1
824   MTK_SOC := mt7621
825   IMAGE_SIZE := 32448k
826   DEVICE_VENDOR := CreativeBox
827   DEVICE_MODEL := v1
828   DEVICE_PACKAGES := \
829         kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
830         kmod-usb3
831 endef
832 TARGET_DEVICES += xzwifi_creativebox-v1
833
834 define Device/youhua_wr1200js
835   MTK_SOC := mt7621
836   IMAGE_SIZE := 16064k
837   DEVICE_VENDOR := YouHua
838   DEVICE_MODEL := WR1200JS
839   DEVICE_PACKAGES := \
840         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
841 endef
842 TARGET_DEVICES += youhua_wr1200js
843
844 define Device/youku_yk-l2
845   MTK_SOC := mt7621
846   IMAGE_SIZE := 16064k
847   DEVICE_VENDOR := Youku
848   DEVICE_MODEL := YK-L2
849   DEVICE_PACKAGES := \
850         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
851 endef
852 TARGET_DEVICES += youku_yk-l2
853
854 define Device/zbtlink_zbt-we1326
855   MTK_SOC := mt7621
856   IMAGE_SIZE := 16064k
857   DEVICE_VENDOR := Zbtlink
858   DEVICE_MODEL := ZBT-WE1326
859   DEVICE_PACKAGES := \
860         kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 wpad-basic
861   SUPPORTED_DEVICES += zbt-we1326
862 endef
863 TARGET_DEVICES += zbtlink_zbt-we1326
864
865 define Device/zbtlink_zbt-we3526
866   MTK_SOC := mt7621
867   IMAGE_SIZE := 16064k
868   DEVICE_VENDOR := Zbtlink
869   DEVICE_MODEL := ZBT-WE3526
870   DEVICE_PACKAGES := \
871         kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
872         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
873 endef
874 TARGET_DEVICES += zbtlink_zbt-we3526
875
876 define Device/zbtlink_zbt-wg2626
877   MTK_SOC := mt7621
878   IMAGE_SIZE := 16064k
879   DEVICE_VENDOR := Zbtlink
880   DEVICE_MODEL := ZBT-WG2626
881   DEVICE_PACKAGES := \
882         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
883         kmod-usb-ledtrig-usbport wpad-basic
884   SUPPORTED_DEVICES += zbt-wg2626
885 endef
886 TARGET_DEVICES += zbtlink_zbt-wg2626
887
888 define Device/zbtlink_zbt-wg3526-16m
889   MTK_SOC := mt7621
890   IMAGE_SIZE := 16064k
891   DEVICE_VENDOR := Zbtlink
892   DEVICE_MODEL := ZBT-WG3526
893   DEVICE_VARIANT := 16M
894   DEVICE_PACKAGES := \
895         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
896         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
897   SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
898 endef
899 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
900
901 define Device/zbtlink_zbt-wg3526-32m
902   MTK_SOC := mt7621
903   IMAGE_SIZE := 32448k
904   DEVICE_VENDOR := Zbtlink
905   DEVICE_MODEL := ZBT-WG3526
906   DEVICE_VARIANT := 32M
907   DEVICE_PACKAGES := \
908         kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
909         kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
910   SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
911 endef
912 TARGET_DEVICES += zbtlink_zbt-wg3526-32m
913
914 define Device/zio_freezio
915   MTK_SOC := mt7621
916   IMAGE_SIZE := 16064k
917   DEVICE_VENDOR := ZIO
918   DEVICE_MODEL := FREEZIO
919   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
920 endef
921 TARGET_DEVICES += zio_freezio