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