8097bf439aeb5195f63c84d9eea8361abbda08fe
[oweals/openwrt.git] / target / linux / ipq40xx / image / Makefile
1 include $(TOPDIR)/rules.mk
2 include $(INCLUDE_DIR)/image.mk
3
4 DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION \
5                WRGG_DEVNAME WRGG_SIGNATURE
6
7 define Device/Default
8         PROFILES := Default
9         KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
10         KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
11         KERNEL_PREFIX := $$(IMAGE_PREFIX)
12         KERNEL_LOADADDR := 0x80208000
13         DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1)))
14         SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
15         IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
16         IMAGE/sysupgrade.bin/squashfs :=
17 endef
18
19 define Device/FitImage
20         KERNEL_SUFFIX := -fit-uImage.itb
21         KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
22         KERNEL_NAME := Image
23 endef
24
25 define Device/FitImageLzma
26         KERNEL_SUFFIX := -fit-uImage.itb
27         KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
28         KERNEL_NAME := Image
29 endef
30
31 define Device/FitzImage
32         KERNEL_SUFFIX := -fit-zImage.itb
33         KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
34         KERNEL_NAME := zImage
35 endef
36
37 define Device/UbiFit
38         KERNEL_IN_UBI := 1
39         IMAGES := nand-factory.ubi nand-sysupgrade.bin
40         IMAGE/nand-factory.ubi := append-ubi
41         IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
42 endef
43
44 define Device/DniImage
45         KERNEL_SUFFIX := -fit-uImage.itb
46         KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
47         KERNEL_NAME := Image
48         NETGEAR_BOARD_ID :=
49         NETGEAR_HW_ID :=
50         IMAGES := factory.img sysupgrade.bin
51         IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni
52         IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | append-metadata
53 endef
54 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
55
56 define Build/SenaoFW
57         -$(STAGING_DIR_HOST)/bin/mksenaofw \
58                 -n $(BOARD_NAME) -r $(VENDOR_ID) -p $(1) \
59                 -c $(DATECODE) -w $(2) -x $(CW_VER) -t 0 \
60                 -e $@ \
61                 -o $@.new
62         @cp $@.new $@
63 endef
64
65 define Build/wrgg-image
66         mkwrggimg -i $@ \
67         -o $@.new \
68         -d "$(WRGG_DEVNAME)" \
69         -s "$(WRGG_SIGNATURE)" \
70         -v "" -m "" -B ""
71         mv $@.new $@
72 endef
73
74 define Device/8dev_habanero-dvk
75         $(call Device/FitImageLzma)
76         DEVICE_VENDOR := 8devices
77         DEVICE_MODEL := Habanero DVK
78         IMAGE_SIZE := 30976k
79         SOC := qcom-ipq4019
80         DEVICE_PACKAGES := ipq-wifi-8dev_habanero-dvk
81         IMAGES := sysupgrade.bin
82         IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
83 endef
84 TARGET_DEVICES += 8dev_habanero-dvk
85
86 define Device/8dev_jalapeno-common
87         $(call Device/FitImage)
88         $(call Device/UbiFit)
89         BLOCKSIZE := 128k
90         PAGESIZE := 2048
91         SOC := qcom-ipq4018
92 endef
93
94 define Device/8dev_jalapeno
95         $(call Device/8dev_jalapeno-common)
96         DEVICE_VENDOR := 8devices
97         DEVICE_MODEL := Jalapeno
98 endef
99 TARGET_DEVICES += 8dev_jalapeno
100
101 define Device/alfa-network_ap120c-ac
102         $(call Device/FitImage)
103         $(call Device/UbiFit)
104         DEVICE_VENDOR := ALFA Network
105         DEVICE_MODEL := AP120C-AC
106         SOC := qcom-ipq4018
107         DEVICE_PACKAGES := kmod-usb-acm \
108                 kmod-tpm-i2c-atmel uboot-envtools
109         BLOCKSIZE := 128k
110         PAGESIZE := 2048
111         IMAGE_SIZE := 65536k
112         IMAGES := nand-factory.bin nand-sysupgrade.bin
113         IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
114 endef
115 TARGET_DEVICES += alfa-network_ap120c-ac
116
117 define Device/aruba_ap-303
118         $(call Device/FitImageLzma)
119         DEVICE_VENDOR := Aruba
120         DEVICE_MODEL := AP-303
121         SOC := qcom-ipq4029
122         DEVICE_PACKAGES := ipq-wifi-aruba_ap-303
123         IMAGES := sysupgrade.bin
124 endef
125 TARGET_DEVICES += aruba_ap-303
126
127 define Device/aruba_ap-303h
128         $(call Device/FitImageLzma)
129         DEVICE_VENDOR := Aruba
130         DEVICE_MODEL := AP-303H
131         SOC := qcom-ipq4029
132         DEVICE_PACKAGES := ipq-wifi-aruba_ap-303
133         IMAGES := sysupgrade.bin
134 endef
135 TARGET_DEVICES += aruba_ap-303h
136
137 define Device/asus_map-ac2200
138         $(call Device/FitImageLzma)
139         DEVICE_VENDOR := ASUS
140         DEVICE_MODEL := Lyra (MAP-AC2200)
141         SOC := qcom-ipq4019
142         IMAGES := sysupgrade.bin
143         DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k
144 endef
145 TARGET_DEVICES += asus_map-ac2200
146
147 define Device/asus_rt-ac58u
148         $(call Device/FitImageLzma)
149         DEVICE_VENDOR := ASUS
150         DEVICE_MODEL := RT-AC58U
151         SOC := qcom-ipq4018
152         BLOCKSIZE := 128k
153         PAGESIZE := 2048
154         DTB_SIZE := 65536
155         IMAGE_SIZE := 20439364
156         FILESYSTEMS := squashfs
157 #       Someone - in their infinite wisdom - decided to put the firmware
158 #       version in front of the image name \03\00\00\04 => Version 3.0.0.4
159 #       Since u-boot works with strings we either need another fixup step
160 #       to add a version... or we are very careful not to add '\0' into that
161 #       string and call it a day.... Yeah, we do the latter!
162         UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U')
163         IMAGES := sysupgrade.bin
164         DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
165                 kmod-usb-ledtrig-usbport
166 endef
167 TARGET_DEVICES += asus_rt-ac58u
168
169 define Device/avm_fritzbox-4040
170         $(call Device/FitImageLzma)
171         DEVICE_VENDOR := AVM
172         DEVICE_MODEL := FRITZ!Box 4040
173         SOC := qcom-ipq4018
174         BOARD_NAME := fritz4040
175         IMAGE_SIZE := 29056k
176         UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
177         UBOOT_PARTITION_SIZE := 524288
178         IMAGES = eva.bin sysupgrade.bin
179         IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
180         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
181         DEVICE_PACKAGES := fritz-tffs fritz-caldata
182 endef
183 TARGET_DEVICES += avm_fritzbox-4040
184
185 define Device/avm_fritzbox-7530
186         $(call Device/FitImageLzma)
187         DEVICE_VENDOR := AVM
188         DEVICE_MODEL := FRITZ!Box 7530
189         SOC := qcom-ipq4019
190         DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand
191         IMAGES := sysupgrade.bin
192 endef
193 TARGET_DEVICES += avm_fritzbox-7530
194
195 define Device/avm_fritzrepeater-1200
196         $(call Device/FitImageLzma)
197         DEVICE_VENDOR := AVM
198         DEVICE_MODEL := FRITZ!Repeater 1200
199         SOC := qcom-ipq4019
200         DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-1200
201         IMAGES := sysupgrade.bin
202 endef
203 TARGET_DEVICES += avm_fritzrepeater-1200
204
205 define Device/avm_fritzrepeater-3000
206         $(call Device/FitImageLzma)
207         DEVICE_VENDOR := AVM
208         DEVICE_MODEL := FRITZ!Repeater 3000
209         SOC := qcom-ipq4019
210         DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand
211         IMAGES := sysupgrade.bin
212 endef
213 TARGET_DEVICES += avm_fritzrepeater-3000
214
215 define Device/cilab_meshpoint-one
216         $(call Device/8dev_jalapeno-common)
217         DEVICE_VENDOR := Crisis Innovation Lab
218         DEVICE_MODEL := MeshPoint.One
219         DEVICE_PACKAGES := kmod-i2c-gpio kmod-iio-bmp280-i2c kmod-hwmon-ina2xx kmod-rtc-pcf2127
220 endef
221 TARGET_DEVICES += cilab_meshpoint-one
222
223 define Device/compex_wpj419
224         $(call Device/FitImage)
225         $(call Device/UbiFit)
226         DEVICE_VENDOR := Compex
227         DEVICE_MODEL := WPJ419
228         SOC := qcom-ipq4019
229         DEVICE_DTS_CONFIG := config@12
230         KERNEL_INSTALL := 1
231         BLOCKSIZE := 128k
232         PAGESIZE := 2048
233         FILESYSTEMS := squashfs
234 endef
235 TARGET_DEVICES += compex_wpj419
236
237 define Device/compex_wpj428
238         $(call Device/FitImage)
239         DEVICE_VENDOR := Compex
240         DEVICE_MODEL := WPJ428
241         SOC := qcom-ipq4028
242         DEVICE_DTS_CONFIG := config@4
243         BLOCKSIZE := 64k
244         IMAGE_SIZE := 31232k
245         KERNEL_SIZE := 4096k
246         IMAGES = sysupgrade.bin
247         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
248         DEVICE_PACKAGES := kmod-gpio-beeper
249 endef
250 TARGET_DEVICES += compex_wpj428
251
252 define Device/dlink_dap-2610
253         $(call Device/FitImageLzma)
254         DEVICE_VENDOR := D-Link
255         DEVICE_MODEL := DAP-2610
256         SOC := qcom-ipq4018
257         DEVICE_DTS_CONFIG := config@ap.dk01.1-c1
258         BLOCKSIZE := 64k
259         WRGG_DEVNAME := /dev/mtdblock/8
260         WRGG_SIGNATURE := wapac30_dkbs_dap2610
261         IMAGE_SIZE := 14080k
262         IMAGES := sysupgrade.bin factory.bin
263         # Bootloader expects a special 160 byte header which is added by
264         # wrgg-image.
265         # Factory image size must be larger than 6MB, and size in wrgg header must
266         # match actual factory image size to be flashable from D-Link http server.
267         # Bootloader verifies checksum of wrgg image before booting, thus jffs2
268         # cannot be part of the wrgg image. This is solved in the factory image by
269         # having the rootfs at the end of the image (without pad-rootfs). And in
270         # the sysupgrade image only the kernel is included in the wrgg checksum,
271         # but this is not flashable from the D-link http server.
272         # append-rootfs must start on an erase block boundary.
273         IMAGE/factory.bin    := append-kernel | pad-offset 6144k 160 | append-rootfs | wrgg-image | check-size $$$$(IMAGE_SIZE)
274         IMAGE/sysupgrade.bin := append-kernel | wrgg-image | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | append-metadata
275         DEVICE_PACKAGES := ipq-wifi-dlink_dap2610
276 endef
277 TARGET_DEVICES += dlink_dap-2610
278
279 define Device/engenius_eap1300
280         $(call Device/FitImage)
281         DEVICE_VENDOR := EnGenius
282         DEVICE_MODEL := EAP1300
283         DEVICE_DTS_CONFIG := config@4
284         BOARD_NAME := eap1300
285         SOC := qcom-ipq4018
286         KERNEL_SIZE := 5120k
287         IMAGE_SIZE := 25344k
288         IMAGES := sysupgrade.bin
289         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
290 endef
291 TARGET_DEVICES += engenius_eap1300
292
293 define Device/engenius_eap2200
294         $(call Device/FitImage)
295         $(call Device/UbiFit)
296         DEVICE_VENDOR := EnGenius
297         DEVICE_MODEL := EAP2200
298         SOC := qcom-ipq4019
299         BLOCKSIZE := 128k
300         PAGESIZE := 2048
301         DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-engenius_eap2200 -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
302 endef
303 TARGET_DEVICES += engenius_eap2200
304
305 define Device/engenius_emd1
306         $(call Device/FitImage)
307         DEVICE_VENDOR := EnGenius
308         DEVICE_MODEL := EMD1
309         DEVICE_DTS_CONFIG := config@4
310         SOC := qcom-ipq4018
311         IMAGE_SIZE := 30720k
312         IMAGES := sysupgrade.bin factory.bin
313         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
314         IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size $$$$(IMAGE_SIZE)
315 endef
316 TARGET_DEVICES += engenius_emd1
317
318 define Device/engenius_ens620ext
319         $(call Device/FitImage)
320         DEVICE_VENDOR := EnGenius
321         DEVICE_MODEL := ENS620EXT
322         SOC := qcom-ipq4018
323         DEVICE_DTS_CONFIG := config@4
324         BLOCKSIZE := 64k
325         PAGESIZE := 256
326         BOARD_NAME := ENS620EXT
327         VENDOR_ID := 0x0101
328         PRODUCT_ID := 0x79
329         PRODUCT_ID_NEW := 0xA4
330         DATECODE := 190507
331         FW_VER := 3.1.2
332         FW_VER_NEW := 3.5.6
333         CW_VER := 1.8.99
334         IMAGE_SIZE := 21312k
335         KERNEL_SIZE := 5120k
336         FILESYSTEMS := squashfs
337         IMAGES := sysupgrade.bin factory_30.bin factory_35.bin
338         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | append-metadata
339         IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER)
340         IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size $$$$(IMAGE_SIZE) | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW)
341 endef
342 TARGET_DEVICES += engenius_ens620ext
343
344 define Device/ezviz_cs-w3-wd1200g-eup
345         $(call Device/FitImage)
346         DEVICE_VENDOR := EZVIZ
347         DEVICE_MODEL := CS-W3-WD1200G
348         DEVICE_VARIANT := EUP
349         DEVICE_DTS_CONFIG := config@4
350         IMAGE_SIZE := 14848k
351         SOC := qcom-ipq4018
352         IMAGES := sysupgrade.bin
353         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
354                 append-metadata
355         DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \
356                 ipq-wifi-ezviz_cs-w3-wd1200g-eup
357 endef
358 TARGET_DEVICES += ezviz_cs-w3-wd1200g-eup
359
360 define Device/glinet_gl-b1300
361         $(call Device/FitImage)
362         DEVICE_VENDOR := GL.iNet
363         DEVICE_MODEL := GL-B1300
364         BOARD_NAME := gl-b1300
365         SOC := qcom-ipq4029
366         KERNEL_SIZE := 4096k
367         IMAGE_SIZE := 26624k
368         IMAGES := sysupgrade.bin
369         IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
370 endef
371 TARGET_DEVICES += glinet_gl-b1300
372
373 define Device/linksys_ea6350v3
374         # The Linksys EA6350v3 has a uboot bootloader that does not
375         # support either booting lzma kernel images nor booting UBI
376         # partitions. This uboot, however, supports raw kernel images and
377         # gzipped images.
378         #
379         # As for the time of writing this, the device will boot the kernel
380         # from a fixed address with a fixed length of 3MiB. Also, the
381         # device has a hard-coded kernel command line that requieres the
382         # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
383         # Oh... and the kernel partition overlaps with the rootfs
384         # partition (the same for alt_kernel and alt_rootfs).
385         #
386         # If you are planing re-partitioning the device, you may want to
387         # keep those details in mind:
388         # 1. The kernel adresses you should honor are 0x00000000 and
389         #    0x02800000 respectively.
390         # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
391         # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
392         # 4. The kernel command line from uboot is harcoded to boot with
393         #    rootfs either in mtd11 or mtd13.
394         $(call Device/FitzImage)
395         DEVICE_VENDOR := Linksys
396         DEVICE_MODEL := EA6350
397         DEVICE_VARIANT := v3
398         SOC := qcom-ipq4018
399         BLOCKSIZE := 128k
400         PAGESIZE := 2048
401         KERNEL_SIZE := 3072k
402         IMAGE_SIZE := 37888k
403         UBINIZE_OPTS := -E 5
404         IMAGES := factory.bin sysupgrade.bin
405         IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA6350v3
406         DEVICE_PACKAGES := uboot-envtools
407 endef
408 TARGET_DEVICES += linksys_ea6350v3
409
410 define Device/linksys_ea8300
411         $(call Device/FitzImage)
412         DEVICE_VENDOR := Linksys
413         DEVICE_MODEL := EA8300
414         SOC := qcom-ipq4019
415         KERNEL_SIZE := 3072k
416         IMAGE_SIZE := 87040k
417         BLOCKSIZE := 128k
418         PAGESIZE := 2048
419         UBINIZE_OPTS := -E 5    # EOD marks to "hide" factory sig at EOF
420         IMAGES := sysupgrade.bin factory.bin
421         IMAGE/factory.bin  := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA8300
422         DEVICE_PACKAGES := uboot-envtools ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
423 endef
424 TARGET_DEVICES += linksys_ea8300
425
426 define Device/meraki_mr33
427         $(call Device/FitImage)
428         DEVICE_VENDOR := Cisco Meraki
429         DEVICE_MODEL := MR33
430         SOC := qcom-ipq4029
431         BLOCKSIZE := 128k
432         PAGESIZE := 2048
433         IMAGES = sysupgrade.bin
434         DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
435 endef
436 TARGET_DEVICES += meraki_mr33
437
438 define Device/netgear_ex61x0v2
439         $(call Device/DniImage)
440         DEVICE_DTS_CONFIG := config@4
441         NETGEAR_BOARD_ID := EX6150v2series
442         NETGEAR_HW_ID := 29765285+16+0+128+2x2
443         SOC := qcom-ipq4018
444 endef
445
446 define Device/netgear_ex6100v2
447         $(call Device/netgear_ex61x0v2)
448         DEVICE_VENDOR := Netgear
449         DEVICE_MODEL := EX6100
450         DEVICE_VARIANT := v2
451 endef
452 TARGET_DEVICES += netgear_ex6100v2
453
454 define Device/netgear_ex6150v2
455         $(call Device/netgear_ex61x0v2)
456         DEVICE_VENDOR := Netgear
457         DEVICE_MODEL := EX6150
458         DEVICE_VARIANT := v2
459 endef
460 TARGET_DEVICES += netgear_ex6150v2
461
462 define Device/openmesh_a42
463         $(call Device/FitImageLzma)
464         DEVICE_VENDOR := OpenMesh
465         DEVICE_MODEL := A42
466         SOC := qcom-ipq4018
467         DEVICE_DTS_CONFIG := config@om.a42
468         BLOCKSIZE := 64k
469         KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
470         IMAGE_SIZE := 15616k
471         IMAGES = factory.bin sysupgrade.bin
472         IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
473         IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
474         DEVICE_PACKAGES := uboot-envtools
475 endef
476 TARGET_DEVICES += openmesh_a42
477
478 define Device/openmesh_a62
479         $(call Device/FitImageLzma)
480         DEVICE_VENDOR := OpenMesh
481         DEVICE_MODEL := A62
482         SOC := qcom-ipq4019
483         DEVICE_DTS_CONFIG := config@om.a62
484         BLOCKSIZE := 64k
485         KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
486         IMAGE_SIZE := 15552k
487         IMAGES = factory.bin sysupgrade.bin
488         IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
489         IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
490         DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools
491 endef
492
493 TARGET_DEVICES += openmesh_a62
494
495 define Device/qcom_ap-dk01.1-c1
496         DEVICE_VENDOR := Qualcomm Atheros
497         DEVICE_MODEL := AP-DK01.1
498         DEVICE_VARIANT := C1
499         BOARD_NAME := ap-dk01.1-c1
500         SOC := qcom-ipq4019
501         DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
502         KERNEL_INSTALL := 1
503         KERNEL_SIZE := 4096k
504         IMAGE_SIZE := 26624k
505         $(call Device/FitImage)
506         IMAGES := sysupgrade.bin
507         IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
508 endef
509 TARGET_DEVICES += qcom_ap-dk01.1-c1
510
511 define Device/qcom_ap-dk04.1-c1
512         $(call Device/FitImage)
513         $(call Device/UbiFit)
514         DEVICE_VENDOR := Qualcomm Atheros
515         DEVICE_MODEL := AP-DK04.1
516         DEVICE_VARIANT := C1
517         SOC := qcom-ipq4019
518         DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
519         KERNEL_INSTALL := 1
520         KERNEL_SIZE := 4048k
521         BLOCKSIZE := 128k
522         PAGESIZE := 2048
523         BOARD_NAME := ap-dk04.1-c1
524 endef
525 TARGET_DEVICES += qcom_ap-dk04.1-c1
526
527 define Device/qxwlan_e2600ac-c1
528         $(call Device/FitImage)
529         DEVICE_VENDOR := Qxwlan
530         DEVICE_MODEL := E2600AC
531         DEVICE_VARIANT := C1
532         BOARD_NAME := e2600ac-c1
533         SOC := qcom-ipq4019
534         KERNEL_SIZE := 4096k
535         IMAGE_SIZE := 31232k
536         IMAGES := sysupgrade.bin
537         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
538         DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
539 endef
540 TARGET_DEVICES += qxwlan_e2600ac-c1
541
542 define Device/qxwlan_e2600ac-c2
543         $(call Device/FitImage)
544         $(call Device/UbiFit)
545         DEVICE_VENDOR := Qxwlan
546         DEVICE_MODEL := E2600AC
547         DEVICE_VARIANT := C2
548         SOC := qcom-ipq4019
549         KERNEL_INSTALL := 1
550         BLOCKSIZE := 128k
551         PAGESIZE := 2048
552         DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac
553 endef
554 TARGET_DEVICES += qxwlan_e2600ac-c2
555
556 define Device/unielec_u4019-32m
557         $(call Device/FitImage)
558         DEVICE_VENDOR := Unielec
559         DEVICE_MODEL := U4019
560         DEVICE_VARIANT := 32M
561         BOARD_NAME := u4019-32m
562         SOC := qcom-ipq4019
563         KERNEL_SIZE := 4096k
564         IMAGE_SIZE := 31232k
565         IMAGES := sysupgrade.bin
566         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
567 endef
568 TARGET_DEVICES += unielec_u4019-32m
569
570 define Device/zyxel_nbg6617
571         $(call Device/FitImageLzma)
572         DEVICE_VENDOR := ZyXEL
573         DEVICE_MODEL := NBG6617
574         SOC := qcom-ipq4018
575         ROOTFS_SIZE := 24960k
576         RAS_BOARD := NBG6617
577         RAS_ROOTFS_SIZE := 19840k
578         RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
579         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
580         IMAGES := sysupgrade.bin factory.bin
581 #       The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
582 #       at least as large as the one of the initial firmware image (not the current
583 #       one on the device). This only applies to the Web-UI, the bootlaoder ignores
584 #       this minimum-size. However, the larger image can be flashed both ways.
585         IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
586         IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
587         DEVICE_PACKAGES := uboot-envtools kmod-usb-ledtrig-usbport
588 endef
589 TARGET_DEVICES += zyxel_nbg6617
590
591 define Device/zyxel_wre6606
592         $(call Device/FitImage)
593         DEVICE_VENDOR := ZyXEL
594         DEVICE_MODEL := WRE6606
595         DEVICE_DTS_CONFIG := config@4
596         SOC := qcom-ipq4018
597         IMAGES := sysupgrade.bin
598         IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
599         DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers
600 endef
601 TARGET_DEVICES += zyxel_wre6606
602
603 $(eval $(call BuildImage))