treewide: fix shell errors during dump stage
[openwrt/staging/hauke.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/mt7988-bl2
26 cat $(STAGING_DIR_IMAGE)/mt7988-$1-bl2.img >> $@
27 endef
28
29 define Build/mt7988-bl31-uboot
30 cat $(STAGING_DIR_IMAGE)/mt7988_$1-u-boot.fip >> $@
31 endef
32
33 define Build/mt798x-gpt
34 cp $@ $@.tmp 2>/dev/null || true
35 ptgen -g -o $@.tmp -a 1 -l 1024 \
36 $(if $(findstring sdmmc,$1), \
37 -H \
38 -t 0x83 -N bl2 -r -p 4079k@17k \
39 ) \
40 -t 0x83 -N ubootenv -r -p 512k@4M \
41 -t 0x83 -N factory -r -p 2M@4608k \
42 -t 0xef -N fip -r -p 4M@6656k \
43 -N recovery -r -p 32M@12M \
44 $(if $(findstring sdmmc,$1), \
45 -N install -r -p 20M@44M \
46 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \
47 ) \
48 $(if $(findstring emmc,$1), \
49 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \
50 )
51 cat $@.tmp >> $@
52 rm $@.tmp
53 endef
54
55 metadata_gl_json = \
56 '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \
57 "metadata_version": "1.1", \
58 "compat_version": "$(call json_quote,$(compat_version))", \
59 $(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \
60 $(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \
61 [$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \
62 "supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \
63 $(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \
64 "version": { \
65 "release": "$(call json_quote,$(VERSION_NUMBER))", \
66 "date": "$(shell TZ='Asia/Chongqing' date '+%Y%m%d%H%M%S')", \
67 "dist": "$(call json_quote,$(VERSION_DIST))", \
68 "version": "$(call json_quote,$(VERSION_NUMBER))", \
69 "revision": "$(call json_quote,$(REVISION))", \
70 "target": "$(call json_quote,$(TARGETID))", \
71 "board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \
72 } \
73 }'
74
75 define Build/append-gl-metadata
76 $(if $(SUPPORTED_DEVICES),-echo $(call metadata_gl_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@)
77 sha256sum "$@" | cut -d" " -f1 > "$@.sha256sum"
78 [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \
79 cp "$(BUILD_KEY).ucert" "$@.ucert" ;\
80 usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\
81 ucert -A -c "$@.ucert" -x "$@.sig" ;\
82 fwtool -S "$@.ucert" "$@" ;\
83 }
84 endef
85
86 define Build/zyxel-nwa-fit-filogic
87 $(TOPDIR)/scripts/mkits-zyxel-fit-filogic.sh \
88 $@.its $@ "80 e1 ff ff ff ff ff ff ff ff"
89 PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
90 @mv $@.new $@
91 endef
92
93 define Device/asus_tuf-ax4200
94 DEVICE_VENDOR := ASUS
95 DEVICE_MODEL := TUF-AX4200
96 DEVICE_DTS := mt7986a-asus-tuf-ax4200
97 DEVICE_DTS_DIR := ../dts
98 DEVICE_DTS_LOADADDR := 0x47000000
99 DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
100 IMAGES := sysupgrade.bin
101 KERNEL := kernel-bin | lzma | \
102 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
103 KERNEL_INITRAMFS := kernel-bin | lzma | \
104 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
105 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
106 endef
107 TARGET_DEVICES += asus_tuf-ax4200
108
109 define Device/acer_predator-w6
110 DEVICE_VENDOR := Acer
111 DEVICE_MODEL := Predator W6
112 DEVICE_DTS := mt7986a-acer-predator-w6
113 DEVICE_DTS_DIR := ../dts
114 DEVICE_DTS_LOADADDR := 0x47000000
115 DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
116 IMAGES := sysupgrade.bin
117 KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
118 KERNEL_INITRAMFS := kernel-bin | lzma | \
119 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
120 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
121 endef
122 TARGET_DEVICES += acer_predator-w6
123
124 define Device/bananapi_bpi-r3
125 DEVICE_VENDOR := Bananapi
126 DEVICE_MODEL := BPi-R3
127 DEVICE_DTS := mt7986a-bananapi-bpi-r3
128 DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3
129 DEVICE_DTS_OVERLAY:= mt7986a-bananapi-bpi-r3-emmc mt7986a-bananapi-bpi-r3-nand mt7986a-bananapi-bpi-r3-nor mt7986a-bananapi-bpi-r3-sd
130 DEVICE_DTS_DIR := $(DTS_DIR)/
131 DEVICE_DTS_LOADADDR := 0x43f00000
132 DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-gpio kmod-mt7986-firmware kmod-sfp kmod-usb3 e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
133 IMAGES := sysupgrade.itb
134 KERNEL_LOADADDR := 0x44000000
135 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
136 ARTIFACTS := \
137 emmc-preloader.bin emmc-bl31-uboot.fip \
138 nor-preloader.bin nor-bl31-uboot.fip \
139 sdcard.img.gz \
140 snand-preloader.bin snand-bl31-uboot.fip
141 ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
142 ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-emmc
143 ARTIFACT/nor-preloader.bin := mt7986-bl2 nor-ddr4
144 ARTIFACT/nor-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-nor
145 ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ddr4
146 ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-snand
147 ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
148 pad-to 17k | mt7986-bl2 sdmmc-ddr4 |\
149 pad-to 6656k | mt7986-bl31-uboot bananapi_bpi-r3-sdmmc |\
150 $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
151 pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
152 ) \
153 pad-to 44M | mt7986-bl2 spim-nand-ddr4 |\
154 pad-to 45M | mt7986-bl31-uboot bananapi_bpi-r3-snand |\
155 pad-to 49M | mt7986-bl2 nor-ddr4 |\
156 pad-to 50M | mt7986-bl31-uboot bananapi_bpi-r3-nor |\
157 pad-to 51M | mt7986-bl2 emmc-ddr4 |\
158 pad-to 52M | mt7986-bl31-uboot bananapi_bpi-r3-emmc |\
159 pad-to 56M | mt798x-gpt emmc |\
160 $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
161 pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
162 ) \
163 gzip
164 ifeq ($(DUMP),)
165 IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
166 endif
167 KERNEL := kernel-bin | gzip
168 KERNEL_INITRAMFS := kernel-bin | lzma | \
169 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
170 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
171 DEVICE_DTC_FLAGS := --pad 4096
172 DEVICE_COMPAT_VERSION := 1.1
173 DEVICE_COMPAT_MESSAGE := Device tree overlay mechanism needs bootloader update
174 endef
175 TARGET_DEVICES += bananapi_bpi-r3
176
177 define Device/cmcc_rax3000m
178 DEVICE_VENDOR := CMCC
179 DEVICE_MODEL := RAX3000M
180 DEVICE_DTS := mt7981b-cmcc-rax3000m
181 DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand
182 DEVICE_DTS_DIR := ../dts
183 DEVICE_DTC_FLAGS := --pad 4096
184 DEVICE_DTS_LOADADDR := 0x43f00000
185 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 \
186 e2fsprogs f2fsck mkf2fs
187 KERNEL_LOADADDR := 0x44000000
188 KERNEL := kernel-bin | gzip
189 KERNEL_INITRAMFS := kernel-bin | lzma | \
190 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
191 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
192 KERNEL_IN_UBI := 1
193 UBOOTENV_IN_UBI := 1
194 IMAGES := sysupgrade.itb
195 IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
196 IMAGE/sysupgrade.itb := append-kernel | \
197 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
198 pad-rootfs | append-metadata
199 ARTIFACTS := \
200 emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
201 nand-preloader.bin nand-bl31-uboot.fip
202 ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
203 ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr4
204 ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-emmc
205 ARTIFACT/nand-preloader.bin := mt7981-bl2 spim-nand-ddr4
206 ARTIFACT/nand-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-nand
207 endef
208 TARGET_DEVICES += cmcc_rax3000m
209
210 define Device/cudy_wr3000-v1
211 DEVICE_VENDOR := Cudy
212 DEVICE_MODEL := WR3000
213 DEVICE_VARIANT := v1
214 DEVICE_DTS := mt7981b-cudy-wr3000-v1
215 DEVICE_DTS_DIR := ../dts
216 DEVICE_DTS_LOADADDR := 0x47000000
217 IMAGES := sysupgrade.bin
218 IMAGE_SIZE := 15424k
219 SUPPORTED_DEVICES += R31
220 KERNEL := kernel-bin | lzma | \
221 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
222 KERNEL_INITRAMFS := kernel-bin | lzma | \
223 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
224 IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
225 DEVICE_PACKAGES := kmod-mt7981-firmware
226 endef
227 TARGET_DEVICES += cudy_wr3000-v1
228
229 define Device/glinet_gl-mt3000
230 DEVICE_VENDOR := GL.iNet
231 DEVICE_MODEL := GL-MT3000
232 DEVICE_DTS := mt7981b-glinet-gl-mt3000
233 DEVICE_DTS_DIR := ../dts
234 SUPPORTED_DEVICES += glinet,mt3000-snand
235 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3
236 UBINIZE_OPTS := -E 5
237 BLOCKSIZE := 128k
238 PAGESIZE := 2048
239 IMAGE_SIZE := 246272k
240 KERNEL_IN_UBI := 1
241 IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
242 endef
243 TARGET_DEVICES += glinet_gl-mt3000
244
245 define Device/h3c_magic-nx30-pro
246 DEVICE_VENDOR := H3C
247 DEVICE_MODEL := Magic NX30 Pro
248 DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
249 DEVICE_DTS_DIR := ../dts
250 UBINIZE_OPTS := -E 5
251 BLOCKSIZE := 128k
252 PAGESIZE := 2048
253 KERNEL_IN_UBI := 1
254 UBOOTENV_IN_UBI := 1
255 IMAGE_SIZE := 65536k
256 IMAGES := sysupgrade.itb
257 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
258 KERNEL := kernel-bin | gzip
259 KERNEL_INITRAMFS := kernel-bin | lzma | \
260 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
261 IMAGE/sysupgrade.itb := append-kernel | \
262 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
263 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
264 ARTIFACTS := preloader.bin bl31-uboot.fip
265 ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
266 ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot h3c_magic-nx30-pro
267 endef
268 TARGET_DEVICES += h3c_magic-nx30-pro
269
270 define Device/netgear_wax220
271 DEVICE_VENDOR := NETGEAR
272 DEVICE_MODEL := WAX220
273 DEVICE_DTS := mt7986b-netgear-wax220
274 DEVICE_DTS_DIR := ../dts
275 NETGEAR_ENC_MODEL := WAX220
276 NETGEAR_ENC_REGION := US
277 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
278 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
279 IMAGE_SIZE := 32768k
280 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
281 IMAGES += factory.img
282 # Padding to 10M seems to be required by OEM web interface
283 IMAGE/factory.img := sysupgrade-tar | \
284 pad-to 10M | check-size | netgear-encrypted-factory
285 endef
286 TARGET_DEVICES += netgear_wax220
287
288 define Device/mediatek_mt7981-rfb
289 DEVICE_VENDOR := MediaTek
290 DEVICE_MODEL := MT7981 rfb
291 DEVICE_DTS := mt7981-rfb
292 DEVICE_DTS_OVERLAY:= \
293 mt7981-rfb-spim-nand \
294 mt7981-rfb-mxl-2p5g-phy-eth1 \
295 mt7981-rfb-mxl-2p5g-phy-swp5
296 DEVICE_DTS_DIR := $(DTS_DIR)/
297 DEVICE_DTC_FLAGS := --pad 4096
298 DEVICE_DTS_LOADADDR := 0x43f00000
299 DEVICE_PACKAGES := kmod-mt7981-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs mt7981-wo-firmware
300 KERNEL_LOADADDR := 0x44000000
301 KERNEL := kernel-bin | gzip
302 KERNEL_INITRAMFS := kernel-bin | lzma | \
303 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
304 KERNEL_INITRAMFS_SUFFIX := .itb
305 KERNEL_IN_UBI := 1
306 UBOOTENV_IN_UBI := 1
307 IMAGES := sysupgrade.itb
308 IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
309 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
310 ARTIFACTS := \
311 emmc-preloader.bin emmc-bl31-uboot.fip \
312 nor-preloader.bin nor-bl31-uboot.fip \
313 sdcard.img.gz \
314 snfi-nand-preloader.bin snfi-nand-bl31-uboot.fip \
315 spim-nand-preloader.bin spim-nand-bl31-uboot.fip
316 ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr3
317 ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
318 ARTIFACT/nor-preloader.bin := mt7981-bl2 nor-ddr3
319 ARTIFACT/nor-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
320 ARTIFACT/snfi-nand-preloader.bin := mt7981-bl2 snand-ddr3
321 ARTIFACT/snfi-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-snfi
322 ARTIFACT/spim-nand-preloader.bin := mt7981-bl2 spim-nand-ddr3
323 ARTIFACT/spim-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-spim-nand
324 ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
325 pad-to 17k | mt7981-bl2 sdmmc-ddr3 |\
326 pad-to 6656k | mt7981-bl31-uboot rfb-sd |\
327 $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
328 pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
329 ) \
330 pad-to 44M | mt7981-bl2 spim-nand-ddr3 |\
331 pad-to 45M | mt7981-bl31-uboot rfb-spim-nand |\
332 pad-to 49M | mt7981-bl2 nor-ddr3 |\
333 pad-to 50M | mt7981-bl31-uboot rfb-nor |\
334 pad-to 51M | mt7981-bl2 snand-ddr3 |\
335 pad-to 53M | mt7981-bl31-uboot rfb-snfi |\
336 $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
337 pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
338 ) \
339 gzip
340 endef
341 TARGET_DEVICES += mediatek_mt7981-rfb
342
343 define Device/mediatek_mt7986a-rfb-nand
344 DEVICE_VENDOR := MediaTek
345 DEVICE_MODEL := MT7986 rfba AP (NAND)
346 DEVICE_DTS := mt7986a-rfb-spim-nand
347 DEVICE_DTS_DIR := $(DTS_DIR)/
348 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
349 SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
350 UBINIZE_OPTS := -E 5
351 BLOCKSIZE := 128k
352 PAGESIZE := 2048
353 IMAGE_SIZE := 65536k
354 KERNEL_IN_UBI := 1
355 IMAGES += factory.bin
356 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
357 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
358 KERNEL = kernel-bin | lzma | \
359 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
360 KERNEL_INITRAMFS = kernel-bin | lzma | \
361 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
362 endef
363 TARGET_DEVICES += mediatek_mt7986a-rfb-nand
364
365 define Device/mediatek_mt7986b-rfb
366 DEVICE_VENDOR := MediaTek
367 DEVICE_MODEL := MTK7986 rfbb AP
368 DEVICE_DTS := mt7986b-rfb
369 DEVICE_DTS_DIR := $(DTS_DIR)/
370 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
371 SUPPORTED_DEVICES := mediatek,mt7986b-rfb
372 UBINIZE_OPTS := -E 5
373 BLOCKSIZE := 128k
374 PAGESIZE := 2048
375 IMAGE_SIZE := 65536k
376 KERNEL_IN_UBI := 1
377 IMAGES += factory.bin
378 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
379 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
380 endef
381 TARGET_DEVICES += mediatek_mt7986b-rfb
382
383 define Device/mediatek_mt7988a-rfb
384 DEVICE_VENDOR := MediaTek
385 DEVICE_MODEL := MT7988A rfb
386 DEVICE_DTS := mt7988a-rfb
387 DEVICE_DTS_OVERLAY:= \
388 mt7988a-rfb-emmc \
389 mt7988a-rfb-sd \
390 mt7988a-rfb-snfi-nand \
391 mt7988a-rfb-spim-nand \
392 mt7988a-rfb-spim-nor \
393 mt7988a-rfb-eth1-aqr \
394 mt7988a-rfb-eth1-i2p5g-phy \
395 mt7988a-rfb-eth1-mxl \
396 mt7988a-rfb-eth1-sfp \
397 mt7988a-rfb-eth2-aqr \
398 mt7988a-rfb-eth2-mxl \
399 mt7988a-rfb-eth2-sfp
400 DEVICE_DTS_DIR := $(DTS_DIR)/
401 DEVICE_DTC_FLAGS := --pad 4096
402 DEVICE_DTS_LOADADDR := 0x45f00000
403 DEVICE_PACKAGES := kmod-sfp
404 KERNEL_LOADADDR := 0x46000000
405 KERNEL := kernel-bin | gzip
406 KERNEL_INITRAMFS := kernel-bin | lzma | \
407 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
408 KERNEL_INITRAMFS_SUFFIX := .itb
409 KERNEL_IN_UBI := 1
410 IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
411 IMAGES := sysupgrade.itb
412 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
413 ARTIFACTS := \
414 emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
415 nor-preloader.bin nor-bl31-uboot.fip \
416 sdcard.img.gz \
417 snand-preloader.bin snand-bl31-uboot.fip
418 ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
419 ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
420 ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot rfb-emmc
421 ARTIFACT/nor-preloader.bin := mt7988-bl2 nor-comb
422 ARTIFACT/nor-bl31-uboot.fip := mt7988-bl31-uboot rfb-nor
423 ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-comb
424 ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot rfb-snand
425 ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
426 pad-to 17k | mt7988-bl2 sdmmc-comb |\
427 pad-to 6656k | mt7988-bl31-uboot rfb-sd |\
428 $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
429 pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
430 ) \
431 pad-to 44M | mt7988-bl2 spim-nand-comb |\
432 pad-to 45M | mt7988-bl31-uboot rfb-snand |\
433 pad-to 51M | mt7988-bl2 nor-comb |\
434 pad-to 51M | mt7988-bl31-uboot rfb-nor |\
435 pad-to 55M | mt7988-bl2 emmc-comb |\
436 pad-to 56M | mt7988-bl31-uboot rfb-emmc |\
437 pad-to 62M | mt798x-gpt emmc |\
438 $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
439 pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
440 ) \
441 gzip
442 endef
443 TARGET_DEVICES += mediatek_mt7988a-rfb
444
445 define Device/mercusys_mr90x-v1
446 DEVICE_VENDOR := MERCUSYS
447 DEVICE_MODEL := MR90X v1
448 DEVICE_DTS := mt7986b-mercusys-mr90x-v1
449 DEVICE_DTS_DIR := ../dts
450 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
451 UBINIZE_OPTS := -E 5
452 BLOCKSIZE := 128k
453 PAGESIZE := 2048
454 IMAGE_SIZE := 51200k
455 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
456 endef
457 TARGET_DEVICES += mercusys_mr90x-v1
458
459 define Device/qihoo_360t7
460 DEVICE_VENDOR := Qihoo
461 DEVICE_MODEL := 360T7
462 DEVICE_DTS := mt7981b-qihoo-360t7
463 DEVICE_DTS_DIR := ../dts
464 UBINIZE_OPTS := -E 5
465 BLOCKSIZE := 128k
466 PAGESIZE := 2048
467 KERNEL_IN_UBI := 1
468 UBOOTENV_IN_UBI := 1
469 IMAGES := sysupgrade.itb
470 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
471 KERNEL := kernel-bin | gzip
472 KERNEL_INITRAMFS := kernel-bin | lzma | \
473 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
474 IMAGE/sysupgrade.itb := append-kernel | \
475 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
476 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
477 ARTIFACTS := preloader.bin bl31-uboot.fip
478 ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
479 ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot qihoo_360t7
480 endef
481 TARGET_DEVICES += qihoo_360t7
482
483 define Device/tplink_tl-xdr-common
484 DEVICE_VENDOR := TP-Link
485 DEVICE_DTS_DIR := ../dts
486 UBINIZE_OPTS := -E 5
487 BLOCKSIZE := 128k
488 PAGESIZE := 2048
489 KERNEL_IN_UBI := 1
490 UBOOTENV_IN_UBI := 1
491 IMAGES := sysupgrade.itb
492 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
493 KERNEL := kernel-bin | gzip
494 KERNEL_INITRAMFS := kernel-bin | lzma | \
495 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
496 IMAGE/sysupgrade.itb := append-kernel | \
497 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | append-metadata
498 DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
499 ARTIFACTS := preloader.bin bl31-uboot.fip
500 ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
501 endef
502
503 define Device/tplink_tl-xdr4288
504 DEVICE_MODEL := TL-XDR4288
505 DEVICE_DTS := mt7986a-tplink-tl-xdr4288
506 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr4288
507 $(call Device/tplink_tl-xdr-common)
508 endef
509 TARGET_DEVICES += tplink_tl-xdr4288
510
511 define Device/tplink_tl-xdr6086
512 DEVICE_MODEL := TL-XDR6086
513 DEVICE_DTS := mt7986a-tplink-tl-xdr6086
514 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6086
515 $(call Device/tplink_tl-xdr-common)
516 endef
517 TARGET_DEVICES += tplink_tl-xdr6086
518
519 define Device/tplink_tl-xdr6088
520 DEVICE_MODEL := TL-XDR6088
521 DEVICE_DTS := mt7986a-tplink-tl-xdr6088
522 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6088
523 $(call Device/tplink_tl-xdr-common)
524 endef
525 TARGET_DEVICES += tplink_tl-xdr6088
526
527 define Device/xiaomi_mi-router-wr30u-112m-nmbm
528 DEVICE_VENDOR := Xiaomi
529 DEVICE_MODEL := Mi Router WR30U (112M UBI with NMBM-Enabled layout)
530 DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-112m-nmbm
531 DEVICE_DTS_DIR := ../dts
532 UBINIZE_OPTS := -E 5
533 BLOCKSIZE := 128k
534 PAGESIZE := 2048
535 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
536 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
537 ARTIFACTS := initramfs-factory.ubi
538 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
539 endif
540 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
541 endef
542 TARGET_DEVICES += xiaomi_mi-router-wr30u-112m-nmbm
543
544 define Device/xiaomi_mi-router-wr30u-stock
545 DEVICE_VENDOR := Xiaomi
546 DEVICE_MODEL := Mi Router WR30U (stock layout)
547 DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-stock
548 DEVICE_DTS_DIR := ../dts
549 UBINIZE_OPTS := -E 5
550 BLOCKSIZE := 128k
551 PAGESIZE := 2048
552 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
553 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
554 ARTIFACTS := initramfs-factory.ubi
555 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
556 endif
557 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
558 endef
559 TARGET_DEVICES += xiaomi_mi-router-wr30u-stock
560
561 define Device/xiaomi_mi-router-wr30u-ubootmod
562 DEVICE_VENDOR := Xiaomi
563 DEVICE_MODEL := Mi Router WR30U (OpenWrt U-Boot layout)
564 DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-ubootmod
565 DEVICE_DTS_DIR := ../dts
566 UBINIZE_OPTS := -E 5
567 BLOCKSIZE := 128k
568 PAGESIZE := 2048
569 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
570 KERNEL_IN_UBI := 1
571 UBOOTENV_IN_UBI := 1
572 IMAGES := sysupgrade.itb
573 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
574 KERNEL := kernel-bin | gzip
575 KERNEL_INITRAMFS := kernel-bin | lzma | \
576 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
577 IMAGE/sysupgrade.itb := append-kernel | \
578 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
579 ARTIFACTS := preloader.bin bl31-uboot.fip
580 ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
581 ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-wr30u
582 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
583 ARTIFACTS += initramfs-factory.ubi
584 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
585 endif
586 endef
587 TARGET_DEVICES += xiaomi_mi-router-wr30u-ubootmod
588
589 define Device/xiaomi_redmi-router-ax6000-stock
590 DEVICE_VENDOR := Xiaomi
591 DEVICE_MODEL := Redmi Router AX6000 (stock layout)
592 DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock
593 DEVICE_DTS_DIR := ../dts
594 DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
595 UBINIZE_OPTS := -E 5
596 BLOCKSIZE := 128k
597 PAGESIZE := 2048
598 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
599 ARTIFACTS := initramfs-factory.ubi
600 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
601 endif
602 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
603 endef
604 TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock
605
606 define Device/xiaomi_redmi-router-ax6000-ubootmod
607 DEVICE_VENDOR := Xiaomi
608 DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout)
609 DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod
610 DEVICE_DTS_DIR := ../dts
611 DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
612 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
613 IMAGES := sysupgrade.itb
614 UBINIZE_OPTS := -E 5
615 BLOCKSIZE := 128k
616 PAGESIZE := 2048
617 KERNEL_IN_UBI := 1
618 UBOOTENV_IN_UBI := 1
619 KERNEL := kernel-bin | gzip
620 KERNEL_INITRAMFS := kernel-bin | lzma | \
621 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
622 IMAGE/sysupgrade.itb := append-kernel | \
623 fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
624 ARTIFACTS := preloader.bin bl31-uboot.fip
625 ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
626 ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot xiaomi_redmi-router-ax6000
627 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
628 ARTIFACTS += initramfs-factory.ubi
629 ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
630 endif
631 endef
632 TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod
633
634 define Device/zyxel_ex5601-t0-stock
635 DEVICE_VENDOR := Zyxel
636 DEVICE_MODEL := EX5601-T0 (stock layout)
637 DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
638 DEVICE_DTS_DIR := ../dts
639 DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
640 SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
641 UBINIZE_OPTS := -E 5
642 BLOCKSIZE := 256k
643 PAGESIZE := 4096
644 IMAGE_SIZE := 65536k
645 KERNEL_IN_UBI := 1
646 IMAGES += factory.bin
647 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
648 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
649 KERNEL = kernel-bin | lzma | \
650 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
651 KERNEL_INITRAMFS = kernel-bin | lzma | \
652 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
653 endef
654 TARGET_DEVICES += zyxel_ex5601-t0-stock
655
656 define Device/zyxel_nwa50ax-pro
657 DEVICE_VENDOR := ZyXEL
658 DEVICE_MODEL := NWA50AX Pro
659 DEVICE_DTS := mt7981b-zyxel-nwa50ax-pro
660 DEVICE_DTS_DIR := ../dts
661 DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware zyxel-bootconfig
662 DEVICE_DTS_LOADADDR := 0x44000000
663 UBINIZE_OPTS := -E 5
664 BLOCKSIZE := 128k
665 PAGESIZE := 2048
666 IMAGE_SIZE := 51200k
667 KERNEL_IN_UBI := 1
668 IMAGES += factory.bin
669 IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | zyxel-nwa-fit-filogic
670 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
671 endef
672 TARGET_DEVICES += zyxel_nwa50ax-pro