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