ipq40xx: add support for Extreme Networks WS-AP3915i
[openwrt/staging/hauke.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 $$(KDIR)/image-$$(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 $$(KDIR)/image-$$(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 $$(KDIR)/image-$$(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 $$(KDIR)/image-$$(DEVICE_DTS).dtb
312 KERNEL = kernel-bin | fit none $$(KDIR)/image-$$(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 $$(KDIR)/image-$$(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/extreme-networks_ws-ap3915i
523 $(call Device/FitImage)
524 DEVICE_VENDOR := Extreme Networks
525 DEVICE_MODEL := WS-AP3915i
526 IMAGE_SIZE := 30080k
527 SOC := qcom-ipq4029
528 BLOCKSIZE := 128k
529 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
530 DEVICE_PACKAGES := ipq-wifi-extreme-networks_ws-ap3915i
531 endef
532 TARGET_DEVICES += extreme-networks_ws-ap3915i
533
534 define Device/ezviz_cs-w3-wd1200g-eup
535 $(call Device/FitImage)
536 DEVICE_VENDOR := EZVIZ
537 DEVICE_MODEL := CS-W3-WD1200G
538 DEVICE_VARIANT := EUP
539 IMAGE_SIZE := 14848k
540 KERNEL_SIZE = 6m
541 SOC := qcom-ipq4018
542 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
543 append-metadata
544 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
545 DEVICE_COMPAT_VERSION := 2.0
546 DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated (see wiki). \
547 Upgrade via sysupgrade mechanism is not possible.
548 endef
549 TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
550
551 define Device/glinet_gl-ap1300
552 $(call Device/FitImage)
553 $(call Device/UbiFit)
554 DEVICE_VENDOR := GL.iNet
555 DEVICE_MODEL := GL-AP1300
556 SOC := qcom-ipq4018
557 DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
558 BLOCKSIZE := 128k
559 PAGESIZE := 2048
560 IMAGE_SIZE := 131072k
561 KERNEL_INSTALL := 1
562 DEVICE_PACKAGES := ipq-wifi-glinet_gl-ap1300
563 endef
564 TARGET_DEVICES += glinet_gl-ap1300
565
566 define Device/glinet_gl-b1300
567 $(call Device/FitzImage)
568 DEVICE_VENDOR := GL.iNet
569 DEVICE_MODEL := GL-B1300
570 BOARD_NAME := gl-b1300
571 SOC := qcom-ipq4029
572 KERNEL_SIZE := 4096k
573 IMAGE_SIZE := 26624k
574 IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
575 endef
576 TARGET_DEVICES += glinet_gl-b1300
577
578 define Device/glinet_gl-b2200
579 $(call Device/FitzImage)
580 DEVICE_VENDOR := GL.iNet
581 DEVICE_MODEL := GL-B2200
582 SOC := qcom-ipq4019
583 DEVICE_DTS_CONFIG := config@ap.dk04.1-c3
584 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
585 IMAGES := emmc.img.gz sysupgrade.bin
586 IMAGE/emmc.img.gz := qsdk-ipq-app-gpt |\
587 pad-to 1024k | append-kernel |\
588 pad-to 33792k | append-rootfs |\
589 append-metadata | gzip
590 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
591 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct \
592 kmod-fs-ext4 kmod-mmc kmod-spi-dev mkf2fs e2fsprogs kmod-fs-f2fs
593 endef
594 TARGET_DEVICES += glinet_gl-b2200
595
596 define Device/glinet_gl-s1300
597 $(call Device/FitzImage)
598 DEVICE_VENDOR := GL.iNet
599 DEVICE_MODEL := GL-S1300
600 SOC := qcom-ipq4029
601 KERNEL_SIZE := 4096k
602 IMAGE_SIZE := 26624k
603 IMAGES := sysupgrade.bin
604 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
605 DEVICE_PACKAGES := ipq-wifi-glinet_gl-s1300 kmod-fs-ext4 kmod-mmc kmod-spi-dev
606 endef
607 TARGET_DEVICES += glinet_gl-s1300
608
609 define Device/linksys_ea6350v3
610 # The Linksys EA6350v3 has a uboot bootloader that does not
611 # support either booting lzma kernel images nor booting UBI
612 # partitions. This uboot, however, supports raw kernel images and
613 # gzipped images.
614 #
615 # As for the time of writing this, the device will boot the kernel
616 # from a fixed address with a fixed length of 3MiB. Also, the
617 # device has a hard-coded kernel command line that requieres the
618 # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
619 # Oh... and the kernel partition overlaps with the rootfs
620 # partition (the same for alt_kernel and alt_rootfs).
621 #
622 # If you are planing re-partitioning the device, you may want to
623 # keep those details in mind:
624 # 1. The kernel adresses you should honor are 0x00000000 and
625 # 0x02800000 respectively.
626 # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
627 # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
628 # 4. The kernel command line from uboot is harcoded to boot with
629 # rootfs either in mtd11 or mtd13.
630 $(call Device/FitzImage)
631 DEVICE_VENDOR := Linksys
632 DEVICE_MODEL := EA6350
633 DEVICE_VARIANT := v3
634 SOC := qcom-ipq4018
635 BLOCKSIZE := 128k
636 PAGESIZE := 2048
637 KERNEL_SIZE := 3072k
638 IMAGE_SIZE := 37888k
639 UBINIZE_OPTS := -E 5
640 IMAGES += factory.bin
641 IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
642 endef
643 TARGET_DEVICES += linksys_ea6350v3
644
645 define Device/linksys_ea8300
646 $(call Device/FitzImage)
647 DEVICE_VENDOR := Linksys
648 DEVICE_MODEL := EA8300
649 SOC := qcom-ipq4019
650 KERNEL_SIZE := 3072k
651 IMAGE_SIZE := 87040k
652 BLOCKSIZE := 128k
653 PAGESIZE := 2048
654 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
655 IMAGES += factory.bin
656 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
657 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
658 endef
659 TARGET_DEVICES += linksys_ea8300
660
661 define Device/linksys_mr8300
662 $(call Device/FitzImage)
663 DEVICE_VENDOR := Linksys
664 DEVICE_MODEL := MR8300
665 SOC := qcom-ipq4019
666 KERNEL_SIZE := 3072k
667 IMAGE_SIZE := 87040k
668 BLOCKSIZE := 128k
669 PAGESIZE := 2048
670 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
671 IMAGES += factory.bin
672 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
673 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
674 endef
675 TARGET_DEVICES += linksys_mr8300
676
677 define Device/linksys_whw01-v1
678 $(call Device/FitzImage)
679 DEVICE_VENDOR := Linksys
680 DEVICE_MODEL := WHW01
681 DEVICE_VARIANT := v1
682 KERNEL_SIZE := 6144k
683 IMAGE_SIZE := 28704512 # 28032k minus linksys signature (256-bytes).
684 SOC := qcom-ipq4018
685 BLOCKSIZE := 128k
686 PAGESIZE := 2048
687 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
688 IMAGES += factory.bin
689 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
690 append-ubi | linksys-image type=WHW01 | pad-to $$$$(PAGESIZE) | \
691 check-size
692 DEVICE_PACKAGES := uboot-envtools kmod-leds-pca963x
693 endef
694 TARGET_DEVICES += linksys_whw01-v1
695
696 define Device/luma_wrtq-329acn
697 $(call Device/FitImage)
698 DEVICE_VENDOR := Luma Home
699 DEVICE_MODEL := WRTQ-329ACN
700 SOC := qcom-ipq4018
701 DEVICE_PACKAGES := kmod-ath3k kmod-eeprom-at24 kmod-i2c-gpio
702 IMAGE_SIZE := 76632k
703 BLOCKSIZE := 128k
704 PAGESIZE := 2048
705 endef
706 TARGET_DEVICES += luma_wrtq-329acn
707
708 define Device/meraki_mr33
709 $(call Device/FitImage)
710 DEVICE_VENDOR := Cisco Meraki
711 DEVICE_MODEL := MR33
712 SOC := qcom-ipq4029
713 BLOCKSIZE := 128k
714 PAGESIZE := 2048
715 DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
716 endef
717 TARGET_DEVICES += meraki_mr33
718
719 define Device/meraki_mr74
720 $(call Device/FitImage)
721 DEVICE_VENDOR := Cisco Meraki
722 DEVICE_MODEL := MR74
723 SOC := qcom-ipq4029
724 BLOCKSIZE := 128k
725 PAGESIZE := 2048
726 DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
727 DEVICE_DTS_CONFIG := config@3
728 endef
729 TARGET_DEVICES += meraki_mr74
730
731 define Device/mobipromo_cm520-79f
732 $(call Device/FitzImage)
733 $(call Device/UbiFit)
734 DEVICE_VENDOR := MobiPromo
735 DEVICE_MODEL := CM520-79F
736 SOC := qcom-ipq4019
737 BLOCKSIZE := 128k
738 PAGESIZE := 2048
739 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
740 endef
741 TARGET_DEVICES += mobipromo_cm520-79f
742
743 define Device/netgear_ex61x0v2
744 $(call Device/DniImage)
745 DEVICE_VENDOR := NETGEAR
746 DEVICE_DTS_CONFIG := config@4
747 NETGEAR_BOARD_ID := EX6150v2series
748 NETGEAR_HW_ID := 29765285+16+0+128+2x2
749 IMAGE_SIZE := 14400k
750 SOC := qcom-ipq4018
751 endef
752
753 define Device/netgear_ex6100v2
754 $(call Device/netgear_ex61x0v2)
755 DEVICE_MODEL := EX6100
756 DEVICE_VARIANT := v2
757 endef
758 TARGET_DEVICES += netgear_ex6100v2
759
760 define Device/netgear_ex6150v2
761 $(call Device/netgear_ex61x0v2)
762 DEVICE_MODEL := EX6150
763 DEVICE_VARIANT := v2
764 endef
765 TARGET_DEVICES += netgear_ex6150v2
766
767 define Device/netgear_orbi
768 $(call Device/DniImage)
769 SOC := qcom-ipq4019
770 DEVICE_VENDOR := NETGEAR
771 IMAGE/factory.img := append-kernel | pad-offset 128k 64 | \
772 append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | \
773 append-rootfs | pad-rootfs | netgear-dni
774 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
775 sysupgrade-tar rootfs=$$$$@ | append-metadata
776 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
777 endef
778
779 define Device/netgear_rbx50
780 $(call Device/netgear_orbi)
781 NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4
782 KERNEL_SIZE := 3932160
783 ROOTFS_SIZE := 32243712
784 IMAGE_SIZE := 36175872
785 endef
786
787 define Device/netgear_rbr50
788 $(call Device/netgear_rbx50)
789 DEVICE_MODEL := RBR50
790 DEVICE_VARIANT := v1
791 NETGEAR_BOARD_ID := RBR50
792 endef
793 TARGET_DEVICES += netgear_rbr50
794
795 define Device/netgear_rbs50
796 $(call Device/netgear_rbx50)
797 DEVICE_MODEL := RBS50
798 DEVICE_VARIANT := v1
799 NETGEAR_BOARD_ID := RBS50
800 endef
801 TARGET_DEVICES += netgear_rbs50
802
803 define Device/netgear_srx60
804 $(call Device/netgear_orbi)
805 NETGEAR_HW_ID := 29765352+0+4096+512+2x2+2x2+4x4
806 KERNEL_SIZE := 3932160
807 ROOTFS_SIZE := 32243712
808 IMAGE_SIZE := 36175872
809 endef
810
811 define Device/netgear_srr60
812 $(call Device/netgear_srx60)
813 DEVICE_MODEL := SRR60
814 NETGEAR_BOARD_ID := SRR60
815 endef
816 TARGET_DEVICES += netgear_srr60
817
818 define Device/netgear_srs60
819 $(call Device/netgear_srx60)
820 DEVICE_MODEL := SRS60
821 NETGEAR_BOARD_ID := SRS60
822 endef
823 TARGET_DEVICES += netgear_srs60
824
825 define Device/netgear_wac510
826 $(call Device/FitImage)
827 $(call Device/UbiFit)
828 DEVICE_VENDOR := Netgear
829 DEVICE_MODEL := WAC510
830 SOC := qcom-ipq4018
831 DEVICE_DTS_CONFIG := config@5
832 BLOCKSIZE := 128k
833 PAGESIZE := 2048
834 IMAGES += nand-factory.tar
835 IMAGE/nand-factory.tar := append-ubi | wac5xx-netgear-tar
836 DEVICE_PACKAGES := uboot-envtools
837 endef
838 TARGET_DEVICES += netgear_wac510
839
840 define Device/openmesh_a42
841 $(call Device/FitImageLzma)
842 DEVICE_VENDOR := OpenMesh
843 DEVICE_MODEL := A42
844 SOC := qcom-ipq4018
845 DEVICE_DTS_CONFIG := config@om.a42
846 BLOCKSIZE := 64k
847 KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
848 IMAGE_SIZE := 15616k
849 IMAGES += factory.bin
850 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
851 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
852 endef
853 TARGET_DEVICES += openmesh_a42
854
855 define Device/openmesh_a62
856 $(call Device/FitImageLzma)
857 DEVICE_VENDOR := OpenMesh
858 DEVICE_MODEL := A62
859 SOC := qcom-ipq4019
860 DEVICE_DTS_CONFIG := config@om.a62
861 BLOCKSIZE := 64k
862 KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
863 IMAGE_SIZE := 15552k
864 IMAGES += factory.bin
865 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
866 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
867 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
868 endef
869 TARGET_DEVICES += openmesh_a62
870
871 define Device/p2w_r619ac
872 $(call Device/FitzImage)
873 $(call Device/UbiFit)
874 DEVICE_VENDOR := P&W
875 DEVICE_MODEL := R619AC
876 SOC := qcom-ipq4019
877 DEVICE_DTS_CONFIG := config@10
878 BLOCKSIZE := 128k
879 PAGESIZE := 2048
880 DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
881 endef
882
883 define Device/p2w_r619ac-64m
884 $(call Device/p2w_r619ac)
885 DEVICE_VARIANT := 64M NAND
886 IMAGES += nand-factory.bin
887 IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
888 endef
889 TARGET_DEVICES += p2w_r619ac-64m
890
891 define Device/p2w_r619ac-128m
892 $(call Device/p2w_r619ac)
893 DEVICE_VARIANT := 128M NAND
894 endef
895 TARGET_DEVICES += p2w_r619ac-128m
896
897 define Device/plasmacloud_pa1200
898 $(call Device/FitImageLzma)
899 DEVICE_VENDOR := Plasma Cloud
900 DEVICE_MODEL := PA1200
901 SOC := qcom-ipq4018
902 DEVICE_DTS_CONFIG := config@pc.pa1200
903 BLOCKSIZE := 64k
904 KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
905 IMAGE_SIZE := 15616k
906 IMAGES += factory.bin
907 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA1200
908 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
909 endef
910 TARGET_DEVICES += plasmacloud_pa1200
911
912 define Device/plasmacloud_pa2200
913 $(call Device/FitImageLzma)
914 DEVICE_VENDOR := Plasma Cloud
915 DEVICE_MODEL := PA2200
916 SOC := qcom-ipq4019
917 DEVICE_DTS_CONFIG := config@pc.pa2200
918 BLOCKSIZE := 64k
919 KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
920 IMAGE_SIZE := 15552k
921 IMAGES += factory.bin
922 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA2200
923 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
924 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct
925 endef
926 TARGET_DEVICES += plasmacloud_pa2200
927
928 define Device/qcom_ap-dk01.1-c1
929 DEVICE_VENDOR := Qualcomm Atheros
930 DEVICE_MODEL := AP-DK01.1
931 DEVICE_VARIANT := C1
932 BOARD_NAME := ap-dk01.1-c1
933 SOC := qcom-ipq4019
934 DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
935 KERNEL_INSTALL := 1
936 KERNEL_SIZE := 4096k
937 IMAGE_SIZE := 26624k
938 $(call Device/FitImage)
939 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
940 DEFAULT := n
941 endef
942 TARGET_DEVICES += qcom_ap-dk01.1-c1
943
944 define Device/qcom_ap-dk04.1-c1
945 $(call Device/FitImage)
946 $(call Device/UbiFit)
947 DEVICE_VENDOR := Qualcomm Atheros
948 DEVICE_MODEL := AP-DK04.1
949 DEVICE_VARIANT := C1
950 SOC := qcom-ipq4019
951 DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
952 KERNEL_INSTALL := 1
953 KERNEL_SIZE := 4048k
954 BLOCKSIZE := 128k
955 PAGESIZE := 2048
956 BOARD_NAME := ap-dk04.1-c1
957 DEFAULT := n
958 endef
959 TARGET_DEVICES += qcom_ap-dk04.1-c1
960
961 define Device/qxwlan_e2600ac-c1
962 $(call Device/FitImage)
963 DEVICE_VENDOR := Qxwlan
964 DEVICE_MODEL := E2600AC
965 DEVICE_VARIANT := C1
966 BOARD_NAME := e2600ac-c1
967 SOC := qcom-ipq4019
968 KERNEL_SIZE := 4096k
969 IMAGE_SIZE := 31232k
970 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
971 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c1
972 DEFAULT := n
973 endef
974 TARGET_DEVICES += qxwlan_e2600ac-c1
975
976 define Device/qxwlan_e2600ac-c2
977 $(call Device/FitImage)
978 $(call Device/UbiFit)
979 DEVICE_VENDOR := Qxwlan
980 DEVICE_MODEL := E2600AC
981 DEVICE_VARIANT := C2
982 SOC := qcom-ipq4019
983 KERNEL_INSTALL := 1
984 BLOCKSIZE := 128k
985 PAGESIZE := 2048
986 DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac-c2
987 endef
988 TARGET_DEVICES += qxwlan_e2600ac-c2
989
990 define Device/teltonika_rutx10
991 $(call Device/FitImage)
992 $(call Device/UbiFit)
993 DEVICE_VENDOR := Teltonika
994 DEVICE_MODEL := RUTX10
995 SOC := qcom-ipq4018
996 DEVICE_DTS_CONFIG := config@5
997 KERNEL_INSTALL := 1
998 BLOCKSIZE := 128k
999 PAGESIZE := 2048
1000 FILESYSTEMS := squashfs
1001 IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata
1002 DEVICE_PACKAGES := ipq-wifi-teltonika_rutx kmod-bluetooth
1003 endef
1004 TARGET_DEVICES += teltonika_rutx10
1005
1006 define Device/tel_x1pro
1007 $(call Device/FitImage)
1008 DEVICE_VENDOR := Telco
1009 DEVICE_MODEL := X1 Pro
1010 SOC := qcom-ipq4019
1011 KERNEL_SIZE := 4096k
1012 IMAGE_SIZE := 31232k
1013 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1014 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
1015 DEFAULT := n
1016 endef
1017 TARGET_DEVICES += tel_x1pro
1018
1019 define Device/unielec_u4019-32m
1020 $(call Device/FitImage)
1021 DEVICE_VENDOR := Unielec
1022 DEVICE_MODEL := U4019
1023 DEVICE_VARIANT := 32M
1024 BOARD_NAME := u4019-32m
1025 SOC := qcom-ipq4019
1026 KERNEL_SIZE := 4096k
1027 IMAGE_SIZE := 31232k
1028 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1029 DEFAULT := n
1030 endef
1031 TARGET_DEVICES += unielec_u4019-32m
1032
1033 define Device/zte_mf286d
1034 $(call Device/FitzImage)
1035 DEVICE_VENDOR := ZTE
1036 DEVICE_MODEL := MF286D
1037 SOC := qcom-ipq4019
1038 DEVICE_DTS_CONFIG := config@ap.dk04.1-c1
1039 BLOCKSIZE := 128k
1040 PAGESIZE := 2048
1041 KERNEL_IN_UBI := 1
1042 DEVICE_PACKAGES := kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
1043 endef
1044 TARGET_DEVICES += zte_mf286d
1045
1046 define Device/zyxel_nbg6617
1047 $(call Device/FitImageLzma)
1048 DEVICE_VENDOR := ZyXEL
1049 DEVICE_MODEL := NBG6617
1050 SOC := qcom-ipq4018
1051 KERNEL_SIZE := 4096k
1052 ROOTFS_SIZE := 24960k
1053 RAS_BOARD := NBG6617
1054 RAS_ROOTFS_SIZE := 19840k
1055 RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
1056 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
1057 IMAGES += factory.bin
1058 # The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
1059 # at least as large as the one of the initial firmware image (not the current
1060 # one on the device). This only applies to the Web-UI, the bootlaoder ignores
1061 # this minimum-size. However, the larger image can be flashed both ways.
1062 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
1063 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
1064 DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
1065 endef
1066 TARGET_DEVICES += zyxel_nbg6617
1067
1068 define Device/zyxel_wre6606
1069 $(call Device/FitImage)
1070 DEVICE_VENDOR := ZyXEL
1071 DEVICE_MODEL := WRE6606
1072 DEVICE_DTS_CONFIG := config@4
1073 SOC := qcom-ipq4018
1074 IMAGE_SIZE := 13184k
1075 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
1076 DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
1077 endef
1078 TARGET_DEVICES += zyxel_wre6606