mediatek: add support for ZyXEL NWA50AX Pro
[openwrt/staging/wigyori.git] / target / linux / mediatek / image / filogic.mk
1 DTS_DIR := $(DTS_DIR)/mediatek
2
3 define Image/Prepare
4 # For UBI we want only one extra block
5 rm -f $(KDIR)/ubi_mark
6 echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
7 endef
8
9 define Build/mt7981-bl2
10 cat $(STAGING_DIR_IMAGE)/mt7981-$1-bl2.img >> $@
11 endef
12
13 define Build/mt7981-bl31-uboot
14 cat $(STAGING_DIR_IMAGE)/mt7981_$1-u-boot.fip >> $@
15 endef
16
17 define Build/mt7986-bl2
18 cat $(STAGING_DIR_IMAGE)/mt7986-$1-bl2.img >> $@
19 endef
20
21 define Build/mt7986-bl31-uboot
22 cat $(STAGING_DIR_IMAGE)/mt7986_$1-u-boot.fip >> $@
23 endef
24
25 define Build/mt7986-gpt
26 cp $@ $@.tmp 2>/dev/null || true
27 ptgen -g -o $@.tmp -a 1 -l 1024 \
28 $(if $(findstring sdmmc,$1), \
29 -H \
30 -t 0x83 -N bl2 -r -p 4079k@17k \
31 ) \
32 -t 0x83 -N ubootenv -r -p 512k@4M \
33 -t 0x83 -N factory -r -p 2M@4608k \
34 -t 0xef -N fip -r -p 4M@6656k \
35 -N recovery -r -p 32M@12M \
36 $(if $(findstring sdmmc,$1), \
37 -N install -r -p 20M@44M \
38 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \
39 ) \
40 $(if $(findstring emmc,$1), \
41 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \
42 )
43 cat $@.tmp >> $@
44 rm $@.tmp
45 endef
46
47 metadata_gl_json = \
48 '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \
49 "metadata_version": "1.1", \
50 "compat_version": "$(call json_quote,$(compat_version))", \
51 $(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \
52 $(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \
53 [$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \
54 "supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \
55 $(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \
56 "version": { \
57 "release": "$(call json_quote,$(VERSION_NUMBER))", \
58 "date": "$(shell TZ='Asia/Chongqing' date '+%Y%m%d%H%M%S')", \
59 "dist": "$(call json_quote,$(VERSION_DIST))", \
60 "version": "$(call json_quote,$(VERSION_NUMBER))", \
61 "revision": "$(call json_quote,$(REVISION))", \
62 "target": "$(call json_quote,$(TARGETID))", \
63 "board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \
64 } \
65 }'
66
67 define Build/append-gl-metadata
68 $(if $(SUPPORTED_DEVICES),-echo $(call metadata_gl_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@)
69 sha256sum "$@" | cut -d" " -f1 > "$@.sha256sum"
70 [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \
71 cp "$(BUILD_KEY).ucert" "$@.ucert" ;\
72 usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\
73 ucert -A -c "$@.ucert" -x "$@.sig" ;\
74 fwtool -S "$@.ucert" "$@" ;\
75 }
76 endef
77
78 define Build/zyxel-nwa-fit-filogic
79 $(TOPDIR)/scripts/mkits-zyxel-fit-filogic.sh \
80 $@.its $@ "80 e1 ff ff ff ff ff ff ff ff"
81 PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
82 @mv $@.new $@
83 endef
84
85 define Device/asus_tuf-ax4200
86 DEVICE_VENDOR := ASUS
87 DEVICE_MODEL := TUF-AX4200
88 DEVICE_DTS := mt7986a-asus-tuf-ax4200
89 DEVICE_DTS_DIR := ../dts
90 DEVICE_DTS_LOADADDR := 0x47000000
91 DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
92 IMAGES := sysupgrade.bin
93 KERNEL := kernel-bin | lzma | \
94 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
95 KERNEL_INITRAMFS := kernel-bin | lzma | \
96 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
97 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
98 endef
99 TARGET_DEVICES += asus_tuf-ax4200
100
101 define Device/bananapi_bpi-r3
102 DEVICE_VENDOR := Bananapi
103 DEVICE_MODEL := BPi-R3
104 DEVICE_DTS := mt7986a-bananapi-bpi-r3
105 DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3
106 DEVICE_DTS_OVERLAY:= mt7986a-bananapi-bpi-r3-emmc mt7986a-bananapi-bpi-r3-nand mt7986a-bananapi-bpi-r3-nor mt7986a-bananapi-bpi-r3-sd
107 DEVICE_DTS_DIR := $(DTS_DIR)/
108 DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-gpio kmod-mt7986-firmware kmod-sfp kmod-usb3 e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
109 IMAGES := sysupgrade.itb
110 KERNEL_LOADADDR := 0x44000000
111 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
112 ARTIFACTS := \
113 emmc-preloader.bin emmc-bl31-uboot.fip \
114 nor-preloader.bin nor-bl31-uboot.fip \
115 sdcard.img.gz \
116 snand-preloader.bin snand-bl31-uboot.fip
117 ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
118 ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-emmc
119 ARTIFACT/nor-preloader.bin := mt7986-bl2 nor-ddr4
120 ARTIFACT/nor-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-nor
121 ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ddr4
122 ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-snand
123 ARTIFACT/sdcard.img.gz := mt7986-gpt sdmmc |\
124 pad-to 17k | mt7986-bl2 sdmmc-ddr4 |\
125 pad-to 6656k | mt7986-bl31-uboot bananapi_bpi-r3-sdmmc |\
126 $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
127 pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
128 ) \
129 pad-to 44M | mt7986-bl2 spim-nand-ddr4 |\
130 pad-to 45M | mt7986-bl31-uboot bananapi_bpi-r3-snand |\
131 pad-to 49M | mt7986-bl2 nor-ddr4 |\
132 pad-to 50M | mt7986-bl31-uboot bananapi_bpi-r3-nor |\
133 pad-to 51M | mt7986-bl2 emmc-ddr4 |\
134 pad-to 52M | mt7986-bl31-uboot bananapi_bpi-r3-emmc |\
135 pad-to 56M | mt7986-gpt emmc |\
136 $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
137 pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
138 ) \
139 gzip
140 IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
141 KERNEL := kernel-bin | gzip
142 KERNEL_INITRAMFS := kernel-bin | lzma | \
143 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
144 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
145 DEVICE_DTC_FLAGS := --pad 4096
146 DEVICE_COMPAT_VERSION := 1.1
147 DEVICE_COMPAT_MESSAGE := Device tree overlay mechanism needs bootloader update
148 endef
149 TARGET_DEVICES += bananapi_bpi-r3
150
151 define Device/cudy_wr3000-v1
152 DEVICE_VENDOR := Cudy
153 DEVICE_MODEL := WR3000
154 DEVICE_VARIANT := v1
155 DEVICE_DTS := mt7981b-cudy-wr3000-v1
156 DEVICE_DTS_DIR := ../dts
157 DEVICE_DTS_LOADADDR := 0x47000000
158 IMAGES := sysupgrade.bin
159 IMAGE_SIZE := 15424k
160 SUPPORTED_DEVICES += R31
161 KERNEL := kernel-bin | lzma | \
162 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
163 KERNEL_INITRAMFS := kernel-bin | lzma | \
164 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
165 IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
166 DEVICE_PACKAGES := kmod-mt7981-firmware
167 endef
168 TARGET_DEVICES += cudy_wr3000-v1
169
170 define Device/glinet_gl-mt3000
171 DEVICE_VENDOR := GL.iNet
172 DEVICE_MODEL := GL-MT3000
173 DEVICE_DTS := mt7981b-glinet-gl-mt3000
174 DEVICE_DTS_DIR := ../dts
175 SUPPORTED_DEVICES += glinet,mt3000-snand
176 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3
177 UBINIZE_OPTS := -E 5
178 BLOCKSIZE := 128k
179 PAGESIZE := 2048
180 IMAGE_SIZE := 246272k
181 KERNEL_IN_UBI := 1
182 IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
183 endef
184 TARGET_DEVICES += glinet_gl-mt3000
185
186 define Device/h3c_magic-nx30-pro
187 DEVICE_VENDOR := H3C
188 DEVICE_MODEL := Magic NX30 Pro
189 DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
190 DEVICE_DTS_DIR := ../dts
191 UBINIZE_OPTS := -E 5
192 BLOCKSIZE := 128k
193 PAGESIZE := 2048
194 KERNEL_IN_UBI := 1
195 UBOOTENV_IN_UBI := 1
196 IMAGE_SIZE := 65536k
197 IMAGES := sysupgrade.itb
198 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
199 KERNEL := kernel-bin | gzip
200 KERNEL_INITRAMFS := kernel-bin | lzma | \
201 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
202 IMAGE/sysupgrade.itb := append-kernel | \
203 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
204 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
205 ARTIFACTS := preloader.bin bl31-uboot.fip
206 ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
207 ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot h3c_magic-nx30-pro
208 endef
209 TARGET_DEVICES += h3c_magic-nx30-pro
210
211 define Device/netgear_wax220
212 DEVICE_VENDOR := Netgear
213 DEVICE_MODEL := WAX220
214 DEVICE_DTS := mt7986b-netgear-wax220
215 DEVICE_DTS_DIR := ../dts
216 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
217 IMAGES := sysupgrade.bin
218 KERNEL_IN_UBI := 1
219 KERNEL := kernel-bin | lzma | \
220 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
221 KERNEL_INITRAMFS := kernel-bin | lzma | \
222 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
223 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
224 endef
225 TARGET_DEVICES += netgear_wax220
226
227 define Device/mediatek_mt7986a-rfb-nand
228 DEVICE_VENDOR := MediaTek
229 DEVICE_MODEL := MT7986 rfba AP (NAND)
230 DEVICE_DTS := mt7986a-rfb-spim-nand
231 DEVICE_DTS_DIR := $(DTS_DIR)/
232 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
233 SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
234 UBINIZE_OPTS := -E 5
235 BLOCKSIZE := 128k
236 PAGESIZE := 2048
237 IMAGE_SIZE := 65536k
238 KERNEL_IN_UBI := 1
239 IMAGES += factory.bin
240 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
241 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
242 KERNEL = kernel-bin | lzma | \
243 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
244 KERNEL_INITRAMFS = kernel-bin | lzma | \
245 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
246 endef
247 TARGET_DEVICES += mediatek_mt7986a-rfb-nand
248
249 define Device/mediatek_mt7986b-rfb
250 DEVICE_VENDOR := MediaTek
251 DEVICE_MODEL := MTK7986 rfbb AP
252 DEVICE_DTS := mt7986b-rfb
253 DEVICE_DTS_DIR := $(DTS_DIR)/
254 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
255 SUPPORTED_DEVICES := mediatek,mt7986b-rfb
256 UBINIZE_OPTS := -E 5
257 BLOCKSIZE := 128k
258 PAGESIZE := 2048
259 IMAGE_SIZE := 65536k
260 KERNEL_IN_UBI := 1
261 IMAGES += factory.bin
262 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
263 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
264 endef
265 TARGET_DEVICES += mediatek_mt7986b-rfb
266
267 define Device/mediatek_mt7988a-rfb-nand
268 DEVICE_VENDOR := MediaTek
269 DEVICE_MODEL := MT7988a nand rfb
270 DEVICE_DTS := mt7988a-dsa-10g-spim-nand
271 DEVICE_DTS_DIR := $(DTS_DIR)/
272 KERNEL_LOADADDR := 0x48000000
273 SUPPORTED_DEVICES := mediatek,mt7988a-rfb
274 UBINIZE_OPTS := -E 5
275 BLOCKSIZE := 128k
276 PAGESIZE := 2048
277 IMAGE_SIZE := 65536k
278 KERNEL_IN_UBI := 1
279 IMAGES += factory.bin
280 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
281 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
282 endef
283 TARGET_DEVICES += mediatek_mt7988a-rfb-nand
284
285 define Device/mercusys_mr90x-v1
286 DEVICE_VENDOR := Mercusys
287 DEVICE_MODEL := MR90X v1
288 DEVICE_DTS := mt7986b-mercusys-mr90x-v1
289 DEVICE_DTS_DIR := ../dts
290 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
291 UBINIZE_OPTS := -E 5
292 BLOCKSIZE := 128k
293 PAGESIZE := 2048
294 IMAGE_SIZE := 51200k
295 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
296 endef
297 TARGET_DEVICES += mercusys_mr90x-v1
298
299 define Device/qihoo_360t7
300 DEVICE_VENDOR := Qihoo
301 DEVICE_MODEL := 360T7
302 DEVICE_DTS := mt7981b-qihoo-360t7
303 DEVICE_DTS_DIR := ../dts
304 UBINIZE_OPTS := -E 5
305 BLOCKSIZE := 128k
306 PAGESIZE := 2048
307 KERNEL_IN_UBI := 1
308 UBOOTENV_IN_UBI := 1
309 IMAGES := sysupgrade.itb
310 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
311 KERNEL := kernel-bin | gzip
312 KERNEL_INITRAMFS := kernel-bin | lzma | \
313 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
314 IMAGE/sysupgrade.itb := append-kernel | \
315 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
316 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
317 ARTIFACTS := preloader.bin bl31-uboot.fip
318 ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
319 ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot qihoo_360t7
320 endef
321 TARGET_DEVICES += qihoo_360t7
322
323 define Device/tplink_tl-xdr-common
324 DEVICE_VENDOR := TP-Link
325 DEVICE_DTS_DIR := ../dts
326 UBINIZE_OPTS := -E 5
327 BLOCKSIZE := 128k
328 PAGESIZE := 2048
329 KERNEL_IN_UBI := 1
330 UBOOTENV_IN_UBI := 1
331 IMAGES := sysupgrade.itb
332 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
333 KERNEL := kernel-bin | gzip
334 KERNEL_INITRAMFS := kernel-bin | lzma | \
335 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
336 IMAGE/sysupgrade.itb := append-kernel | \
337 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
338 DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
339 ARTIFACTS := preloader.bin bl31-uboot.fip
340 ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
341 endef
342
343 define Device/tplink_tl-xdr4288
344 DEVICE_MODEL := TL-XDR4288
345 DEVICE_DTS := mt7986a-tplink-tl-xdr4288
346 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr4288
347 $(call Device/tplink_tl-xdr-common)
348 endef
349 TARGET_DEVICES += tplink_tl-xdr4288
350
351 define Device/tplink_tl-xdr6086
352 DEVICE_MODEL := TL-XDR6086
353 DEVICE_DTS := mt7986a-tplink-tl-xdr6086
354 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6086
355 $(call Device/tplink_tl-xdr-common)
356 endef
357 TARGET_DEVICES += tplink_tl-xdr6086
358
359 define Device/tplink_tl-xdr6088
360 DEVICE_MODEL := TL-XDR6088
361 DEVICE_DTS := mt7986a-tplink-tl-xdr6088
362 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6088
363 $(call Device/tplink_tl-xdr-common)
364 endef
365 TARGET_DEVICES += tplink_tl-xdr6088
366
367 define Device/xiaomi_redmi-router-ax6000-stock
368 DEVICE_VENDOR := Xiaomi
369 DEVICE_MODEL := Redmi Router AX6000 (stock layout)
370 DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock
371 DEVICE_DTS_DIR := ../dts
372 DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
373 UBINIZE_OPTS := -E 5
374 BLOCKSIZE := 128k
375 PAGESIZE := 2048
376 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
377 ARTIFACTS := initramfs-factory.ubi
378 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
379 endif
380 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
381 endef
382 TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock
383
384 define Device/xiaomi_redmi-router-ax6000-ubootmod
385 DEVICE_VENDOR := Xiaomi
386 DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout)
387 DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod
388 DEVICE_DTS_DIR := ../dts
389 DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
390 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
391 IMAGES := sysupgrade.itb
392 UBINIZE_OPTS := -E 5
393 BLOCKSIZE := 128k
394 PAGESIZE := 2048
395 KERNEL_IN_UBI := 1
396 UBOOTENV_IN_UBI := 1
397 KERNEL := kernel-bin | gzip
398 KERNEL_INITRAMFS := kernel-bin | lzma | \
399 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
400 IMAGE/sysupgrade.itb := append-kernel | \
401 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
402 ARTIFACTS := preloader.bin bl31-uboot.fip
403 ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
404 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot xiaomi_redmi-router-ax6000
405 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
406 ARTIFACTS += initramfs-factory.ubi
407 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
408 endif
409 endef
410 TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod
411
412 define Device/zyxel_ex5601-t0-stock
413 DEVICE_VENDOR := Zyxel
414 DEVICE_MODEL := EX5601-T0 (stock layout)
415 DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
416 DEVICE_DTS_DIR := ../dts
417 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
418 SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
419 UBINIZE_OPTS := -E 5
420 BLOCKSIZE := 256k
421 PAGESIZE := 4096
422 IMAGE_SIZE := 65536k
423 KERNEL_IN_UBI := 1
424 IMAGES += factory.bin
425 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
426 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
427 KERNEL = kernel-bin | lzma | \
428 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
429 KERNEL_INITRAMFS = kernel-bin | lzma | \
430 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
431 endef
432 TARGET_DEVICES += zyxel_ex5601-t0-stock
433
434 define Device/zyxel_nwa50ax-pro
435 DEVICE_VENDOR := ZyXEL
436 DEVICE_MODEL := NWA50AX Pro
437 DEVICE_DTS := mt7981b-zyxel-nwa50ax-pro
438 DEVICE_DTS_DIR := ../dts
439 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware zyxel-bootconfig
440 DEVICE_DTS_LOADADDR := 0x44000000
441 UBINIZE_OPTS := -E 5
442 BLOCKSIZE := 128k
443 PAGESIZE := 2048
444 IMAGE_SIZE := 51200k
445 KERNEL_IN_UBI := 1
446 IMAGES += factory.bin
447 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | zyxel-nwa-fit-filogic
448 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
449 endef
450 TARGET_DEVICES += zyxel_nwa50ax-pro