filogic.mk 28 KB

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