ramips: add support for ipTIME A8004T
[openwrt/staging/dedeckeh.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/iptime_a8004t
386 SOC := mt7621
387 IMAGE_SIZE := 16128k
388 UIMAGE_NAME := a8004t
389 DEVICE_VENDOR := ipTIME
390 DEVICE_MODEL := A8004T
391 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 wpad-basic
392 endef
393 TARGET_DEVICES += iptime_a8004t
394
395 define Device/jcg_jhr-ac876m
396 SOC := mt7621
397 IMAGE_SIZE := 16064k
398 IMAGES += factory.bin
399 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
400 jcg-header 89.1
401 JCG_MAXSIZE := 16064k
402 DEVICE_VENDOR := JCG
403 DEVICE_MODEL := JHR-AC876M
404 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
405 endef
406 TARGET_DEVICES += jcg_jhr-ac876m
407
408 define Device/lenovo_newifi-d1
409 SOC := mt7621
410 IMAGE_SIZE := 32448k
411 DEVICE_VENDOR := Newifi
412 DEVICE_MODEL := D1
413 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
414 kmod-usb-ledtrig-usbport wpad-basic
415 SUPPORTED_DEVICES += newifi-d1
416 endef
417 TARGET_DEVICES += lenovo_newifi-d1
418
419 define Device/linksys_re6500
420 SOC := mt7621
421 IMAGE_SIZE := 7872k
422 DEVICE_VENDOR := Linksys
423 DEVICE_MODEL := RE6500
424 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
425 SUPPORTED_DEVICES += re6500
426 endef
427 TARGET_DEVICES += linksys_re6500
428
429 define Device/mediatek_ap-mt7621a-v60
430 SOC := mt7621
431 IMAGE_SIZE := 7872k
432 DEVICE_VENDOR := Mediatek
433 DEVICE_MODEL := AP-MT7621A-V60 EVB
434 DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
435 endef
436 TARGET_DEVICES += mediatek_ap-mt7621a-v60
437
438 define Device/mediatek_mt7621-eval-board
439 SOC := mt7621
440 BLOCKSIZE := 64k
441 IMAGE_SIZE := 15104k
442 DEVICE_VENDOR := MediaTek
443 DEVICE_MODEL := MT7621 EVB
444 SUPPORTED_DEVICES += mt7621
445 endef
446 TARGET_DEVICES += mediatek_mt7621-eval-board
447
448 define Device/MikroTik
449 SOC := mt7621
450 DEVICE_VENDOR := MikroTik
451 BLOCKSIZE := 64k
452 IMAGE_SIZE := 16128k
453 DEVICE_PACKAGES := kmod-usb3
454 LOADER_TYPE := elf
455 PLATFORM := mt7621
456 KERNEL := $(KERNEL_DTB) | loader-kernel
457 IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | \
458 pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata | \
459 check-size $$$$(IMAGE_SIZE)
460 endef
461
462 define Device/mikrotik_rb750gr3
463 $(Device/MikroTik)
464 DEVICE_MODEL := RouterBOARD RB750G
465 DEVICE_VARIANT := r3
466 DEVICE_PACKAGES += kmod-gpio-beeper
467 endef
468 TARGET_DEVICES += mikrotik_rb750gr3
469
470 define Device/mikrotik_rbm11g
471 $(Device/MikroTik)
472 DEVICE_MODEL := RouterBOARD M11G
473 endef
474 TARGET_DEVICES += mikrotik_rbm11g
475
476 define Device/mikrotik_rbm33g
477 $(Device/MikroTik)
478 DEVICE_MODEL := RouterBOARD M33G
479 endef
480 TARGET_DEVICES += mikrotik_rbm33g
481
482 define Device/mqmaker_witi
483 SOC := mt7621
484 IMAGE_SIZE := 16064k
485 DEVICE_VENDOR := MQmaker
486 DEVICE_MODEL := WiTi
487 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-mt76x2 \
488 kmod-sdhci-mt7620 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
489 SUPPORTED_DEVICES += witi mqmaker,witi-256m mqmaker,witi-512m
490 endef
491 TARGET_DEVICES += mqmaker_witi
492
493 define Device/mtc_wr1201
494 SOC := mt7621
495 IMAGE_SIZE := 16000k
496 DEVICE_VENDOR := MTC
497 DEVICE_MODEL := Wireless Router WR1201
498 KERNEL_INITRAMFS := $(KERNEL_DTB) | wr1201-factory-header
499 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
500 kmod-usb-ledtrig-usbport wpad-basic
501 endef
502 TARGET_DEVICES += mtc_wr1201
503
504 define Device/netgear_ex6150
505 SOC := mt7621
506 DEVICE_VENDOR := NETGEAR
507 DEVICE_MODEL := EX6150
508 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
509 NETGEAR_BOARD_ID := U12H318T00_NETGEAR
510 IMAGE_SIZE := 14848k
511 IMAGES += factory.chk
512 IMAGE/factory.chk := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
513 netgear-chk
514 endef
515 TARGET_DEVICES += netgear_ex6150
516
517 define Device/netgear_sercomm_nand
518 SOC := mt7621
519 BLOCKSIZE := 128k
520 PAGESIZE := 2048
521 KERNEL_SIZE := 4096k
522 UBINIZE_OPTS := -E 5
523 IMAGES += factory.img kernel.bin rootfs.bin
524 IMAGE/factory.img := pad-extra 2048k | append-kernel | pad-to 6144k | \
525 append-ubi | pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
526 zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
527 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
528 IMAGE/kernel.bin := append-kernel
529 IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
530 DEVICE_VENDOR := NETGEAR
531 DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
532 endef
533 DEVICE_VARS += SERCOMM_HWNAME SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER
534
535 define Device/netgear_r6220
536 $(Device/netgear_sercomm_nand)
537 DEVICE_MODEL := R6220
538 SERCOMM_HWNAME := R6220
539 SERCOMM_HWID := AYA
540 SERCOMM_HWVER := A001
541 SERCOMM_SWVER := 0x0086
542 IMAGE_SIZE := 28672k
543 DEVICE_PACKAGES += kmod-mt76x2
544 SUPPORTED_DEVICES += r6220
545 endef
546 TARGET_DEVICES += netgear_r6220
547
548
549 define Device/netgear_r6260
550 $(Device/netgear_sercomm_nand)
551 DEVICE_MODEL := R6260
552 SERCOMM_HWNAME := R6260
553 SERCOMM_HWID := CHJ
554 SERCOMM_HWVER := A001
555 SERCOMM_SWVER := 0x0052
556 IMAGE_SIZE := 40960k
557 DEVICE_PACKAGES += kmod-mt7615e
558 endef
559 TARGET_DEVICES += netgear_r6260
560
561 define Device/netgear_r6350
562 $(Device/netgear_sercomm_nand)
563 DEVICE_MODEL := R6350
564 SERCOMM_HWNAME := R6350
565 SERCOMM_HWID := CHJ
566 SERCOMM_HWVER := A001
567 SERCOMM_SWVER := 0x0052
568 IMAGE_SIZE := 40960k
569 DEVICE_PACKAGES += kmod-mt7615e
570 endef
571 TARGET_DEVICES += netgear_r6350
572
573 define Device/netgear_r6850
574 $(Device/netgear_sercomm_nand)
575 DEVICE_MODEL := R6850
576 SERCOMM_HWNAME := R6850
577 SERCOMM_HWID := CHJ
578 SERCOMM_HWVER := A001
579 SERCOMM_SWVER := 0x0052
580 IMAGE_SIZE := 40960k
581 DEVICE_PACKAGES += kmod-mt7615e
582 endef
583 TARGET_DEVICES += netgear_r6850
584
585 define Device/netgear_wndr3700-v5
586 SOC := mt7621
587 BLOCKSIZE := 64k
588 IMAGE_SIZE := 15232k
589 SERCOMM_HWID := AYB
590 SERCOMM_HWVER := A001
591 SERCOMM_SWVER := 0x1054
592 IMAGES += factory.img
593 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
594 pad-rootfs
595 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
596 check-size $$$$(IMAGE_SIZE)
597 IMAGE/factory.img := pad-extra 320k | $$(IMAGE/default) | \
598 pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
599 zip WNDR3700v5.bin | sercom-seal
600 DEVICE_VENDOR := NETGEAR
601 DEVICE_MODEL := WNDR3700
602 DEVICE_VARIANT := v5
603 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
604 kmod-usb-ledtrig-usbport wpad-basic
605 SUPPORTED_DEVICES += wndr3700v5
606 endef
607 TARGET_DEVICES += netgear_wndr3700-v5
608
609 define Device/netis_wf-2881
610 SOC := mt7621
611 BLOCKSIZE := 128k
612 PAGESIZE := 2048
613 FILESYSTEMS := squashfs
614 IMAGE_SIZE := 129280k
615 KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
616 UBINIZE_OPTS := -E 5
617 IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | \
618 check-size $$$$(IMAGE_SIZE)
619 DEVICE_VENDOR := NETIS
620 DEVICE_MODEL := WF-2881
621 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
622 SUPPORTED_DEVICES += wf-2881
623 endef
624 TARGET_DEVICES += netis_wf-2881
625
626 define Device/phicomm_k2p
627 SOC := mt7621
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 SOC := mt7621
640 IMAGE_SIZE := 65216k
641 DEVICE_VENDOR := Planex
642 DEVICE_MODEL := VR500
643 DEVICE_PACKAGES := kmod-usb3
644 SUPPORTED_DEVICES += vr500
645 endef
646 TARGET_DEVICES += planex_vr500
647
648 define Device/samknows_whitebox-v8
649 SOC := mt7621
650 IMAGE_SIZE := 16064k
651 DEVICE_VENDOR := SamKnows
652 DEVICE_MODEL := Whitebox 8
653 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
654 kmod-usb-ledtrig-usbport uboot-envtools wpad-basic
655 SUPPORTED_DEVICES += sk-wb8
656 endef
657 TARGET_DEVICES += samknows_whitebox-v8
658
659 define Device/storylink_sap-g3200u3
660 SOC := mt7621
661 IMAGE_SIZE := 7872k
662 DEVICE_VENDOR := STORYLiNK
663 DEVICE_MODEL := SAP-G3200U3
664 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
665 SUPPORTED_DEVICES += sap-g3200u3
666 endef
667 TARGET_DEVICES += storylink_sap-g3200u3
668
669 define Device/telco-electronics_x1
670 SOC := mt7621
671 IMAGE_SIZE := 16064k
672 DEVICE_VENDOR := Telco Electronics
673 DEVICE_MODEL := X1
674 DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic
675 endef
676 TARGET_DEVICES += telco-electronics_x1
677
678 define Device/thunder_timecloud
679 SOC := mt7621
680 IMAGE_SIZE := 16064k
681 DEVICE_VENDOR := Thunder
682 DEVICE_MODEL := Timecloud
683 DEVICE_PACKAGES := kmod-usb3
684 SUPPORTED_DEVICES += timecloud
685 endef
686 TARGET_DEVICES += thunder_timecloud
687
688 define Device/totolink_a7000r
689 SOC := mt7621
690 IMAGE_SIZE := 16064k
691 UIMAGE_NAME := C8340R1C-9999
692 DEVICE_VENDOR := TOTOLINK
693 DEVICE_MODEL := A7000R
694 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
695 endef
696 TARGET_DEVICES += totolink_a7000r
697
698 define Device/adslr_g7
699 SOC := mt7621
700 IMAGE_SIZE := 16064k
701 DEVICE_VENDOR := ADSLR
702 DEVICE_MODEL := G7
703 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
704 endef
705 TARGET_DEVICES += adslr_g7
706
707 define Device/tplink-safeloader
708 SOC := mt7621
709 DEVICE_VENDOR := TP-Link
710 TPLINK_BOARD_ID :=
711 TPLINK_HWID := 0x0
712 TPLINK_HWREV := 0
713 TPLINK_HEADER_VERSION := 1
714 KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O
715 IMAGES += factory.bin
716 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
717 append-metadata | check-size $$$$(IMAGE_SIZE)
718 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
719 endef
720
721 define Device/tplink_re350-v1
722 $(Device/tplink-safeloader)
723 DEVICE_MODEL := RE350
724 DEVICE_VARIANT := v1
725 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
726 TPLINK_BOARD_ID := RE350-V1
727 IMAGE_SIZE := 6016k
728 SUPPORTED_DEVICES += re350-v1
729 endef
730 TARGET_DEVICES += tplink_re350-v1
731
732 define Device/tplink_re650-v1
733 $(Device/tplink-safeloader)
734 DEVICE_MODEL := RE650
735 DEVICE_VARIANT := v1
736 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
737 TPLINK_BOARD_ID := RE650-V1
738 IMAGE_SIZE := 14208k
739 endef
740 TARGET_DEVICES += tplink_re650-v1
741
742 define Device/ubiquiti_edgerouterx
743 SOC := mt7621
744 IMAGE_SIZE := 256768k
745 FILESYSTEMS := squashfs
746 KERNEL_SIZE := 3145728
747 KERNEL_INITRAMFS := $$(KERNEL) | \
748 ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
749 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
750 DEVICE_VENDOR := Ubiquiti
751 DEVICE_MODEL := EdgeRouter X
752 SUPPORTED_DEVICES += ubnt-erx
753 endef
754 TARGET_DEVICES += ubiquiti_edgerouterx
755
756 define Device/ubiquiti_edgerouterx-sfp
757 $(Device/ubiquiti_edgerouterx)
758 DEVICE_VENDOR := Ubiquiti
759 DEVICE_MODEL := EdgeRouter X-SFP
760 DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
761 SUPPORTED_DEVICES += ubnt-erx-sfp
762 endef
763 TARGET_DEVICES += ubiquiti_edgerouterx-sfp
764
765 define Device/unielec_u7621-06-16m
766 SOC := mt7621
767 IMAGE_SIZE := 16064k
768 DEVICE_VENDOR := UniElec
769 DEVICE_MODEL := U7621-06
770 DEVICE_VARIANT := 16M
771 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
772 SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
773 endef
774 TARGET_DEVICES += unielec_u7621-06-16m
775
776 define Device/unielec_u7621-06-64m
777 SOC := mt7621
778 IMAGE_SIZE := 65216k
779 DEVICE_VENDOR := UniElec
780 DEVICE_MODEL := U7621-06
781 DEVICE_VARIANT := 64M
782 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
783 SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
784 endef
785 TARGET_DEVICES += unielec_u7621-06-64m
786
787 define Device/wevo_11acnas
788 SOC := mt7621
789 IMAGE_SIZE := 16064k
790 UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
791 DEVICE_VENDOR := WeVO
792 DEVICE_MODEL := 11AC NAS Router
793 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
794 kmod-usb-ledtrig-usbport wpad-basic
795 SUPPORTED_DEVICES += 11acnas
796 endef
797 TARGET_DEVICES += wevo_11acnas
798
799 define Device/wevo_w2914ns-v2
800 SOC := mt7621
801 IMAGE_SIZE := 16064k
802 UIMAGE_NAME := W2914NS-V2(0.0.0)
803 DEVICE_VENDOR := WeVO
804 DEVICE_MODEL := W2914NS
805 DEVICE_VARIANT := v2
806 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
807 kmod-usb-ledtrig-usbport wpad-basic
808 SUPPORTED_DEVICES += w2914nsv2
809 endef
810 TARGET_DEVICES += wevo_w2914ns-v2
811
812 define Device/xiaomi_mir3g
813 SOC := mt7621
814 BLOCKSIZE := 128k
815 PAGESIZE := 2048
816 KERNEL_SIZE := 4096k
817 IMAGE_SIZE := 124416k
818 UBINIZE_OPTS := -E 5
819 IMAGES += kernel1.bin rootfs0.bin
820 IMAGE/kernel1.bin := append-kernel
821 IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
822 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
823 DEVICE_VENDOR := Xiaomi
824 DEVICE_MODEL := Mi Router 3G
825 SUPPORTED_DEVICES += R3G
826 SUPPORTED_DEVICES += mir3g
827 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
828 kmod-usb-ledtrig-usbport wpad-basic uboot-envtools
829 endef
830 TARGET_DEVICES += xiaomi_mir3g
831
832 define Device/xiaomi_mir3g-v2
833 SOC := mt7621
834 IMAGE_SIZE := 14848k
835 DEVICE_VENDOR := Xiaomi
836 DEVICE_MODEL := Mi Router 3G
837 DEVICE_VARIANT := v2
838 DEVICE_ALT0_VENDOR := Xiaomi
839 DEVICE_ALT0_MODEL := Mi Router 4A
840 DEVICE_ALT0_VARIANT := Gigabit Edition
841 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
842 endef
843 TARGET_DEVICES += xiaomi_mir3g-v2
844
845 define Device/xiaomi_mir3p
846 SOC := mt7621
847 BLOCKSIZE := 128k
848 PAGESIZE := 2048
849 KERNEL_SIZE:= 4096k
850 UBINIZE_OPTS := -E 5
851 IMAGE_SIZE := 255488k
852 DEVICE_VENDOR := Xiaomi
853 DEVICE_MODEL := Mi Router 3 Pro
854 IMAGES += factory.bin
855 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
856 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
857 check-size $$$$(IMAGE_SIZE)
858 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport \
859 wpad-basic uboot-envtools
860 endef
861 TARGET_DEVICES += xiaomi_mir3p
862
863 define Device/xiaoyu_xy-c5
864 SOC := mt7621
865 IMAGE_SIZE := 32448k
866 DEVICE_VENDOR := XiaoYu
867 DEVICE_MODEL := XY-C5
868 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3
869 endef
870 TARGET_DEVICES += xiaoyu_xy-c5
871
872 define Device/xzwifi_creativebox-v1
873 SOC := mt7621
874 IMAGE_SIZE := 32448k
875 DEVICE_VENDOR := CreativeBox
876 DEVICE_MODEL := v1
877 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 \
878 kmod-sdhci-mt7620 kmod-usb3
879 endef
880 TARGET_DEVICES += xzwifi_creativebox-v1
881
882 define Device/youhua_wr1200js
883 SOC := mt7621
884 IMAGE_SIZE := 16064k
885 DEVICE_VENDOR := YouHua
886 DEVICE_MODEL := WR1200JS
887 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
888 kmod-usb-ledtrig-usbport wpad-basic
889 endef
890 TARGET_DEVICES += youhua_wr1200js
891
892 define Device/youku_yk-l2
893 SOC := mt7621
894 IMAGE_SIZE := 16064k
895 DEVICE_VENDOR := Youku
896 DEVICE_MODEL := YK-L2
897 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
898 kmod-usb-ledtrig-usbport wpad-basic
899 endef
900 TARGET_DEVICES += youku_yk-l2
901
902 define Device/zbtlink_zbt-we1326
903 SOC := mt7621
904 IMAGE_SIZE := 16064k
905 DEVICE_VENDOR := Zbtlink
906 DEVICE_MODEL := ZBT-WE1326
907 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
908 wpad-basic
909 SUPPORTED_DEVICES += zbt-we1326
910 endef
911 TARGET_DEVICES += zbtlink_zbt-we1326
912
913 define Device/zbtlink_zbt-we3526
914 SOC := mt7621
915 IMAGE_SIZE := 16064k
916 DEVICE_VENDOR := Zbtlink
917 DEVICE_MODEL := ZBT-WE3526
918 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
919 kmod-usb-ledtrig-usbport wpad-basic
920 endef
921 TARGET_DEVICES += zbtlink_zbt-we3526
922
923 define Device/zbtlink_zbt-wg2626
924 SOC := mt7621
925 IMAGE_SIZE := 16064k
926 DEVICE_VENDOR := Zbtlink
927 DEVICE_MODEL := ZBT-WG2626
928 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 \
929 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
930 SUPPORTED_DEVICES += zbt-wg2626
931 endef
932 TARGET_DEVICES += zbtlink_zbt-wg2626
933
934 define Device/zbtlink_zbt-wg3526-16m
935 SOC := mt7621
936 IMAGE_SIZE := 16064k
937 DEVICE_VENDOR := Zbtlink
938 DEVICE_MODEL := ZBT-WG3526
939 DEVICE_VARIANT := 16M
940 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 \
941 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
942 SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
943 endef
944 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
945
946 define Device/zbtlink_zbt-wg3526-32m
947 SOC := mt7621
948 IMAGE_SIZE := 32448k
949 DEVICE_VENDOR := Zbtlink
950 DEVICE_MODEL := ZBT-WG3526
951 DEVICE_VARIANT := 32M
952 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 \
953 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
954 SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
955 endef
956 TARGET_DEVICES += zbtlink_zbt-wg3526-32m
957
958 define Device/zio_freezio
959 SOC := mt7621
960 IMAGE_SIZE := 16064k
961 DEVICE_VENDOR := ZIO
962 DEVICE_MODEL := FREEZIO
963 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
964 kmod-usb-ledtrig-usbport wpad-basic
965 endef
966 TARGET_DEVICES += zio_freezio