ipq40xx: disable non-building tel(co Electronics) x1pro
[openwrt/staging/jow.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 SOC := qcom-ipq4019
273 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
274 endef
275 TARGET_DEVICES += avm_fritzbox-7530
276
277 define Device/avm_fritzrepeater-1200
278 $(call Device/FitImageLzma)
279 DEVICE_VENDOR := AVM
280 DEVICE_MODEL := FRITZ!Repeater 1200
281 SOC := qcom-ipq4019
282 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-1200
283 endef
284 TARGET_DEVICES += avm_fritzrepeater-1200
285
286 define Device/avm_fritzrepeater-3000
287 $(call Device/FitImageLzma)
288 DEVICE_VENDOR := AVM
289 DEVICE_MODEL := FRITZ!Repeater 3000
290 SOC := qcom-ipq4019
291 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand
292 endef
293 TARGET_DEVICES += avm_fritzrepeater-3000
294
295 define Device/buffalo_wtr-m2133hp
296 $(call Device/FitImage)
297 $(call Device/UbiFit)
298 DEVICE_VENDOR := Buffalo
299 DEVICE_MODEL := WTR-M2133HP
300 SOC := qcom-ipq4019
301 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-buffalo_wtr-m2133hp
302 BLOCKSIZE := 128k
303 PAGESIZE := 2048
304 endef
305 TARGET_DEVICES += buffalo_wtr-m2133hp
306
307 define Device/cellc_rtl30vw
308 KERNEL_SUFFIX := -fit-zImage.itb
309 KERNEL_INITRAMFS = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
310 KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | uImage lzma | pad-to 2048
311 KERNEL_NAME := zImage
312 KERNEL_IN_UBI :=
313 IMAGES := nand-factory.bin nand-sysupgrade.bin
314 IMAGE/nand-factory.bin := append-rootfshdr | append-ubi | qsdk-ipq-factory-nand-askey
315 IMAGE/nand-sysupgrade.bin := append-rootfshdr | sysupgrade-tar | append-metadata
316 DEVICE_VENDOR := Cell C
317 DEVICE_MODEL := RTL30VW
318 SOC := qcom-ipq4019
319 DEVICE_DTS_CONFIG := config@5
320 KERNEL_INSTALL := 1
321 KERNEL_SIZE := 4096k
322 IMAGE_SIZE := 57344k
323 BLOCKSIZE := 128k
324 PAGESIZE := 2048
325 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi ipq-wifi-cellc_rtl30vw
326 endef
327 TARGET_DEVICES += cellc_rtl30vw
328
329 define Device/cilab_meshpoint-one
330 $(call Device/8dev_jalapeno-common)
331 DEVICE_VENDOR := Crisis Innovation Lab
332 DEVICE_MODEL := MeshPoint.One
333 DEVICE_PACKAGES := kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127
334 endef
335 TARGET_DEVICES += cilab_meshpoint-one
336
337 define Device/compex_wpj419
338 $(call Device/FitImage)
339 $(call Device/UbiFit)
340 DEVICE_VENDOR := Compex
341 DEVICE_MODEL := WPJ419
342 SOC := qcom-ipq4019
343 DEVICE_DTS_CONFIG := config@12
344 KERNEL_INSTALL := 1
345 BLOCKSIZE := 128k
346 PAGESIZE := 2048
347 FILESYSTEMS := squashfs
348 endef
349 TARGET_DEVICES += compex_wpj419
350
351 define Device/compex_wpj428
352 $(call Device/FitImage)
353 DEVICE_VENDOR := Compex
354 DEVICE_MODEL := WPJ428
355 SOC := qcom-ipq4028
356 DEVICE_DTS_CONFIG := config@4
357 BLOCKSIZE := 64k
358 IMAGE_SIZE := 31232k
359 KERNEL_SIZE := 4096k
360 IMAGES += cpximg-6a04.bin
361 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
362 IMAGE/cpximg-6a04.bin := append-kernel | append-rootfs | pad-rootfs | mkmylofw_32m 0x8A2 3
363 DEVICE_PACKAGES := kmod-gpio-beeper
364 DEFAULT := n
365 endef
366 TARGET_DEVICES += compex_wpj428
367
368 define Device/devolo_magic-2-wifi-next
369 $(call Device/FitImage)
370 DEVICE_VENDOR := devolo
371 DEVICE_MODEL := Magic 2 WiFi next
372 SOC := qcom-ipq4018
373 KERNEL_SIZE := 4096k
374
375 # If the bootloader sees 0xDEADC0DE and this trailer at the 64k boundary of a TFTP image
376 # it will bootm it, just like we want for the initramfs.
377 KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to 64k |\
378 append-string -e '\xDE\xAD\xC0\xDE{"fl_initramfs":""}\x00'
379
380 IMAGE_SIZE := 26624k
381 IMAGES := sysupgrade.bin
382 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
383 DEVICE_PACKAGES := ipq-wifi-devolo_magic-2-wifi-next
384 DEFAULT := n
385 endef
386 TARGET_DEVICES += devolo_magic-2-wifi-next
387
388 define Device/dlink_dap-2610
389 $(call Device/FitImageLzma)
390 DEVICE_VENDOR := D-Link
391 DEVICE_MODEL := DAP-2610
392 SOC := qcom-ipq4018
393 DEVICE_DTS_CONFIG := config@ap.dk01.1-c1
394 BLOCKSIZE := 64k
395 WRGG_DEVNAME := /dev/mtdblock/8
396 WRGG_SIGNATURE := wapac30_dkbs_dap2610
397 IMAGE_SIZE := 14080k
398 IMAGES += factory.bin
399 # Bootloader expects a special 160 byte header which is added by
400 # wrgg-image.
401 # Factory image size must be larger than 6MB, and size in wrgg header must
402 # match actual factory image size to be flashable from D-Link http server.
403 # Bootloader verifies checksum of wrgg image before booting, thus jffs2
404 # cannot be part of the wrgg image. This is solved in the factory image by
405 # having the rootfs at the end of the image (without pad-rootfs). And in
406 # the sysupgrade image only the kernel is included in the wrgg checksum,
407 # but this is not flashable from the D-link http server.
408 # append-rootfs must start on an erase block boundary.
409 IMAGE/factory.bin := append-kernel | pad-offset 6144k 160 | append-rootfs | wrgg-image | check-size
410 IMAGE/sysupgrade.bin := append-kernel | wrgg-image | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size | append-metadata
411 DEVICE_PACKAGES := ipq-wifi-dlink_dap2610
412 endef
413 TARGET_DEVICES += dlink_dap-2610
414
415 define Device/edgecore_ecw5211
416 $(call Device/FitImage)
417 $(call Device/UbiFit)
418 DEVICE_VENDOR := Edgecore
419 DEVICE_MODEL := ECW5211
420 SOC := qcom-ipq4018
421 BLOCKSIZE := 128k
422 PAGESIZE := 2048
423 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
424 DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-usb-acm
425 endef
426 TARGET_DEVICES += edgecore_ecw5211
427
428 define Device/edgecore_oap100
429 $(call Device/FitImage)
430 $(call Device/UbiFit)
431 DEVICE_VENDOR := Edgecore
432 DEVICE_MODEL := OAP100
433 SOC := qcom-ipq4019
434 BLOCKSIZE := 128k
435 PAGESIZE := 2048
436 IMAGES := nand-sysupgrade.bin
437 DEVICE_DTS_CONFIG := config@ap.dk07.1-c1
438 DEVICE_PACKAGES := ipq-wifi-edgecore_oap100 kmod-usb-acm kmod-usb-net kmod-usb-net-cdc-qmi uqmi
439 endef
440 TARGET_DEVICES += edgecore_oap100
441
442 define Device/engenius_eap1300
443 $(call Device/FitImage)
444 DEVICE_VENDOR := EnGenius
445 DEVICE_MODEL := EAP1300
446 DEVICE_DTS_CONFIG := config@4
447 BOARD_NAME := eap1300
448 SOC := qcom-ipq4018
449 KERNEL_SIZE := 5120k
450 IMAGE_SIZE := 25344k
451 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
452 endef
453 TARGET_DEVICES += engenius_eap1300
454
455 define Device/engenius_eap2200
456 $(call Device/FitImage)
457 $(call Device/UbiFit)
458 DEVICE_VENDOR := EnGenius
459 DEVICE_MODEL := EAP2200
460 SOC := qcom-ipq4019
461 BLOCKSIZE := 128k
462 PAGESIZE := 2048
463 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-engenius_eap2200 -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
464 endef
465 TARGET_DEVICES += engenius_eap2200
466
467 define Device/engenius_emd1
468 $(call Device/FitImage)
469 DEVICE_VENDOR := EnGenius
470 DEVICE_MODEL := EMD1
471 DEVICE_DTS_CONFIG := config@4
472 SOC := qcom-ipq4018
473 IMAGE_SIZE := 30720k
474 IMAGES += factory.bin
475 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
476 IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size
477 DEVICE_PACKAGES := ipq-wifi-engenius_emd1
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 DEVICE_PACKAGES := ipq-wifi-engenius_emr3500
493 DEFAULT := n
494 endef
495 TARGET_DEVICES += engenius_emr3500
496
497 define Device/engenius_ens620ext
498 $(call Device/FitImage)
499 DEVICE_VENDOR := EnGenius
500 DEVICE_MODEL := ENS620EXT
501 SOC := qcom-ipq4018
502 DEVICE_DTS_CONFIG := config@4
503 BLOCKSIZE := 64k
504 PAGESIZE := 256
505 BOARD_NAME := ENS620EXT
506 VENDOR_ID := 0x0101
507 PRODUCT_ID := 0x79
508 PRODUCT_ID_NEW := 0xA4
509 DATECODE := 190507
510 FW_VER := 3.1.2
511 FW_VER_NEW := 3.5.6
512 CW_VER := 1.8.99
513 IMAGE_SIZE := 21312k
514 KERNEL_SIZE := 5120k
515 FILESYSTEMS := squashfs
516 IMAGES += factory_30.bin factory_35.bin
517 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
518 IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
519 IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
520 endef
521 TARGET_DEVICES += engenius_ens620ext
522
523 define Device/ezviz_cs-w3-wd1200g-eup
524 $(call Device/FitImage)
525 DEVICE_VENDOR := EZVIZ
526 DEVICE_MODEL := CS-W3-WD1200G
527 DEVICE_VARIANT := EUP
528 IMAGE_SIZE := 14848k
529 KERNEL_SIZE = 6m
530 SOC := qcom-ipq4018
531 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
532 append-metadata
533 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
534 ipq-wifi-ezviz_cs-w3-wd1200g-eup
535 DEVICE_COMPAT_VERSION := 2.0
536 DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated (see wiki). \
537 Upgrade via sysupgrade mechanism is not possible.
538 endef
539 TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
540
541 define Device/glinet_gl-ap1300
542 $(call Device/FitImage)
543 $(call Device/UbiFit)
544 DEVICE_VENDOR := GL.iNet
545 DEVICE_MODEL := GL-AP1300
546 SOC := qcom-ipq4018
547 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
548 BLOCKSIZE := 128k
549 PAGESIZE := 2048
550 IMAGE_SIZE := 131072k
551 KERNEL_INSTALL := 1
552 DEVICE_PACKAGES := ipq-wifi-glinet_gl-ap1300
553 endef
554 TARGET_DEVICES += glinet_gl-ap1300
555
556 define Device/glinet_gl-b1300
557 $(call Device/FitzImage)
558 DEVICE_VENDOR := GL.iNet
559 DEVICE_MODEL := GL-B1300
560 BOARD_NAME := gl-b1300
561 SOC := qcom-ipq4029
562 KERNEL_SIZE := 4096k
563 IMAGE_SIZE := 26624k
564 IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
565 endef
566 TARGET_DEVICES += glinet_gl-b1300
567
568 define Device/glinet_gl-b2200
569 $(call Device/FitzImage)
570 DEVICE_VENDOR := GL.iNet
571 DEVICE_MODEL := GL-B2200
572 SOC := qcom-ipq4019
573 DEVICE_DTS_CONFIG := config@ap.dk04.1-c3
574 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
575 IMAGES := emmc.img.gz sysupgrade.bin
576 IMAGE/emmc.img.gz := qsdk-ipq-app-gpt |\
577 pad-to 1024k | append-kernel |\
578 pad-to 33792k | append-rootfs |\
579 append-metadata | gzip
580 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
581 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-glinet_gl-b2200 \
582 kmod-fs-ext4 kmod-mmc kmod-spi-dev mkf2fs e2fsprogs kmod-fs-f2fs
583 endef
584 TARGET_DEVICES += glinet_gl-b2200
585
586 define Device/glinet_gl-s1300
587 $(call Device/FitzImage)
588 DEVICE_VENDOR := GL.iNet
589 DEVICE_MODEL := GL-S1300
590 SOC := qcom-ipq4029
591 KERNEL_SIZE := 4096k
592 IMAGE_SIZE := 26624k
593 IMAGES := sysupgrade.bin
594 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
595 DEVICE_PACKAGES := ipq-wifi-glinet_gl-s1300 kmod-fs-ext4 kmod-mmc kmod-spi-dev
596 endef
597 TARGET_DEVICES += glinet_gl-s1300
598
599 define Device/linksys_ea6350v3
600 # The Linksys EA6350v3 has a uboot bootloader that does not
601 # support either booting lzma kernel images nor booting UBI
602 # partitions. This uboot, however, supports raw kernel images and
603 # gzipped images.
604 #
605 # As for the time of writing this, the device will boot the kernel
606 # from a fixed address with a fixed length of 3MiB. Also, the
607 # device has a hard-coded kernel command line that requieres the
608 # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
609 # Oh... and the kernel partition overlaps with the rootfs
610 # partition (the same for alt_kernel and alt_rootfs).
611 #
612 # If you are planing re-partitioning the device, you may want to
613 # keep those details in mind:
614 # 1. The kernel adresses you should honor are 0x00000000 and
615 # 0x02800000 respectively.
616 # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
617 # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
618 # 4. The kernel command line from uboot is harcoded to boot with
619 # rootfs either in mtd11 or mtd13.
620 $(call Device/FitzImage)
621 DEVICE_VENDOR := Linksys
622 DEVICE_MODEL := EA6350
623 DEVICE_VARIANT := v3
624 SOC := qcom-ipq4018
625 BLOCKSIZE := 128k
626 PAGESIZE := 2048
627 KERNEL_SIZE := 3072k
628 IMAGE_SIZE := 37888k
629 UBINIZE_OPTS := -E 5
630 IMAGES += factory.bin
631 IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
632 endef
633 TARGET_DEVICES += linksys_ea6350v3
634
635 define Device/linksys_ea8300
636 $(call Device/FitzImage)
637 DEVICE_VENDOR := Linksys
638 DEVICE_MODEL := EA8300
639 SOC := qcom-ipq4019
640 KERNEL_SIZE := 3072k
641 IMAGE_SIZE := 87040k
642 BLOCKSIZE := 128k
643 PAGESIZE := 2048
644 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
645 IMAGES += factory.bin
646 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
647 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
648 endef
649 TARGET_DEVICES += linksys_ea8300
650
651 define Device/linksys_mr8300
652 $(call Device/FitzImage)
653 DEVICE_VENDOR := Linksys
654 DEVICE_MODEL := MR8300
655 SOC := qcom-ipq4019
656 KERNEL_SIZE := 3072k
657 IMAGE_SIZE := 87040k
658 BLOCKSIZE := 128k
659 PAGESIZE := 2048
660 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
661 IMAGES += factory.bin
662 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
663 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_mr8300-v0 kmod-usb-ledtrig-usbport
664 endef
665 TARGET_DEVICES += linksys_mr8300
666
667 define Device/luma_wrtq-329acn
668 $(call Device/FitImage)
669 DEVICE_VENDOR := Luma Home
670 DEVICE_MODEL := WRTQ-329ACN
671 SOC := qcom-ipq4018
672 DEVICE_PACKAGES := ipq-wifi-luma_wrtq-329acn kmod-ath3k kmod-eeprom-at24 kmod-i2c-gpio
673 IMAGE_SIZE := 76632k
674 BLOCKSIZE := 128k
675 PAGESIZE := 2048
676 endef
677 TARGET_DEVICES += luma_wrtq-329acn
678
679 define Device/meraki_mr33
680 $(call Device/FitImage)
681 DEVICE_VENDOR := Cisco Meraki
682 DEVICE_MODEL := MR33
683 SOC := qcom-ipq4029
684 BLOCKSIZE := 128k
685 PAGESIZE := 2048
686 DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
687 endef
688 TARGET_DEVICES += meraki_mr33
689
690 define Device/mobipromo_cm520-79f
691 $(call Device/FitzImage)
692 $(call Device/UbiFit)
693 DEVICE_VENDOR := MobiPromo
694 DEVICE_MODEL := CM520-79F
695 SOC := qcom-ipq4019
696 BLOCKSIZE := 128k
697 PAGESIZE := 2048
698 DEVICE_PACKAGES := ipq-wifi-mobipromo_cm520-79f kmod-usb-ledtrig-usbport
699 endef
700 TARGET_DEVICES += mobipromo_cm520-79f
701
702 define Device/netgear_ex61x0v2
703 $(call Device/DniImage)
704 DEVICE_VENDOR := NETGEAR
705 DEVICE_DTS_CONFIG := config@4
706 NETGEAR_BOARD_ID := EX6150v2series
707 NETGEAR_HW_ID := 29765285+16+0+128+2x2
708 IMAGE_SIZE := 14400k
709 SOC := qcom-ipq4018
710 endef
711
712 define Device/netgear_ex6100v2
713 $(call Device/netgear_ex61x0v2)
714 DEVICE_MODEL := EX6100
715 DEVICE_VARIANT := v2
716 endef
717 TARGET_DEVICES += netgear_ex6100v2
718
719 define Device/netgear_ex6150v2
720 $(call Device/netgear_ex61x0v2)
721 DEVICE_MODEL := EX6150
722 DEVICE_VARIANT := v2
723 endef
724 TARGET_DEVICES += netgear_ex6150v2
725
726 define Device/netgear_orbi
727 $(call Device/DniImage)
728 SOC := qcom-ipq4019
729 DEVICE_VENDOR := NETGEAR
730 IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
731 append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
732 append-rootfs | pad-rootfs | netgear-dni
733 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
734 sysupgrade-tar rootfs=$$$$@ | append-metadata
735 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
736 endef
737
738 define Device/netgear_rbx50
739 $(call Device/netgear_orbi)
740 NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4
741 KERNEL_SIZE := 3932160
742 ROOTFS_SIZE := 32243712
743 IMAGE_SIZE := 36175872
744 endef
745
746 define Device/netgear_rbr50
747 $(call Device/netgear_rbx50)
748 DEVICE_MODEL := RBR50
749 DEVICE_VARIANT := v1
750 NETGEAR_BOARD_ID := RBR50
751 endef
752 TARGET_DEVICES += netgear_rbr50
753
754 define Device/netgear_rbs50
755 $(call Device/netgear_rbx50)
756 DEVICE_MODEL := RBS50
757 DEVICE_VARIANT := v1
758 NETGEAR_BOARD_ID := RBS50
759 endef
760 TARGET_DEVICES += netgear_rbs50
761
762 define Device/netgear_srx60
763 $(call Device/netgear_orbi)
764 NETGEAR_HW_ID := 29765352+0+4096+512+2x2+2x2+4x4
765 KERNEL_SIZE := 3932160
766 ROOTFS_SIZE := 32243712
767 IMAGE_SIZE := 36175872
768 endef
769
770 define Device/netgear_srr60
771 $(call Device/netgear_srx60)
772 DEVICE_MODEL := SRR60
773 NETGEAR_BOARD_ID := SRR60
774 endef
775 TARGET_DEVICES += netgear_srr60
776
777 define Device/netgear_srs60
778 $(call Device/netgear_srx60)
779 DEVICE_MODEL := SRS60
780 NETGEAR_BOARD_ID := SRS60
781 endef
782 TARGET_DEVICES += netgear_srs60
783
784 define Device/netgear_wac510
785 $(call Device/FitImage)
786 $(call Device/UbiFit)
787 DEVICE_VENDOR := Netgear
788 DEVICE_MODEL := WAC510
789 SOC := qcom-ipq4018
790 DEVICE_DTS_CONFIG := config@5
791 BLOCKSIZE := 128k
792 PAGESIZE := 2048
793 IMAGES += nand-factory.tar
794 IMAGE/nand-factory.tar := append-ubi | wac5xx-netgear-tar
795 DEVICE_PACKAGES := uboot-envtools
796 endef
797 TARGET_DEVICES += netgear_wac510
798
799 define Device/openmesh_a42
800 $(call Device/FitImageLzma)
801 DEVICE_VENDOR := OpenMesh
802 DEVICE_MODEL := A42
803 SOC := qcom-ipq4018
804 DEVICE_DTS_CONFIG := config@om.a42
805 BLOCKSIZE := 64k
806 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
807 IMAGE_SIZE := 15616k
808 IMAGES += factory.bin
809 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
810 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
811 endef
812 TARGET_DEVICES += openmesh_a42
813
814 define Device/openmesh_a62
815 $(call Device/FitImageLzma)
816 DEVICE_VENDOR := OpenMesh
817 DEVICE_MODEL := A62
818 SOC := qcom-ipq4019
819 DEVICE_DTS_CONFIG := config@om.a62
820 BLOCKSIZE := 64k
821 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
822 IMAGE_SIZE := 15552k
823 IMAGES += factory.bin
824 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
825 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
826 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
827 endef
828 TARGET_DEVICES += openmesh_a62
829
830 define Device/p2w_r619ac
831 $(call Device/FitzImage)
832 $(call Device/UbiFit)
833 DEVICE_VENDOR := P&W
834 DEVICE_MODEL := R619AC
835 SOC := qcom-ipq4019
836 DEVICE_DTS_CONFIG := config@10
837 BLOCKSIZE := 128k
838 PAGESIZE := 2048
839 DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
840 endef
841
842 define Device/p2w_r619ac-64m
843 $(call Device/p2w_r619ac)
844 DEVICE_VARIANT := 64M NAND
845 IMAGES += nand-factory.bin
846 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
847 endef
848 TARGET_DEVICES += p2w_r619ac-64m
849
850 define Device/p2w_r619ac-128m
851 $(call Device/p2w_r619ac)
852 DEVICE_VARIANT := 128M NAND
853 endef
854 TARGET_DEVICES += p2w_r619ac-128m
855
856 define Device/plasmacloud_pa1200
857 $(call Device/FitImageLzma)
858 DEVICE_VENDOR := Plasma Cloud
859 DEVICE_MODEL := PA1200
860 SOC := qcom-ipq4018
861 DEVICE_DTS_CONFIG := config@pc.pa1200
862 BLOCKSIZE := 64k
863 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
864 IMAGE_SIZE := 15616k
865 IMAGES += factory.bin
866 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
867 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
868 DEVICE_PACKAGES := ipq-wifi-plasmacloud_pa1200
869 endef
870 TARGET_DEVICES += plasmacloud_pa1200
871
872 define Device/plasmacloud_pa2200
873 $(call Device/FitImageLzma)
874 DEVICE_VENDOR := Plasma Cloud
875 DEVICE_MODEL := PA2200
876 SOC := qcom-ipq4019
877 DEVICE_DTS_CONFIG := config@pc.pa2200
878 BLOCKSIZE := 64k
879 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
880 IMAGE_SIZE := 15552k
881 IMAGES += factory.bin
882 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA2200
883 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
884 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-plasmacloud_pa2200
885 endef
886 TARGET_DEVICES += plasmacloud_pa2200
887
888 define Device/qcom_ap-dk01.1-c1
889 DEVICE_VENDOR := Qualcomm Atheros
890 DEVICE_MODEL := AP-DK01.1
891 DEVICE_VARIANT := C1
892 BOARD_NAME := ap-dk01.1-c1
893 SOC := qcom-ipq4019
894 DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
895 KERNEL_INSTALL := 1
896 KERNEL_SIZE := 4096k
897 IMAGE_SIZE := 26624k
898 $(call Device/FitImage)
899 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
900 DEFAULT := n
901 endef
902 TARGET_DEVICES += qcom_ap-dk01.1-c1
903
904 define Device/qcom_ap-dk04.1-c1
905 $(call Device/FitImage)
906 $(call Device/UbiFit)
907 DEVICE_VENDOR := Qualcomm Atheros
908 DEVICE_MODEL := AP-DK04.1
909 DEVICE_VARIANT := C1
910 SOC := qcom-ipq4019
911 DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
912 KERNEL_INSTALL := 1
913 KERNEL_SIZE := 4048k
914 BLOCKSIZE := 128k
915 PAGESIZE := 2048
916 BOARD_NAME := ap-dk04.1-c1
917 DEFAULT := n
918 endef
919 TARGET_DEVICES += qcom_ap-dk04.1-c1
920
921 define Device/qxwlan_e2600ac-c1
922 $(call Device/FitImage)
923 DEVICE_VENDOR := Qxwlan
924 DEVICE_MODEL := E2600AC
925 DEVICE_VARIANT := C1
926 BOARD_NAME := e2600ac-c1
927 SOC := qcom-ipq4019
928 KERNEL_SIZE := 4096k
929 IMAGE_SIZE := 31232k
930 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
931 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
932 DEFAULT := n
933 endef
934 TARGET_DEVICES += qxwlan_e2600ac-c1
935
936 define Device/qxwlan_e2600ac-c2
937 $(call Device/FitImage)
938 $(call Device/UbiFit)
939 DEVICE_VENDOR := Qxwlan
940 DEVICE_MODEL := E2600AC
941 DEVICE_VARIANT := C2
942 SOC := qcom-ipq4019
943 KERNEL_INSTALL := 1
944 BLOCKSIZE := 128k
945 PAGESIZE := 2048
946 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
947 endef
948 TARGET_DEVICES += qxwlan_e2600ac-c2
949
950 define Device/teltonika_rutx10
951 $(call Device/FitImage)
952 $(call Device/UbiFit)
953 DEVICE_VENDOR := Teltonika
954 DEVICE_MODEL := RUTX10
955 SOC := qcom-ipq4018
956 DEVICE_DTS_CONFIG := config@5
957 KERNEL_INSTALL := 1
958 BLOCKSIZE := 128k
959 PAGESIZE := 2048
960 FILESYSTEMS := squashfs
961 IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata
962 DEVICE_PACKAGES := ipq-wifi-teltonika_rutx kmod-bluetooth
963 endef
964 TARGET_DEVICES += teltonika_rutx10
965
966 define Device/tel_x1pro
967 $(call Device/FitImage)
968 DEVICE_VENDOR := Telco
969 DEVICE_MODEL := X1 Pro
970 SOC := qcom-ipq4019
971 KERNEL_SIZE := 4096k
972 IMAGE_SIZE := 31232k
973 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
974 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
975 DEFAULT := n
976 endef
977 TARGET_DEVICES += tel_x1pro
978
979 define Device/unielec_u4019-32m
980 $(call Device/FitImage)
981 DEVICE_VENDOR := Unielec
982 DEVICE_MODEL := U4019
983 DEVICE_VARIANT := 32M
984 BOARD_NAME := u4019-32m
985 SOC := qcom-ipq4019
986 KERNEL_SIZE := 4096k
987 IMAGE_SIZE := 31232k
988 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
989 DEFAULT := n
990 endef
991 TARGET_DEVICES += unielec_u4019-32m
992
993 define Device/zte_mf286d
994 $(call Device/FitzImage)
995 DEVICE_VENDOR := ZTE
996 DEVICE_MODEL := MF286D
997 SOC := qcom-ipq4019
998 DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
999 BLOCKSIZE := 128k
1000 PAGESIZE := 2048
1001 KERNEL_IN_UBI := 1
1002 DEVICE_PACKAGES := ipq-wifi-zte_mf286d kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
1003 endef
1004 TARGET_DEVICES += zte_mf286d
1005
1006 define Device/zyxel_nbg6617
1007 $(call Device/FitImageLzma)
1008 DEVICE_VENDOR := ZyXEL
1009 DEVICE_MODEL := NBG6617
1010 SOC := qcom-ipq4018
1011 KERNEL_SIZE := 4096k
1012 ROOTFS_SIZE := 24960k
1013 RAS_BOARD := NBG6617
1014 RAS_ROOTFS_SIZE := 19840k
1015 RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
1016 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1017 IMAGES += factory.bin
1018 # The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
1019 # at least as large as the one of the initial firmware image (not the current
1020 # one on the device). This only applies to the Web-UI, the bootlaoder ignores
1021 # this minimum-size. However, the larger image can be flashed both ways.
1022 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
1023 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
1024 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
1025 endef
1026 TARGET_DEVICES += zyxel_nbg6617
1027
1028 define Device/zyxel_wre6606
1029 $(call Device/FitImage)
1030 DEVICE_VENDOR := ZyXEL
1031 DEVICE_MODEL := WRE6606
1032 DEVICE_DTS_CONFIG := config@4
1033 SOC := qcom-ipq4018
1034 IMAGE_SIZE := 13184k
1035 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
1036 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
1037 endef
1038 TARGET_DEVICES += zyxel_wre6606