ipq40xx: add support for Linksys WHW01 v1
[openwrt/openwrt.git] / target / linux / ipq40xx / image / generic.mk
1
2 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
3 DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
4 DEVICE_VARS += WRGG_DEVNAME WRGG_SIGNATURE
5
6 define Device/FitImage
7 KERNEL_SUFFIX := -fit-uImage.itb
8 KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
9 KERNEL_NAME := Image
10 endef
11
12 define Device/FitImageLzma
13 KERNEL_SUFFIX := -fit-uImage.itb
14 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
15 KERNEL_NAME := Image
16 endef
17
18 define Device/FitzImage
19 KERNEL_SUFFIX := -fit-zImage.itb
20 KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
21 KERNEL_NAME := zImage
22 endef
23
24 define Device/UbiFit
25 KERNEL_IN_UBI := 1
26 IMAGES := nand-factory.ubi nand-sysupgrade.bin
27 IMAGE/nand-factory.ubi := append-ubi
28 IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
29 endef
30
31 define Device/DniImage
32 $(call Device/FitzImage)
33 NETGEAR_BOARD_ID :=
34 NETGEAR_HW_ID :=
35 IMAGES += factory.img
36 IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni
37 IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | \
38 append-rootfs | pad-rootfs | check-size | append-metadata
39 endef
40
41 define Build/append-rootfshdr
42 mkimage -A $(LINUX_KARCH) \
43 -O linux -T filesystem \
44 -C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
45 -n root.squashfs -d $(IMAGE_ROOTFS) $@.new
46 dd if=$@.new bs=64 count=1 >> $(IMAGE_KERNEL)
47 endef
48
49 define Build/append-rutx-metadata
50 echo \
51 '{ \
52 "device_code": [".*"], \
53 "hwver": [".*"], \
54 "batch": [".*"], \
55 "serial": [".*"], \
56 "supported_devices":["teltonika,rutx"] \
57 }' | fwtool -I - $@
58 endef
59
60 define Build/copy-file
61 cat "$(1)" > "$@"
62 endef
63
64 define Build/mkmylofw_32m
65 $(eval device_id=$(word 1,$(1)))
66 $(eval revision=$(word 2,$(1)))
67
68 let \
69 size="$$(stat -c%s $@)" \
70 pad="$(subst k,* 1024,$(BLOCKSIZE))" \
71 pad="(pad - (size % pad)) % pad" \
72 newsize='size + pad'; \
73 $(STAGING_DIR_HOST)/bin/mkmylofw \
74 -B WPE72 -i 0x11f6:$(device_id):0x11f6:$(device_id) -r $(revision) \
75 -s 0x2000000 -p0x180000:$$newsize:al:0x80208000:"OpenWrt":$@ \
76 $@.new
77 @mv $@.new $@
78 endef
79
80 define Build/wac5xx-netgear-tar
81 mkdir $@.tmp
82 mv $@ $@.tmp/wac5xx-ubifs-root.img
83 md5sum $@.tmp/wac5xx-ubifs-root.img > $@.tmp/wac5xx-ubifs-root.md5sum
84 echo "WAC505 WAC510" > $@.tmp/metadata.txt
85 echo "WAC505_V9.9.9.9" > $@.tmp/version
86 tar -C $@.tmp/ -cf $@ .
87 rm -rf $@.tmp
88 endef
89
90 define Build/qsdk-ipq-factory-nand-askey
91 $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh $@.its\
92 askey_kernel $(IMAGE_KERNEL) \
93 askey_fs $(IMAGE_ROOTFS) \
94 ubifs $@
95 PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
96 @mv $@.new $@
97 endef
98
99 define Build/qsdk-ipq-app-gpt
100 cp $@ $@.tmp 2>/dev/null || true
101 ptgen -g -o $@.tmp -a 1 -l 1024 \
102 -t 0x2e -N 0:HLOS -r -p 32M \
103 -t 0x83 -N rootfs -r -p 128M \
104 -N rootfs_data -p 512M
105 cat $@.tmp >> $@
106 rm $@.tmp
107 endef
108
109 define Build/SenaoFW
110 -$(STAGING_DIR_HOST)/bin/mksenaofw \
111 -n $(BOARD_NAME) -r $(VENDOR_ID) -p $(1) \
112 -c $(DATECODE) -w $(2) -x $(CW_VER) -t 0 \
113 -e $@ \
114 -o $@.new
115 @cp $@.new $@
116 endef
117
118 define Build/wrgg-image
119 mkwrggimg -i $@ \
120 -o $@.new \
121 -d "$(WRGG_DEVNAME)" \
122 -s "$(WRGG_SIGNATURE)" \
123 -v "" -m "" -B ""
124 mv $@.new $@
125 endef
126
127 define Device/8dev_habanero-dvk
128 $(call Device/FitImageLzma)
129 DEVICE_VENDOR := 8devices
130 DEVICE_MODEL := Habanero DVK
131 IMAGE_SIZE := 30976k
132 SOC := qcom-ipq4019
133 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | check-size | append-metadata
134 endef
135 TARGET_DEVICES += 8dev_habanero-dvk
136
137 define Device/8dev_jalapeno-common
138 $(call Device/FitImage)
139 $(call Device/UbiFit)
140 BLOCKSIZE := 128k
141 PAGESIZE := 2048
142 SOC := qcom-ipq4018
143 endef
144
145 define Device/8dev_jalapeno
146 $(call Device/8dev_jalapeno-common)
147 DEVICE_VENDOR := 8devices
148 DEVICE_MODEL := Jalapeno
149 endef
150 TARGET_DEVICES += 8dev_jalapeno
151
152 define Device/alfa-network_ap120c-ac
153 $(call Device/FitImage)
154 $(call Device/UbiFit)
155 DEVICE_VENDOR := ALFA Network
156 DEVICE_MODEL := AP120C-AC
157 SOC := qcom-ipq4018
158 DEVICE_PACKAGES := kmod-usb-acm kmod-tpm-i2c-atmel
159 BLOCKSIZE := 128k
160 PAGESIZE := 2048
161 IMAGE_SIZE := 65536k
162 IMAGES := nand-factory.bin nand-sysupgrade.bin
163 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
164 endef
165 TARGET_DEVICES += alfa-network_ap120c-ac
166
167 define Device/aruba_glenmorangie
168 $(call Device/FitImageLzma)
169 DEVICE_VENDOR := Aruba
170 SOC := qcom-ipq4029
171 endef
172
173 define Device/aruba_ap-303
174 $(call Device/aruba_glenmorangie)
175 DEVICE_MODEL := AP-303
176 endef
177 TARGET_DEVICES += aruba_ap-303
178
179 define Device/aruba_ap-303h
180 $(call Device/aruba_glenmorangie)
181 DEVICE_MODEL := AP-303H
182 endef
183 TARGET_DEVICES += aruba_ap-303h
184
185 define Device/aruba_ap-365
186 $(call Device/aruba_glenmorangie)
187 DEVICE_MODEL := AP-365
188 DEVICE_PACKAGES := kmod-hwmon-ad7418 ipq-wifi-aruba_ap-365
189 endef
190 TARGET_DEVICES += aruba_ap-365
191
192 define Device/asus_map-ac2200
193 $(call Device/FitImageLzma)
194 DEVICE_VENDOR := ASUS
195 DEVICE_MODEL := Lyra (MAP-AC2200)
196 SOC := qcom-ipq4019
197 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k
198 endef
199 TARGET_DEVICES += asus_map-ac2200
200
201 # WARNING: this is an initramfs image that gets you half of the way there
202 # you need to delete the jffs2 ubi volume and sysupgrade to the final image
203 # to get a "trx" you can flash via web UI for ac42u/ac58u:
204 # - change call Device/FitImageLzma to Device/FitImage
205 # - add the following below UIMAGE_NAME
206 # UIMAGE_MAGIC := 0x27051956
207 # IMAGES += factory.trx
208 # IMAGE/factory.trx := copy-file $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) | uImage none
209 define Device/asus_rt-ac42u
210 $(call Device/FitImageLzma)
211 DEVICE_VENDOR := ASUS
212 DEVICE_MODEL := RT-AC42U
213 DEVICE_ALT0_VENDOR := ASUS
214 DEVICE_ALT0_MODEL := RT-ACRH17
215 DEVICE_ALT1_VENDOR := ASUS
216 DEVICE_ALT1_MODEL := RT-AC2200
217 SOC := qcom-ipq4019
218 BLOCKSIZE := 128k
219 PAGESIZE := 2048
220 IMAGE_SIZE := 20439364
221 FILESYSTEMS := squashfs
222 # RT-AC82U is nowhere to be found online
223 # Rather, this device is a/k/a RT-AC42U
224 # But we'll go with what the vendor firmware has...
225 UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U')
226 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-usb-ledtrig-usbport
227 endef
228 TARGET_DEVICES += asus_rt-ac42u
229
230 define Device/asus_rt-ac58u
231 $(call Device/FitImageLzma)
232 DEVICE_VENDOR := ASUS
233 DEVICE_MODEL := RT-AC58U
234 DEVICE_ALT0_VENDOR := ASUS
235 DEVICE_ALT0_MODEL := RT-ACRH13
236 SOC := qcom-ipq4018
237 BLOCKSIZE := 128k
238 PAGESIZE := 2048
239 IMAGE_SIZE := 20439364
240 FILESYSTEMS := squashfs
241 # Someone - in their infinite wisdom - decided to put the firmware
242 # version in front of the image name \03\00\00\04 => Version 3.0.0.4
243 # Since u-boot works with strings we either need another fixup step
244 # to add a version... or we are very careful not to add '\0' into that
245 # string and call it a day.... Yeah, we do the latter!
246 UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U')
247 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
248 kmod-usb-ledtrig-usbport
249 endef
250 TARGET_DEVICES += asus_rt-ac58u
251
252 define Device/avm_fritzbox-4040
253 $(call Device/FitImageLzma)
254 DEVICE_VENDOR := AVM
255 DEVICE_MODEL := FRITZ!Box 4040
256 SOC := qcom-ipq4018
257 BOARD_NAME := fritz4040
258 IMAGE_SIZE := 29056k
259 UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
260 UBOOT_PARTITION_SIZE := 524288
261 IMAGES += eva.bin
262 IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
263 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
264 DEVICE_PACKAGES := fritz-tffs fritz-caldata
265 endef
266 TARGET_DEVICES += avm_fritzbox-4040
267
268 define Device/avm_fritzbox-7530
269 $(call Device/FitImageLzma)
270 DEVICE_VENDOR := AVM
271 DEVICE_MODEL := FRITZ!Box 7530
272 DEVICE_ALT0_VENDOR := AVM
273 DEVICE_ALT0_MODEL := FRITZ!Box 7520
274 SOC := qcom-ipq4019
275 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
276 endef
277 TARGET_DEVICES += avm_fritzbox-7530
278
279 define Device/avm_fritzrepeater-1200
280 $(call Device/FitImageLzma)
281 DEVICE_VENDOR := AVM
282 DEVICE_MODEL := FRITZ!Repeater 1200
283 SOC := qcom-ipq4019
284 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
285 endef
286 TARGET_DEVICES += avm_fritzrepeater-1200
287
288 define Device/avm_fritzrepeater-3000
289 $(call Device/FitImageLzma)
290 DEVICE_VENDOR := AVM
291 DEVICE_MODEL := FRITZ!Repeater 3000
292 SOC := qcom-ipq4019
293 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand
294 endef
295 TARGET_DEVICES += avm_fritzrepeater-3000
296
297 define Device/buffalo_wtr-m2133hp
298 $(call Device/FitImage)
299 $(call Device/UbiFit)
300 DEVICE_VENDOR := Buffalo
301 DEVICE_MODEL := WTR-M2133HP
302 SOC := qcom-ipq4019
303 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
304 BLOCKSIZE := 128k
305 PAGESIZE := 2048
306 endef
307 TARGET_DEVICES += buffalo_wtr-m2133hp
308
309 define Device/cellc_rtl30vw
310 KERNEL_SUFFIX := -fit-zImage.itb
311 KERNEL_INITRAMFS = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
312 KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | uImage lzma | pad-to 2048
313 KERNEL_NAME := zImage
314 KERNEL_IN_UBI :=
315 IMAGES := nand-factory.bin nand-sysupgrade.bin
316 IMAGE/nand-factory.bin := append-rootfshdr | append-ubi | qsdk-ipq-factory-nand-askey
317 IMAGE/nand-sysupgrade.bin := append-rootfshdr | sysupgrade-tar | append-metadata
318 DEVICE_VENDOR := Cell C
319 DEVICE_MODEL := RTL30VW
320 SOC := qcom-ipq4019
321 DEVICE_DTS_CONFIG := config@5
322 KERNEL_INSTALL := 1
323 KERNEL_SIZE := 4096k
324 IMAGE_SIZE := 57344k
325 BLOCKSIZE := 128k
326 PAGESIZE := 2048
327 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
328 endef
329 TARGET_DEVICES += cellc_rtl30vw
330
331 define Device/cilab_meshpoint-one
332 $(call Device/8dev_jalapeno-common)
333 DEVICE_VENDOR := Crisis Innovation Lab
334 DEVICE_MODEL := MeshPoint.One
335 DEVICE_PACKAGES := kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127
336 endef
337 TARGET_DEVICES += cilab_meshpoint-one
338
339 define Device/compex_wpj419
340 $(call Device/FitImage)
341 $(call Device/UbiFit)
342 DEVICE_VENDOR := Compex
343 DEVICE_MODEL := WPJ419
344 SOC := qcom-ipq4019
345 DEVICE_DTS_CONFIG := config@12
346 KERNEL_INSTALL := 1
347 BLOCKSIZE := 128k
348 PAGESIZE := 2048
349 FILESYSTEMS := squashfs
350 endef
351 TARGET_DEVICES += compex_wpj419
352
353 define Device/compex_wpj428
354 $(call Device/FitImage)
355 DEVICE_VENDOR := Compex
356 DEVICE_MODEL := WPJ428
357 SOC := qcom-ipq4028
358 DEVICE_DTS_CONFIG := config@4
359 BLOCKSIZE := 64k
360 IMAGE_SIZE := 31232k
361 KERNEL_SIZE := 4096k
362 IMAGES += cpximg-6a04.bin
363 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
364 IMAGE/cpximg-6a04.bin := append-kernel | append-rootfs | pad-rootfs | mkmylofw_32m 0x8A2 3
365 DEVICE_PACKAGES := kmod-gpio-beeper
366 DEFAULT := n
367 endef
368 TARGET_DEVICES += compex_wpj428
369
370 define Device/devolo_magic-2-wifi-next
371 $(call Device/FitImage)
372 DEVICE_VENDOR := devolo
373 DEVICE_MODEL := Magic 2 WiFi next
374 SOC := qcom-ipq4018
375 KERNEL_SIZE := 4096k
376
377 # If the bootloader sees 0xDEADC0DE and this trailer at the 64k boundary of a TFTP image
378 # it will bootm it, just like we want for the initramfs.
379 KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to 64k |\
380 append-string -e '\xDE\xAD\xC0\xDE{"fl_initramfs":""}\x00'
381
382 IMAGE_SIZE := 26624k
383 IMAGES := sysupgrade.bin
384 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
385 DEVICE_PACKAGES := ipq-wifi-devolo_magic-2-wifi-next
386 DEFAULT := n
387 endef
388 TARGET_DEVICES += devolo_magic-2-wifi-next
389
390 define Device/dlink_dap-2610
391 $(call Device/FitImageLzma)
392 DEVICE_VENDOR := D-Link
393 DEVICE_MODEL := DAP-2610
394 SOC := qcom-ipq4018
395 DEVICE_DTS_CONFIG := config@ap.dk01.1-c1
396 BLOCKSIZE := 64k
397 WRGG_DEVNAME := /dev/mtdblock/8
398 WRGG_SIGNATURE := wapac30_dkbs_dap2610
399 IMAGE_SIZE := 14080k
400 IMAGES += factory.bin
401 # Bootloader expects a special 160 byte header which is added by
402 # wrgg-image.
403 # Factory image size must be larger than 6MB, and size in wrgg header must
404 # match actual factory image size to be flashable from D-Link http server.
405 # Bootloader verifies checksum of wrgg image before booting, thus jffs2
406 # cannot be part of the wrgg image. This is solved in the factory image by
407 # having the rootfs at the end of the image (without pad-rootfs). And in
408 # the sysupgrade image only the kernel is included in the wrgg checksum,
409 # but this is not flashable from the D-link http server.
410 # append-rootfs must start on an erase block boundary.
411 IMAGE/factory.bin := append-kernel | pad-offset 6144k 160 | append-rootfs | wrgg-image | check-size
412 IMAGE/sysupgrade.bin := append-kernel | wrgg-image | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size | append-metadata
413 endef
414 TARGET_DEVICES += dlink_dap-2610
415
416 define Device/edgecore_ecw5211
417 $(call Device/FitImage)
418 $(call Device/UbiFit)
419 DEVICE_VENDOR := Edgecore
420 DEVICE_MODEL := ECW5211
421 SOC := qcom-ipq4018
422 BLOCKSIZE := 128k
423 PAGESIZE := 2048
424 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
425 DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-usb-acm
426 endef
427 TARGET_DEVICES += edgecore_ecw5211
428
429 define Device/edgecore_oap100
430 $(call Device/FitImage)
431 $(call Device/UbiFit)
432 DEVICE_VENDOR := Edgecore
433 DEVICE_MODEL := OAP100
434 SOC := qcom-ipq4019
435 BLOCKSIZE := 128k
436 PAGESIZE := 2048
437 IMAGES := nand-sysupgrade.bin
438 DEVICE_DTS_CONFIG := config@ap.dk07.1-c1
439 DEVICE_PACKAGES := ipq-wifi-edgecore_oap100 kmod-usb-acm kmod-usb-net kmod-usb-net-cdc-qmi uqmi
440 endef
441 TARGET_DEVICES += edgecore_oap100
442
443 define Device/engenius_eap1300
444 $(call Device/FitImage)
445 DEVICE_VENDOR := EnGenius
446 DEVICE_MODEL := EAP1300
447 DEVICE_DTS_CONFIG := config@4
448 BOARD_NAME := eap1300
449 SOC := qcom-ipq4018
450 KERNEL_SIZE := 5120k
451 IMAGE_SIZE := 25344k
452 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
453 endef
454 TARGET_DEVICES += engenius_eap1300
455
456 define Device/engenius_eap2200
457 $(call Device/FitImage)
458 $(call Device/UbiFit)
459 DEVICE_VENDOR := EnGenius
460 DEVICE_MODEL := EAP2200
461 SOC := qcom-ipq4019
462 BLOCKSIZE := 128k
463 PAGESIZE := 2048
464 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
465 endef
466 TARGET_DEVICES += engenius_eap2200
467
468 define Device/engenius_emd1
469 $(call Device/FitImage)
470 DEVICE_VENDOR := EnGenius
471 DEVICE_MODEL := EMD1
472 DEVICE_DTS_CONFIG := config@4
473 SOC := qcom-ipq4018
474 IMAGE_SIZE := 30720k
475 IMAGES += factory.bin
476 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
477 IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
478 endef
479 TARGET_DEVICES += engenius_emd1
480
481 define Device/engenius_emr3500
482 $(call Device/FitImage)
483 DEVICE_VENDOR := EnGenius
484 DEVICE_MODEL := EMR3500
485 DEVICE_DTS_CONFIG := config@4
486 SOC := qcom-ipq4018
487 KERNEL_SIZE := 4096k
488 IMAGE_SIZE := 30720k
489 IMAGES += factory.bin
490 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
491 IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
492 DEFAULT := n
493 endef
494 TARGET_DEVICES += engenius_emr3500
495
496 define Device/engenius_ens620ext
497 $(call Device/FitImage)
498 DEVICE_VENDOR := EnGenius
499 DEVICE_MODEL := ENS620EXT
500 SOC := qcom-ipq4018
501 DEVICE_DTS_CONFIG := config@4
502 BLOCKSIZE := 64k
503 PAGESIZE := 256
504 BOARD_NAME := ENS620EXT
505 VENDOR_ID := 0x0101
506 PRODUCT_ID := 0x79
507 PRODUCT_ID_NEW := 0xA4
508 DATECODE := 190507
509 FW_VER := 3.1.2
510 FW_VER_NEW := 3.5.6
511 CW_VER := 1.8.99
512 IMAGE_SIZE := 21312k
513 KERNEL_SIZE := 5120k
514 FILESYSTEMS := squashfs
515 IMAGES += factory_30.bin factory_35.bin
516 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
517 IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
518 IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
519 endef
520 TARGET_DEVICES += engenius_ens620ext
521
522 define Device/ezviz_cs-w3-wd1200g-eup
523 $(call Device/FitImage)
524 DEVICE_VENDOR := EZVIZ
525 DEVICE_MODEL := CS-W3-WD1200G
526 DEVICE_VARIANT := EUP
527 IMAGE_SIZE := 14848k
528 KERNEL_SIZE = 6m
529 SOC := qcom-ipq4018
530 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
531 append-metadata
532 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
533 DEVICE_COMPAT_VERSION := 2.0
534 DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated (see wiki). \
535 Upgrade via sysupgrade mechanism is not possible.
536 endef
537 TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
538
539 define Device/glinet_gl-ap1300
540 $(call Device/FitImage)
541 $(call Device/UbiFit)
542 DEVICE_VENDOR := GL.iNet
543 DEVICE_MODEL := GL-AP1300
544 SOC := qcom-ipq4018
545 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
546 BLOCKSIZE := 128k
547 PAGESIZE := 2048
548 IMAGE_SIZE := 131072k
549 KERNEL_INSTALL := 1
550 DEVICE_PACKAGES := ipq-wifi-glinet_gl-ap1300
551 endef
552 TARGET_DEVICES += glinet_gl-ap1300
553
554 define Device/glinet_gl-b1300
555 $(call Device/FitzImage)
556 DEVICE_VENDOR := GL.iNet
557 DEVICE_MODEL := GL-B1300
558 BOARD_NAME := gl-b1300
559 SOC := qcom-ipq4029
560 KERNEL_SIZE := 4096k
561 IMAGE_SIZE := 26624k
562 IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
563 endef
564 TARGET_DEVICES += glinet_gl-b1300
565
566 define Device/glinet_gl-b2200
567 $(call Device/FitzImage)
568 DEVICE_VENDOR := GL.iNet
569 DEVICE_MODEL := GL-B2200
570 SOC := qcom-ipq4019
571 DEVICE_DTS_CONFIG := config@ap.dk04.1-c3
572 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
573 IMAGES := emmc.img.gz sysupgrade.bin
574 IMAGE/emmc.img.gz := qsdk-ipq-app-gpt |\
575 pad-to 1024k | append-kernel |\
576 pad-to 33792k | append-rootfs |\
577 append-metadata | gzip
578 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
579 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-glinet_gl-b2200 \
580 kmod-fs-ext4 kmod-mmc kmod-spi-dev mkf2fs e2fsprogs kmod-fs-f2fs
581 endef
582 TARGET_DEVICES += glinet_gl-b2200
583
584 define Device/glinet_gl-s1300
585 $(call Device/FitzImage)
586 DEVICE_VENDOR := GL.iNet
587 DEVICE_MODEL := GL-S1300
588 SOC := qcom-ipq4029
589 KERNEL_SIZE := 4096k
590 IMAGE_SIZE := 26624k
591 IMAGES := sysupgrade.bin
592 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
593 DEVICE_PACKAGES := ipq-wifi-glinet_gl-s1300 kmod-fs-ext4 kmod-mmc kmod-spi-dev
594 endef
595 TARGET_DEVICES += glinet_gl-s1300
596
597 define Device/linksys_ea6350v3
598 # The Linksys EA6350v3 has a uboot bootloader that does not
599 # support either booting lzma kernel images nor booting UBI
600 # partitions. This uboot, however, supports raw kernel images and
601 # gzipped images.
602 #
603 # As for the time of writing this, the device will boot the kernel
604 # from a fixed address with a fixed length of 3MiB. Also, the
605 # device has a hard-coded kernel command line that requieres the
606 # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
607 # Oh... and the kernel partition overlaps with the rootfs
608 # partition (the same for alt_kernel and alt_rootfs).
609 #
610 # If you are planing re-partitioning the device, you may want to
611 # keep those details in mind:
612 # 1. The kernel adresses you should honor are 0x00000000 and
613 # 0x02800000 respectively.
614 # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
615 # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
616 # 4. The kernel command line from uboot is harcoded to boot with
617 # rootfs either in mtd11 or mtd13.
618 $(call Device/FitzImage)
619 DEVICE_VENDOR := Linksys
620 DEVICE_MODEL := EA6350
621 DEVICE_VARIANT := v3
622 SOC := qcom-ipq4018
623 BLOCKSIZE := 128k
624 PAGESIZE := 2048
625 KERNEL_SIZE := 3072k
626 IMAGE_SIZE := 37888k
627 UBINIZE_OPTS := -E 5
628 IMAGES += factory.bin
629 IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
630 endef
631 TARGET_DEVICES += linksys_ea6350v3
632
633 define Device/linksys_ea8300
634 $(call Device/FitzImage)
635 DEVICE_VENDOR := Linksys
636 DEVICE_MODEL := EA8300
637 SOC := qcom-ipq4019
638 KERNEL_SIZE := 3072k
639 IMAGE_SIZE := 87040k
640 BLOCKSIZE := 128k
641 PAGESIZE := 2048
642 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
643 IMAGES += factory.bin
644 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
645 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
646 endef
647 TARGET_DEVICES += linksys_ea8300
648
649 define Device/linksys_mr8300
650 $(call Device/FitzImage)
651 DEVICE_VENDOR := Linksys
652 DEVICE_MODEL := MR8300
653 SOC := qcom-ipq4019
654 KERNEL_SIZE := 3072k
655 IMAGE_SIZE := 87040k
656 BLOCKSIZE := 128k
657 PAGESIZE := 2048
658 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
659 IMAGES += factory.bin
660 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
661 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
662 endef
663 TARGET_DEVICES += linksys_mr8300
664
665 define Device/linksys_whw01-v1
666 $(call Device/FitzImage)
667 DEVICE_VENDOR := Linksys
668 DEVICE_MODEL := WHW01
669 DEVICE_VARIANT := v1
670 KERNEL_SIZE := 6144k
671 IMAGE_SIZE := 28704512 # 28032k minus linksys signature (256-bytes).
672 SOC := qcom-ipq4018
673 BLOCKSIZE := 128k
674 PAGESIZE := 2048
675 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
676 IMAGES += factory.bin
677 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
678 append-ubi | linksys-image type=WHW01 | pad-to $$$$(PAGESIZE) | \
679 check-size
680 DEVICE_PACKAGES := uboot-envtools kmod-leds-pca963x
681 endef
682 TARGET_DEVICES += linksys_whw01-v1
683
684 define Device/luma_wrtq-329acn
685 $(call Device/FitImage)
686 DEVICE_VENDOR := Luma Home
687 DEVICE_MODEL := WRTQ-329ACN
688 SOC := qcom-ipq4018
689 DEVICE_PACKAGES := kmod-ath3k kmod-eeprom-at24 kmod-i2c-gpio
690 IMAGE_SIZE := 76632k
691 BLOCKSIZE := 128k
692 PAGESIZE := 2048
693 endef
694 TARGET_DEVICES += luma_wrtq-329acn
695
696 define Device/meraki_mr33
697 $(call Device/FitImage)
698 DEVICE_VENDOR := Cisco Meraki
699 DEVICE_MODEL := MR33
700 SOC := qcom-ipq4029
701 BLOCKSIZE := 128k
702 PAGESIZE := 2048
703 DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
704 endef
705 TARGET_DEVICES += meraki_mr33
706
707 define Device/mobipromo_cm520-79f
708 $(call Device/FitzImage)
709 $(call Device/UbiFit)
710 DEVICE_VENDOR := MobiPromo
711 DEVICE_MODEL := CM520-79F
712 SOC := qcom-ipq4019
713 BLOCKSIZE := 128k
714 PAGESIZE := 2048
715 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
716 endef
717 TARGET_DEVICES += mobipromo_cm520-79f
718
719 define Device/netgear_ex61x0v2
720 $(call Device/DniImage)
721 DEVICE_VENDOR := NETGEAR
722 DEVICE_DTS_CONFIG := config@4
723 NETGEAR_BOARD_ID := EX6150v2series
724 NETGEAR_HW_ID := 29765285+16+0+128+2x2
725 IMAGE_SIZE := 14400k
726 SOC := qcom-ipq4018
727 endef
728
729 define Device/netgear_ex6100v2
730 $(call Device/netgear_ex61x0v2)
731 DEVICE_MODEL := EX6100
732 DEVICE_VARIANT := v2
733 endef
734 TARGET_DEVICES += netgear_ex6100v2
735
736 define Device/netgear_ex6150v2
737 $(call Device/netgear_ex61x0v2)
738 DEVICE_MODEL := EX6150
739 DEVICE_VARIANT := v2
740 endef
741 TARGET_DEVICES += netgear_ex6150v2
742
743 define Device/netgear_orbi
744 $(call Device/DniImage)
745 SOC := qcom-ipq4019
746 DEVICE_VENDOR := NETGEAR
747 IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
748 append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
749 append-rootfs | pad-rootfs | netgear-dni
750 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
751 sysupgrade-tar rootfs=$$$$@ | append-metadata
752 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
753 endef
754
755 define Device/netgear_rbx50
756 $(call Device/netgear_orbi)
757 NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4
758 KERNEL_SIZE := 3932160
759 ROOTFS_SIZE := 32243712
760 IMAGE_SIZE := 36175872
761 endef
762
763 define Device/netgear_rbr50
764 $(call Device/netgear_rbx50)
765 DEVICE_MODEL := RBR50
766 DEVICE_VARIANT := v1
767 NETGEAR_BOARD_ID := RBR50
768 endef
769 TARGET_DEVICES += netgear_rbr50
770
771 define Device/netgear_rbs50
772 $(call Device/netgear_rbx50)
773 DEVICE_MODEL := RBS50
774 DEVICE_VARIANT := v1
775 NETGEAR_BOARD_ID := RBS50
776 endef
777 TARGET_DEVICES += netgear_rbs50
778
779 define Device/netgear_srx60
780 $(call Device/netgear_orbi)
781 NETGEAR_HW_ID := 29765352+0+4096+512+2x2+2x2+4x4
782 KERNEL_SIZE := 3932160
783 ROOTFS_SIZE := 32243712
784 IMAGE_SIZE := 36175872
785 endef
786
787 define Device/netgear_srr60
788 $(call Device/netgear_srx60)
789 DEVICE_MODEL := SRR60
790 NETGEAR_BOARD_ID := SRR60
791 endef
792 TARGET_DEVICES += netgear_srr60
793
794 define Device/netgear_srs60
795 $(call Device/netgear_srx60)
796 DEVICE_MODEL := SRS60
797 NETGEAR_BOARD_ID := SRS60
798 endef
799 TARGET_DEVICES += netgear_srs60
800
801 define Device/netgear_wac510
802 $(call Device/FitImage)
803 $(call Device/UbiFit)
804 DEVICE_VENDOR := Netgear
805 DEVICE_MODEL := WAC510
806 SOC := qcom-ipq4018
807 DEVICE_DTS_CONFIG := config@5
808 BLOCKSIZE := 128k
809 PAGESIZE := 2048
810 IMAGES += nand-factory.tar
811 IMAGE/nand-factory.tar := append-ubi | wac5xx-netgear-tar
812 DEVICE_PACKAGES := uboot-envtools
813 endef
814 TARGET_DEVICES += netgear_wac510
815
816 define Device/openmesh_a42
817 $(call Device/FitImageLzma)
818 DEVICE_VENDOR := OpenMesh
819 DEVICE_MODEL := A42
820 SOC := qcom-ipq4018
821 DEVICE_DTS_CONFIG := config@om.a42
822 BLOCKSIZE := 64k
823 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
824 IMAGE_SIZE := 15616k
825 IMAGES += factory.bin
826 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
827 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
828 endef
829 TARGET_DEVICES += openmesh_a42
830
831 define Device/openmesh_a62
832 $(call Device/FitImageLzma)
833 DEVICE_VENDOR := OpenMesh
834 DEVICE_MODEL := A62
835 SOC := qcom-ipq4019
836 DEVICE_DTS_CONFIG := config@om.a62
837 BLOCKSIZE := 64k
838 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
839 IMAGE_SIZE := 15552k
840 IMAGES += factory.bin
841 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
842 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
843 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
844 endef
845 TARGET_DEVICES += openmesh_a62
846
847 define Device/p2w_r619ac
848 $(call Device/FitzImage)
849 $(call Device/UbiFit)
850 DEVICE_VENDOR := P&W
851 DEVICE_MODEL := R619AC
852 SOC := qcom-ipq4019
853 DEVICE_DTS_CONFIG := config@10
854 BLOCKSIZE := 128k
855 PAGESIZE := 2048
856 DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
857 endef
858
859 define Device/p2w_r619ac-64m
860 $(call Device/p2w_r619ac)
861 DEVICE_VARIANT := 64M NAND
862 IMAGES += nand-factory.bin
863 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
864 endef
865 TARGET_DEVICES += p2w_r619ac-64m
866
867 define Device/p2w_r619ac-128m
868 $(call Device/p2w_r619ac)
869 DEVICE_VARIANT := 128M NAND
870 endef
871 TARGET_DEVICES += p2w_r619ac-128m
872
873 define Device/plasmacloud_pa1200
874 $(call Device/FitImageLzma)
875 DEVICE_VENDOR := Plasma Cloud
876 DEVICE_MODEL := PA1200
877 SOC := qcom-ipq4018
878 DEVICE_DTS_CONFIG := config@pc.pa1200
879 BLOCKSIZE := 64k
880 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
881 IMAGE_SIZE := 15616k
882 IMAGES += factory.bin
883 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
884 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
885 endef
886 TARGET_DEVICES += plasmacloud_pa1200
887
888 define Device/plasmacloud_pa2200
889 $(call Device/FitImageLzma)
890 DEVICE_VENDOR := Plasma Cloud
891 DEVICE_MODEL := PA2200
892 SOC := qcom-ipq4019
893 DEVICE_DTS_CONFIG := config@pc.pa2200
894 BLOCKSIZE := 64k
895 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
896 IMAGE_SIZE := 15552k
897 IMAGES += factory.bin
898 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA2200
899 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
900 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
901 endef
902 TARGET_DEVICES += plasmacloud_pa2200
903
904 define Device/qcom_ap-dk01.1-c1
905 DEVICE_VENDOR := Qualcomm Atheros
906 DEVICE_MODEL := AP-DK01.1
907 DEVICE_VARIANT := C1
908 BOARD_NAME := ap-dk01.1-c1
909 SOC := qcom-ipq4019
910 DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
911 KERNEL_INSTALL := 1
912 KERNEL_SIZE := 4096k
913 IMAGE_SIZE := 26624k
914 $(call Device/FitImage)
915 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
916 DEFAULT := n
917 endef
918 TARGET_DEVICES += qcom_ap-dk01.1-c1
919
920 define Device/qcom_ap-dk04.1-c1
921 $(call Device/FitImage)
922 $(call Device/UbiFit)
923 DEVICE_VENDOR := Qualcomm Atheros
924 DEVICE_MODEL := AP-DK04.1
925 DEVICE_VARIANT := C1
926 SOC := qcom-ipq4019
927 DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
928 KERNEL_INSTALL := 1
929 KERNEL_SIZE := 4048k
930 BLOCKSIZE := 128k
931 PAGESIZE := 2048
932 BOARD_NAME := ap-dk04.1-c1
933 DEFAULT := n
934 endef
935 TARGET_DEVICES += qcom_ap-dk04.1-c1
936
937 define Device/qxwlan_e2600ac-c1
938 $(call Device/FitImage)
939 DEVICE_VENDOR := Qxwlan
940 DEVICE_MODEL := E2600AC
941 DEVICE_VARIANT := C1
942 BOARD_NAME := e2600ac-c1
943 SOC := qcom-ipq4019
944 KERNEL_SIZE := 4096k
945 IMAGE_SIZE := 31232k
946 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
947 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c1
948 DEFAULT := n
949 endef
950 TARGET_DEVICES += qxwlan_e2600ac-c1
951
952 define Device/qxwlan_e2600ac-c2
953 $(call Device/FitImage)
954 $(call Device/UbiFit)
955 DEVICE_VENDOR := Qxwlan
956 DEVICE_MODEL := E2600AC
957 DEVICE_VARIANT := C2
958 SOC := qcom-ipq4019
959 KERNEL_INSTALL := 1
960 BLOCKSIZE := 128k
961 PAGESIZE := 2048
962 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c2
963 endef
964 TARGET_DEVICES += qxwlan_e2600ac-c2
965
966 define Device/teltonika_rutx10
967 $(call Device/FitImage)
968 $(call Device/UbiFit)
969 DEVICE_VENDOR := Teltonika
970 DEVICE_MODEL := RUTX10
971 SOC := qcom-ipq4018
972 DEVICE_DTS_CONFIG := config@5
973 KERNEL_INSTALL := 1
974 BLOCKSIZE := 128k
975 PAGESIZE := 2048
976 FILESYSTEMS := squashfs
977 IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata
978 DEVICE_PACKAGES := ipq-wifi-teltonika_rutx kmod-bluetooth
979 endef
980 TARGET_DEVICES += teltonika_rutx10
981
982 define Device/tel_x1pro
983 $(call Device/FitImage)
984 DEVICE_VENDOR := Telco
985 DEVICE_MODEL := X1 Pro
986 SOC := qcom-ipq4019
987 KERNEL_SIZE := 4096k
988 IMAGE_SIZE := 31232k
989 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
990 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
991 DEFAULT := n
992 endef
993 TARGET_DEVICES += tel_x1pro
994
995 define Device/unielec_u4019-32m
996 $(call Device/FitImage)
997 DEVICE_VENDOR := Unielec
998 DEVICE_MODEL := U4019
999 DEVICE_VARIANT := 32M
1000 BOARD_NAME := u4019-32m
1001 SOC := qcom-ipq4019
1002 KERNEL_SIZE := 4096k
1003 IMAGE_SIZE := 31232k
1004 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1005 DEFAULT := n
1006 endef
1007 TARGET_DEVICES += unielec_u4019-32m
1008
1009 define Device/zte_mf286d
1010 $(call Device/FitzImage)
1011 DEVICE_VENDOR := ZTE
1012 DEVICE_MODEL := MF286D
1013 SOC := qcom-ipq4019
1014 DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
1015 BLOCKSIZE := 128k
1016 PAGESIZE := 2048
1017 KERNEL_IN_UBI := 1
1018 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
1019 endef
1020 TARGET_DEVICES += zte_mf286d
1021
1022 define Device/zyxel_nbg6617
1023 $(call Device/FitImageLzma)
1024 DEVICE_VENDOR := ZyXEL
1025 DEVICE_MODEL := NBG6617
1026 SOC := qcom-ipq4018
1027 KERNEL_SIZE := 4096k
1028 ROOTFS_SIZE := 24960k
1029 RAS_BOARD := NBG6617
1030 RAS_ROOTFS_SIZE := 19840k
1031 RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
1032 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1033 IMAGES += factory.bin
1034 # The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
1035 # at least as large as the one of the initial firmware image (not the current
1036 # one on the device). This only applies to the Web-UI, the bootlaoder ignores
1037 # this minimum-size. However, the larger image can be flashed both ways.
1038 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
1039 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
1040 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
1041 endef
1042 TARGET_DEVICES += zyxel_nbg6617
1043
1044 define Device/zyxel_wre6606
1045 $(call Device/FitImage)
1046 DEVICE_VENDOR := ZyXEL
1047 DEVICE_MODEL := WRE6606
1048 DEVICE_DTS_CONFIG := config@4
1049 SOC := qcom-ipq4018
1050 IMAGE_SIZE := 13184k
1051 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
1052 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
1053 endef
1054 TARGET_DEVICES += zyxel_wre6606