ipq40xx: add support for FRITZ!Box 7520
[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 DEVICE_PACKAGES := ipq-wifi-8dev_habanero-dvk
134 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | check-size | append-metadata
135 endef
136 TARGET_DEVICES += 8dev_habanero-dvk
137
138 define Device/8dev_jalapeno-common
139 $(call Device/FitImage)
140 $(call Device/UbiFit)
141 BLOCKSIZE := 128k
142 PAGESIZE := 2048
143 SOC := qcom-ipq4018
144 endef
145
146 define Device/8dev_jalapeno
147 $(call Device/8dev_jalapeno-common)
148 DEVICE_VENDOR := 8devices
149 DEVICE_MODEL := Jalapeno
150 endef
151 TARGET_DEVICES += 8dev_jalapeno
152
153 define Device/alfa-network_ap120c-ac
154 $(call Device/FitImage)
155 $(call Device/UbiFit)
156 DEVICE_VENDOR := ALFA Network
157 DEVICE_MODEL := AP120C-AC
158 SOC := qcom-ipq4018
159 DEVICE_PACKAGES := kmod-usb-acm kmod-tpm-i2c-atmel
160 BLOCKSIZE := 128k
161 PAGESIZE := 2048
162 IMAGE_SIZE := 65536k
163 IMAGES := nand-factory.bin nand-sysupgrade.bin
164 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
165 endef
166 TARGET_DEVICES += alfa-network_ap120c-ac
167
168 define Device/aruba_glenmorangie
169 $(call Device/FitImageLzma)
170 DEVICE_VENDOR := Aruba
171 SOC := qcom-ipq4029
172 DEVICE_PACKAGES := ipq-wifi-aruba_ap-303
173 endef
174
175 define Device/aruba_ap-303
176 $(call Device/aruba_glenmorangie)
177 DEVICE_MODEL := AP-303
178 endef
179 TARGET_DEVICES += aruba_ap-303
180
181 define Device/aruba_ap-303h
182 $(call Device/aruba_glenmorangie)
183 DEVICE_MODEL := AP-303H
184 endef
185 TARGET_DEVICES += aruba_ap-303h
186
187 define Device/aruba_ap-365
188 $(call Device/aruba_glenmorangie)
189 DEVICE_MODEL := AP-365
190 DEVICE_PACKAGES += kmod-hwmon-ad7418
191 endef
192 TARGET_DEVICES += aruba_ap-365
193
194 define Device/asus_map-ac2200
195 $(call Device/FitImageLzma)
196 DEVICE_VENDOR := ASUS
197 DEVICE_MODEL := Lyra (MAP-AC2200)
198 SOC := qcom-ipq4019
199 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k
200 endef
201 TARGET_DEVICES += asus_map-ac2200
202
203 # WARNING: this is an initramfs image that gets you half of the way there
204 # you need to delete the jffs2 ubi volume and sysupgrade to the final image
205 # to get a "trx" you can flash via web UI for ac42u/ac58u:
206 # - change call Device/FitImageLzma to Device/FitImage
207 # - add the following below UIMAGE_NAME
208 # UIMAGE_MAGIC := 0x27051956
209 # IMAGES += factory.trx
210 # IMAGE/factory.trx := copy-file $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) | uImage none
211 define Device/asus_rt-ac42u
212 $(call Device/FitImageLzma)
213 DEVICE_VENDOR := ASUS
214 DEVICE_MODEL := RT-AC42U
215 DEVICE_ALT0_VENDOR := ASUS
216 DEVICE_ALT0_MODEL := RT-ACRH17
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 ipq-wifi-asus_rt-ac42u 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 ipq-wifi-avm_fritzrepeater-1200
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 ipq-wifi-buffalo_wtr-m2133hp
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 ipq-wifi-cellc_rtl30vw
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 DEVICE_PACKAGES := ipq-wifi-dlink_dap2610
414 endef
415 TARGET_DEVICES += dlink_dap-2610
416
417 define Device/edgecore_ecw5211
418 $(call Device/FitImage)
419 $(call Device/UbiFit)
420 DEVICE_VENDOR := Edgecore
421 DEVICE_MODEL := ECW5211
422 SOC := qcom-ipq4018
423 BLOCKSIZE := 128k
424 PAGESIZE := 2048
425 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
426 DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-usb-acm
427 endef
428 TARGET_DEVICES += edgecore_ecw5211
429
430 define Device/edgecore_oap100
431 $(call Device/FitImage)
432 $(call Device/UbiFit)
433 DEVICE_VENDOR := Edgecore
434 DEVICE_MODEL := OAP100
435 SOC := qcom-ipq4019
436 BLOCKSIZE := 128k
437 PAGESIZE := 2048
438 IMAGES := nand-sysupgrade.bin
439 DEVICE_DTS_CONFIG := config@ap.dk07.1-c1
440 DEVICE_PACKAGES := ipq-wifi-edgecore_oap100 kmod-usb-acm kmod-usb-net kmod-usb-net-cdc-qmi uqmi
441 endef
442 TARGET_DEVICES += edgecore_oap100
443
444 define Device/engenius_eap1300
445 $(call Device/FitImage)
446 DEVICE_VENDOR := EnGenius
447 DEVICE_MODEL := EAP1300
448 DEVICE_DTS_CONFIG := config@4
449 BOARD_NAME := eap1300
450 SOC := qcom-ipq4018
451 KERNEL_SIZE := 5120k
452 IMAGE_SIZE := 25344k
453 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
454 endef
455 TARGET_DEVICES += engenius_eap1300
456
457 define Device/engenius_eap2200
458 $(call Device/FitImage)
459 $(call Device/UbiFit)
460 DEVICE_VENDOR := EnGenius
461 DEVICE_MODEL := EAP2200
462 SOC := qcom-ipq4019
463 BLOCKSIZE := 128k
464 PAGESIZE := 2048
465 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-engenius_eap2200 -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
466 endef
467 TARGET_DEVICES += engenius_eap2200
468
469 define Device/engenius_emd1
470 $(call Device/FitImage)
471 DEVICE_VENDOR := EnGenius
472 DEVICE_MODEL := EMD1
473 DEVICE_DTS_CONFIG := config@4
474 SOC := qcom-ipq4018
475 IMAGE_SIZE := 30720k
476 IMAGES += factory.bin
477 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
478 IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
479 DEVICE_PACKAGES := ipq-wifi-engenius_emd1
480 endef
481 TARGET_DEVICES += engenius_emd1
482
483 define Device/engenius_emr3500
484 $(call Device/FitImage)
485 DEVICE_VENDOR := EnGenius
486 DEVICE_MODEL := EMR3500
487 DEVICE_DTS_CONFIG := config@4
488 SOC := qcom-ipq4018
489 KERNEL_SIZE := 4096k
490 IMAGE_SIZE := 30720k
491 IMAGES += factory.bin
492 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
493 IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
494 DEVICE_PACKAGES := ipq-wifi-engenius_emr3500
495 DEFAULT := n
496 endef
497 TARGET_DEVICES += engenius_emr3500
498
499 define Device/engenius_ens620ext
500 $(call Device/FitImage)
501 DEVICE_VENDOR := EnGenius
502 DEVICE_MODEL := ENS620EXT
503 SOC := qcom-ipq4018
504 DEVICE_DTS_CONFIG := config@4
505 BLOCKSIZE := 64k
506 PAGESIZE := 256
507 BOARD_NAME := ENS620EXT
508 VENDOR_ID := 0x0101
509 PRODUCT_ID := 0x79
510 PRODUCT_ID_NEW := 0xA4
511 DATECODE := 190507
512 FW_VER := 3.1.2
513 FW_VER_NEW := 3.5.6
514 CW_VER := 1.8.99
515 IMAGE_SIZE := 21312k
516 KERNEL_SIZE := 5120k
517 FILESYSTEMS := squashfs
518 IMAGES += factory_30.bin factory_35.bin
519 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
520 IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
521 IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
522 endef
523 TARGET_DEVICES += engenius_ens620ext
524
525 define Device/ezviz_cs-w3-wd1200g-eup
526 $(call Device/FitImage)
527 DEVICE_VENDOR := EZVIZ
528 DEVICE_MODEL := CS-W3-WD1200G
529 DEVICE_VARIANT := EUP
530 IMAGE_SIZE := 14848k
531 KERNEL_SIZE = 6m
532 SOC := qcom-ipq4018
533 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
534 append-metadata
535 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
536 ipq-wifi-ezviz_cs-w3-wd1200g-eup
537 DEVICE_COMPAT_VERSION := 2.0
538 DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated (see wiki). \
539 Upgrade via sysupgrade mechanism is not possible.
540 endef
541 TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
542
543 define Device/glinet_gl-ap1300
544 $(call Device/FitImage)
545 $(call Device/UbiFit)
546 DEVICE_VENDOR := GL.iNet
547 DEVICE_MODEL := GL-AP1300
548 SOC := qcom-ipq4018
549 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
550 BLOCKSIZE := 128k
551 PAGESIZE := 2048
552 IMAGE_SIZE := 131072k
553 KERNEL_INSTALL := 1
554 DEVICE_PACKAGES := ipq-wifi-glinet_gl-ap1300
555 endef
556 TARGET_DEVICES += glinet_gl-ap1300
557
558 define Device/glinet_gl-b1300
559 $(call Device/FitzImage)
560 DEVICE_VENDOR := GL.iNet
561 DEVICE_MODEL := GL-B1300
562 BOARD_NAME := gl-b1300
563 SOC := qcom-ipq4029
564 KERNEL_SIZE := 4096k
565 IMAGE_SIZE := 26624k
566 IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
567 endef
568 TARGET_DEVICES += glinet_gl-b1300
569
570 define Device/glinet_gl-b2200
571 $(call Device/FitzImage)
572 DEVICE_VENDOR := GL.iNet
573 DEVICE_MODEL := GL-B2200
574 SOC := qcom-ipq4019
575 DEVICE_DTS_CONFIG := config@ap.dk04.1-c3
576 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
577 IMAGES := emmc.img.gz sysupgrade.bin
578 IMAGE/emmc.img.gz := qsdk-ipq-app-gpt |\
579 pad-to 1024k | append-kernel |\
580 pad-to 33792k | append-rootfs |\
581 append-metadata | gzip
582 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
583 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-glinet_gl-b2200 \
584 kmod-fs-ext4 kmod-mmc kmod-spi-dev mkf2fs e2fsprogs kmod-fs-f2fs
585 endef
586 TARGET_DEVICES += glinet_gl-b2200
587
588 define Device/glinet_gl-s1300
589 $(call Device/FitzImage)
590 DEVICE_VENDOR := GL.iNet
591 DEVICE_MODEL := GL-S1300
592 SOC := qcom-ipq4029
593 KERNEL_SIZE := 4096k
594 IMAGE_SIZE := 26624k
595 IMAGES := sysupgrade.bin
596 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
597 DEVICE_PACKAGES := ipq-wifi-glinet_gl-s1300 kmod-fs-ext4 kmod-mmc kmod-spi-dev
598 endef
599 TARGET_DEVICES += glinet_gl-s1300
600
601 define Device/linksys_ea6350v3
602 # The Linksys EA6350v3 has a uboot bootloader that does not
603 # support either booting lzma kernel images nor booting UBI
604 # partitions. This uboot, however, supports raw kernel images and
605 # gzipped images.
606 #
607 # As for the time of writing this, the device will boot the kernel
608 # from a fixed address with a fixed length of 3MiB. Also, the
609 # device has a hard-coded kernel command line that requieres the
610 # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
611 # Oh... and the kernel partition overlaps with the rootfs
612 # partition (the same for alt_kernel and alt_rootfs).
613 #
614 # If you are planing re-partitioning the device, you may want to
615 # keep those details in mind:
616 # 1. The kernel adresses you should honor are 0x00000000 and
617 # 0x02800000 respectively.
618 # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
619 # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
620 # 4. The kernel command line from uboot is harcoded to boot with
621 # rootfs either in mtd11 or mtd13.
622 $(call Device/FitzImage)
623 DEVICE_VENDOR := Linksys
624 DEVICE_MODEL := EA6350
625 DEVICE_VARIANT := v3
626 SOC := qcom-ipq4018
627 BLOCKSIZE := 128k
628 PAGESIZE := 2048
629 KERNEL_SIZE := 3072k
630 IMAGE_SIZE := 37888k
631 UBINIZE_OPTS := -E 5
632 IMAGES += factory.bin
633 IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
634 endef
635 TARGET_DEVICES += linksys_ea6350v3
636
637 define Device/linksys_ea8300
638 $(call Device/FitzImage)
639 DEVICE_VENDOR := Linksys
640 DEVICE_MODEL := EA8300
641 SOC := qcom-ipq4019
642 KERNEL_SIZE := 3072k
643 IMAGE_SIZE := 87040k
644 BLOCKSIZE := 128k
645 PAGESIZE := 2048
646 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
647 IMAGES += factory.bin
648 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
649 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
650 endef
651 TARGET_DEVICES += linksys_ea8300
652
653 define Device/linksys_mr8300
654 $(call Device/FitzImage)
655 DEVICE_VENDOR := Linksys
656 DEVICE_MODEL := MR8300
657 SOC := qcom-ipq4019
658 KERNEL_SIZE := 3072k
659 IMAGE_SIZE := 87040k
660 BLOCKSIZE := 128k
661 PAGESIZE := 2048
662 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
663 IMAGES += factory.bin
664 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
665 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_mr8300-v0 kmod-usb-ledtrig-usbport
666 endef
667 TARGET_DEVICES += linksys_mr8300
668
669 define Device/luma_wrtq-329acn
670 $(call Device/FitImage)
671 DEVICE_VENDOR := Luma Home
672 DEVICE_MODEL := WRTQ-329ACN
673 SOC := qcom-ipq4018
674 DEVICE_PACKAGES := ipq-wifi-luma_wrtq-329acn kmod-ath3k kmod-eeprom-at24 kmod-i2c-gpio
675 IMAGE_SIZE := 76632k
676 BLOCKSIZE := 128k
677 PAGESIZE := 2048
678 endef
679 TARGET_DEVICES += luma_wrtq-329acn
680
681 define Device/meraki_mr33
682 $(call Device/FitImage)
683 DEVICE_VENDOR := Cisco Meraki
684 DEVICE_MODEL := MR33
685 SOC := qcom-ipq4029
686 BLOCKSIZE := 128k
687 PAGESIZE := 2048
688 DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
689 endef
690 TARGET_DEVICES += meraki_mr33
691
692 define Device/mobipromo_cm520-79f
693 $(call Device/FitzImage)
694 $(call Device/UbiFit)
695 DEVICE_VENDOR := MobiPromo
696 DEVICE_MODEL := CM520-79F
697 SOC := qcom-ipq4019
698 BLOCKSIZE := 128k
699 PAGESIZE := 2048
700 DEVICE_PACKAGES := ipq-wifi-mobipromo_cm520-79f kmod-usb-ledtrig-usbport
701 endef
702 TARGET_DEVICES += mobipromo_cm520-79f
703
704 define Device/netgear_ex61x0v2
705 $(call Device/DniImage)
706 DEVICE_VENDOR := NETGEAR
707 DEVICE_DTS_CONFIG := config@4
708 NETGEAR_BOARD_ID := EX6150v2series
709 NETGEAR_HW_ID := 29765285+16+0+128+2x2
710 IMAGE_SIZE := 14400k
711 SOC := qcom-ipq4018
712 endef
713
714 define Device/netgear_ex6100v2
715 $(call Device/netgear_ex61x0v2)
716 DEVICE_MODEL := EX6100
717 DEVICE_VARIANT := v2
718 endef
719 TARGET_DEVICES += netgear_ex6100v2
720
721 define Device/netgear_ex6150v2
722 $(call Device/netgear_ex61x0v2)
723 DEVICE_MODEL := EX6150
724 DEVICE_VARIANT := v2
725 endef
726 TARGET_DEVICES += netgear_ex6150v2
727
728 define Device/netgear_orbi
729 $(call Device/DniImage)
730 SOC := qcom-ipq4019
731 DEVICE_VENDOR := NETGEAR
732 IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
733 append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
734 append-rootfs | pad-rootfs | netgear-dni
735 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
736 sysupgrade-tar rootfs=$$$$@ | append-metadata
737 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
738 endef
739
740 define Device/netgear_rbx50
741 $(call Device/netgear_orbi)
742 NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4
743 KERNEL_SIZE := 3932160
744 ROOTFS_SIZE := 32243712
745 IMAGE_SIZE := 36175872
746 endef
747
748 define Device/netgear_rbr50
749 $(call Device/netgear_rbx50)
750 DEVICE_MODEL := RBR50
751 DEVICE_VARIANT := v1
752 NETGEAR_BOARD_ID := RBR50
753 endef
754 TARGET_DEVICES += netgear_rbr50
755
756 define Device/netgear_rbs50
757 $(call Device/netgear_rbx50)
758 DEVICE_MODEL := RBS50
759 DEVICE_VARIANT := v1
760 NETGEAR_BOARD_ID := RBS50
761 endef
762 TARGET_DEVICES += netgear_rbs50
763
764 define Device/netgear_srx60
765 $(call Device/netgear_orbi)
766 NETGEAR_HW_ID := 29765352+0+4096+512+2x2+2x2+4x4
767 KERNEL_SIZE := 3932160
768 ROOTFS_SIZE := 32243712
769 IMAGE_SIZE := 36175872
770 endef
771
772 define Device/netgear_srr60
773 $(call Device/netgear_srx60)
774 DEVICE_MODEL := SRR60
775 NETGEAR_BOARD_ID := SRR60
776 endef
777 TARGET_DEVICES += netgear_srr60
778
779 define Device/netgear_srs60
780 $(call Device/netgear_srx60)
781 DEVICE_MODEL := SRS60
782 NETGEAR_BOARD_ID := SRS60
783 endef
784 TARGET_DEVICES += netgear_srs60
785
786 define Device/netgear_wac510
787 $(call Device/FitImage)
788 $(call Device/UbiFit)
789 DEVICE_VENDOR := Netgear
790 DEVICE_MODEL := WAC510
791 SOC := qcom-ipq4018
792 DEVICE_DTS_CONFIG := config@5
793 BLOCKSIZE := 128k
794 PAGESIZE := 2048
795 IMAGES += nand-factory.tar
796 IMAGE/nand-factory.tar := append-ubi | wac5xx-netgear-tar
797 DEVICE_PACKAGES := uboot-envtools
798 endef
799 TARGET_DEVICES += netgear_wac510
800
801 define Device/openmesh_a42
802 $(call Device/FitImageLzma)
803 DEVICE_VENDOR := OpenMesh
804 DEVICE_MODEL := A42
805 SOC := qcom-ipq4018
806 DEVICE_DTS_CONFIG := config@om.a42
807 BLOCKSIZE := 64k
808 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
809 IMAGE_SIZE := 15616k
810 IMAGES += factory.bin
811 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
812 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
813 endef
814 TARGET_DEVICES += openmesh_a42
815
816 define Device/openmesh_a62
817 $(call Device/FitImageLzma)
818 DEVICE_VENDOR := OpenMesh
819 DEVICE_MODEL := A62
820 SOC := qcom-ipq4019
821 DEVICE_DTS_CONFIG := config@om.a62
822 BLOCKSIZE := 64k
823 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
824 IMAGE_SIZE := 15552k
825 IMAGES += factory.bin
826 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
827 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
828 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
829 endef
830 TARGET_DEVICES += openmesh_a62
831
832 define Device/p2w_r619ac
833 $(call Device/FitzImage)
834 $(call Device/UbiFit)
835 DEVICE_VENDOR := P&W
836 DEVICE_MODEL := R619AC
837 SOC := qcom-ipq4019
838 DEVICE_DTS_CONFIG := config@10
839 BLOCKSIZE := 128k
840 PAGESIZE := 2048
841 DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
842 endef
843
844 define Device/p2w_r619ac-64m
845 $(call Device/p2w_r619ac)
846 DEVICE_VARIANT := 64M NAND
847 IMAGES += nand-factory.bin
848 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
849 endef
850 TARGET_DEVICES += p2w_r619ac-64m
851
852 define Device/p2w_r619ac-128m
853 $(call Device/p2w_r619ac)
854 DEVICE_VARIANT := 128M NAND
855 endef
856 TARGET_DEVICES += p2w_r619ac-128m
857
858 define Device/plasmacloud_pa1200
859 $(call Device/FitImageLzma)
860 DEVICE_VENDOR := Plasma Cloud
861 DEVICE_MODEL := PA1200
862 SOC := qcom-ipq4018
863 DEVICE_DTS_CONFIG := config@pc.pa1200
864 BLOCKSIZE := 64k
865 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
866 IMAGE_SIZE := 15616k
867 IMAGES += factory.bin
868 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
869 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
870 DEVICE_PACKAGES := ipq-wifi-plasmacloud_pa1200
871 endef
872 TARGET_DEVICES += plasmacloud_pa1200
873
874 define Device/plasmacloud_pa2200
875 $(call Device/FitImageLzma)
876 DEVICE_VENDOR := Plasma Cloud
877 DEVICE_MODEL := PA2200
878 SOC := qcom-ipq4019
879 DEVICE_DTS_CONFIG := config@pc.pa2200
880 BLOCKSIZE := 64k
881 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
882 IMAGE_SIZE := 15552k
883 IMAGES += factory.bin
884 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA2200
885 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
886 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-plasmacloud_pa2200
887 endef
888 TARGET_DEVICES += plasmacloud_pa2200
889
890 define Device/qcom_ap-dk01.1-c1
891 DEVICE_VENDOR := Qualcomm Atheros
892 DEVICE_MODEL := AP-DK01.1
893 DEVICE_VARIANT := C1
894 BOARD_NAME := ap-dk01.1-c1
895 SOC := qcom-ipq4019
896 DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
897 KERNEL_INSTALL := 1
898 KERNEL_SIZE := 4096k
899 IMAGE_SIZE := 26624k
900 $(call Device/FitImage)
901 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
902 DEFAULT := n
903 endef
904 TARGET_DEVICES += qcom_ap-dk01.1-c1
905
906 define Device/qcom_ap-dk04.1-c1
907 $(call Device/FitImage)
908 $(call Device/UbiFit)
909 DEVICE_VENDOR := Qualcomm Atheros
910 DEVICE_MODEL := AP-DK04.1
911 DEVICE_VARIANT := C1
912 SOC := qcom-ipq4019
913 DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
914 KERNEL_INSTALL := 1
915 KERNEL_SIZE := 4048k
916 BLOCKSIZE := 128k
917 PAGESIZE := 2048
918 BOARD_NAME := ap-dk04.1-c1
919 DEFAULT := n
920 endef
921 TARGET_DEVICES += qcom_ap-dk04.1-c1
922
923 define Device/qxwlan_e2600ac-c1
924 $(call Device/FitImage)
925 DEVICE_VENDOR := Qxwlan
926 DEVICE_MODEL := E2600AC
927 DEVICE_VARIANT := C1
928 BOARD_NAME := e2600ac-c1
929 SOC := qcom-ipq4019
930 KERNEL_SIZE := 4096k
931 IMAGE_SIZE := 31232k
932 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
933 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c1
934 DEFAULT := n
935 endef
936 TARGET_DEVICES += qxwlan_e2600ac-c1
937
938 define Device/qxwlan_e2600ac-c2
939 $(call Device/FitImage)
940 $(call Device/UbiFit)
941 DEVICE_VENDOR := Qxwlan
942 DEVICE_MODEL := E2600AC
943 DEVICE_VARIANT := C2
944 SOC := qcom-ipq4019
945 KERNEL_INSTALL := 1
946 BLOCKSIZE := 128k
947 PAGESIZE := 2048
948 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c2
949 endef
950 TARGET_DEVICES += qxwlan_e2600ac-c2
951
952 define Device/teltonika_rutx10
953 $(call Device/FitImage)
954 $(call Device/UbiFit)
955 DEVICE_VENDOR := Teltonika
956 DEVICE_MODEL := RUTX10
957 SOC := qcom-ipq4018
958 DEVICE_DTS_CONFIG := config@5
959 KERNEL_INSTALL := 1
960 BLOCKSIZE := 128k
961 PAGESIZE := 2048
962 FILESYSTEMS := squashfs
963 IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata
964 DEVICE_PACKAGES := ipq-wifi-teltonika_rutx kmod-bluetooth
965 endef
966 TARGET_DEVICES += teltonika_rutx10
967
968 define Device/tel_x1pro
969 $(call Device/FitImage)
970 DEVICE_VENDOR := Telco
971 DEVICE_MODEL := X1 Pro
972 SOC := qcom-ipq4019
973 KERNEL_SIZE := 4096k
974 IMAGE_SIZE := 31232k
975 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
976 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
977 DEFAULT := n
978 endef
979 TARGET_DEVICES += tel_x1pro
980
981 define Device/unielec_u4019-32m
982 $(call Device/FitImage)
983 DEVICE_VENDOR := Unielec
984 DEVICE_MODEL := U4019
985 DEVICE_VARIANT := 32M
986 BOARD_NAME := u4019-32m
987 SOC := qcom-ipq4019
988 KERNEL_SIZE := 4096k
989 IMAGE_SIZE := 31232k
990 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
991 DEFAULT := n
992 endef
993 TARGET_DEVICES += unielec_u4019-32m
994
995 define Device/zte_mf286d
996 $(call Device/FitzImage)
997 DEVICE_VENDOR := ZTE
998 DEVICE_MODEL := MF286D
999 SOC := qcom-ipq4019
1000 DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
1001 BLOCKSIZE := 128k
1002 PAGESIZE := 2048
1003 KERNEL_IN_UBI := 1
1004 DEVICE_PACKAGES := ipq-wifi-zte_mf286d kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
1005 endef
1006 TARGET_DEVICES += zte_mf286d
1007
1008 define Device/zyxel_nbg6617
1009 $(call Device/FitImageLzma)
1010 DEVICE_VENDOR := ZyXEL
1011 DEVICE_MODEL := NBG6617
1012 SOC := qcom-ipq4018
1013 KERNEL_SIZE := 4096k
1014 ROOTFS_SIZE := 24960k
1015 RAS_BOARD := NBG6617
1016 RAS_ROOTFS_SIZE := 19840k
1017 RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
1018 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1019 IMAGES += factory.bin
1020 # The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
1021 # at least as large as the one of the initial firmware image (not the current
1022 # one on the device). This only applies to the Web-UI, the bootlaoder ignores
1023 # this minimum-size. However, the larger image can be flashed both ways.
1024 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
1025 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
1026 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
1027 endef
1028 TARGET_DEVICES += zyxel_nbg6617
1029
1030 define Device/zyxel_wre6606
1031 $(call Device/FitImage)
1032 DEVICE_VENDOR := ZyXEL
1033 DEVICE_MODEL := WRE6606
1034 DEVICE_DTS_CONFIG := config@4
1035 SOC := qcom-ipq4018
1036 IMAGE_SIZE := 13184k
1037 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
1038 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
1039 endef
1040 TARGET_DEVICES += zyxel_wre6606