filogic.mk 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264
  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/acelink_ew-7886cax
  96. DEVICE_VENDOR := Acelink
  97. DEVICE_MODEL := EW-7886CAX
  98. DEVICE_DTS := mt7986a-acelink-ew-7886cax
  99. DEVICE_DTS_DIR := ../dts
  100. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  101. UBINIZE_OPTS := -E 5
  102. BLOCKSIZE := 128k
  103. PAGESIZE := 2048
  104. IMAGE_SIZE := 65536k
  105. KERNEL_IN_UBI := 1
  106. IMAGES += factory.bin
  107. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  108. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  109. endef
  110. TARGET_DEVICES += acelink_ew-7886cax
  111. define Device/acer_predator-w6
  112. DEVICE_VENDOR := Acer
  113. DEVICE_MODEL := Predator W6
  114. DEVICE_DTS := mt7986a-acer-predator-w6
  115. DEVICE_DTS_DIR := ../dts
  116. DEVICE_DTS_LOADADDR := 0x47000000
  117. DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware kmod-mt7916-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
  118. IMAGES := sysupgrade.bin
  119. KERNEL := kernel-bin | lzma | 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 += acer_predator-w6
  125. define Device/adtran_smartrg
  126. DEVICE_VENDOR := Adtran
  127. DEVICE_DTS_DIR := ../dts
  128. DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-hwmon-pwmfan \
  129. kmod-mt7986-firmware mt7986-wo-firmware
  130. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  131. endef
  132. define Device/smartrg_sdg-8612
  133. $(call Device/adtran_smartrg)
  134. DEVICE_MODEL := SDG-8612
  135. DEVICE_DTS := mt7986a-smartrg-SDG-8612
  136. endef
  137. TARGET_DEVICES += smartrg_sdg-8612
  138. define Device/smartrg_sdg-8614
  139. $(call Device/adtran_smartrg)
  140. DEVICE_MODEL := SDG-8614
  141. DEVICE_DTS := mt7986a-smartrg-SDG-8614
  142. endef
  143. TARGET_DEVICES += smartrg_sdg-8614
  144. define Device/smartrg_sdg-8622
  145. $(call Device/adtran_smartrg)
  146. DEVICE_MODEL := SDG-8622
  147. DEVICE_DTS := mt7986a-smartrg-SDG-8622
  148. DEVICE_PACKAGES += kmod-mt7915-firmware
  149. endef
  150. TARGET_DEVICES += smartrg_sdg-8622
  151. define Device/smartrg_sdg-8632
  152. $(call Device/adtran_smartrg)
  153. DEVICE_MODEL := SDG-8632
  154. DEVICE_DTS := mt7986a-smartrg-SDG-8632
  155. DEVICE_PACKAGES += kmod-mt7915-firmware
  156. endef
  157. TARGET_DEVICES += smartrg_sdg-8632
  158. define Device/asus_rt-ax59u
  159. DEVICE_VENDOR := ASUS
  160. DEVICE_MODEL := RT-AX59U
  161. DEVICE_DTS := mt7986a-asus-rt-ax59u
  162. DEVICE_DTS_DIR := ../dts
  163. DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  164. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  165. endef
  166. TARGET_DEVICES += asus_rt-ax59u
  167. define Device/asus_tuf-ax4200
  168. DEVICE_VENDOR := ASUS
  169. DEVICE_MODEL := TUF-AX4200
  170. DEVICE_DTS := mt7986a-asus-tuf-ax4200
  171. DEVICE_DTS_DIR := ../dts
  172. DEVICE_DTS_LOADADDR := 0x47000000
  173. DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  174. IMAGES := sysupgrade.bin
  175. KERNEL := kernel-bin | lzma | \
  176. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  177. KERNEL_INITRAMFS := kernel-bin | lzma | \
  178. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  179. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  180. endef
  181. TARGET_DEVICES += asus_tuf-ax4200
  182. define Device/asus_tuf-ax6000
  183. DEVICE_VENDOR := ASUS
  184. DEVICE_MODEL := TUF-AX6000
  185. DEVICE_DTS := mt7986a-asus-tuf-ax6000
  186. DEVICE_DTS_DIR := ../dts
  187. DEVICE_DTS_LOADADDR := 0x47000000
  188. DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  189. IMAGES := sysupgrade.bin
  190. KERNEL := kernel-bin | lzma | \
  191. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  192. KERNEL_INITRAMFS := kernel-bin | lzma | \
  193. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  194. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  195. endef
  196. TARGET_DEVICES += asus_tuf-ax6000
  197. define Device/bananapi_bpi-r3
  198. DEVICE_VENDOR := Bananapi
  199. DEVICE_MODEL := BPi-R3
  200. DEVICE_DTS := mt7986a-bananapi-bpi-r3
  201. DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3
  202. DEVICE_DTS_OVERLAY:= mt7986a-bananapi-bpi-r3-emmc mt7986a-bananapi-bpi-r3-nand \
  203. mt7986a-bananapi-bpi-r3-nor mt7986a-bananapi-bpi-r3-sd \
  204. mt7986a-bananapi-bpi-r3-respeaker-2mics
  205. DEVICE_DTS_DIR := $(DTS_DIR)/
  206. DEVICE_DTS_LOADADDR := 0x43f00000
  207. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-gpio kmod-mt7986-firmware kmod-sfp kmod-usb3 \
  208. e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
  209. IMAGES := sysupgrade.itb
  210. KERNEL_LOADADDR := 0x44000000
  211. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  212. ARTIFACTS := \
  213. emmc-preloader.bin emmc-bl31-uboot.fip \
  214. nor-preloader.bin nor-bl31-uboot.fip \
  215. sdcard.img.gz \
  216. snand-preloader.bin snand-bl31-uboot.fip
  217. ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
  218. ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-emmc
  219. ARTIFACT/nor-preloader.bin := mt7986-bl2 nor-ddr4
  220. ARTIFACT/nor-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-nor
  221. ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ubi-ddr4
  222. ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-snand
  223. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  224. pad-to 17k | mt7986-bl2 sdmmc-ddr4 |\
  225. pad-to 6656k | mt7986-bl31-uboot bananapi_bpi-r3-sdmmc |\
  226. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  227. pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
  228. ) \
  229. pad-to 44M | mt7986-bl2 spim-nand-ubi-ddr4 |\
  230. pad-to 45M | mt7986-bl31-uboot bananapi_bpi-r3-snand |\
  231. pad-to 49M | mt7986-bl2 nor-ddr4 |\
  232. pad-to 50M | mt7986-bl31-uboot bananapi_bpi-r3-nor |\
  233. pad-to 51M | mt7986-bl2 emmc-ddr4 |\
  234. pad-to 52M | mt7986-bl31-uboot bananapi_bpi-r3-emmc |\
  235. pad-to 56M | mt798x-gpt emmc |\
  236. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  237. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  238. ) \
  239. gzip
  240. ifeq ($(DUMP),)
  241. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  242. endif
  243. KERNEL := kernel-bin | gzip
  244. KERNEL_INITRAMFS := kernel-bin | lzma | \
  245. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  246. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
  247. DEVICE_DTC_FLAGS := --pad 4096
  248. DEVICE_COMPAT_VERSION := 1.2
  249. DEVICE_COMPAT_MESSAGE := SPI-NAND flash layout changes require bootloader update
  250. endef
  251. TARGET_DEVICES += bananapi_bpi-r3
  252. define Device/bananapi_bpi-r3-mini
  253. DEVICE_VENDOR := Bananapi
  254. DEVICE_MODEL := BPi-R3 Mini
  255. DEVICE_DTS := mt7986a-bananapi-bpi-r3-mini
  256. DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3-mini
  257. DEVICE_DTS_DIR := ../dts
  258. DEVICE_DTS_LOADADDR := 0x43f00000
  259. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-mt7986-firmware kmod-phy-airoha-en8811h \
  260. kmod-usb3 e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
  261. KERNEL_LOADADDR := 0x44000000
  262. KERNEL := kernel-bin | gzip
  263. KERNEL_INITRAMFS := kernel-bin | lzma | \
  264. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  265. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  266. BLOCKSIZE := 128k
  267. PAGESIZE := 2048
  268. KERNEL_IN_UBI := 1
  269. UBOOTENV_IN_UBI := 1
  270. IMAGES := snand-factory.bin sysupgrade.itb
  271. ifeq ($(DUMP),)
  272. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  273. endif
  274. IMAGE/sysupgrade.itb := append-kernel | \
  275. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  276. pad-rootfs | append-metadata
  277. ARTIFACTS := \
  278. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  279. snand-factory.bin snand-preloader.bin snand-bl31-uboot.fip
  280. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  281. ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
  282. ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-mini-emmc
  283. ARTIFACT/snand-factory.bin := mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 256k | \
  284. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 512k | \
  285. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 768k | \
  286. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 2048k | \
  287. ubinize-image fit squashfs-sysupgrade.itb
  288. ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ubi-ddr4
  289. ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-mini-snand
  290. UBINIZE_PARTS := fip=:$(STAGING_DIR_IMAGE)/mt7986_bananapi_bpi-r3-mini-snand-u-boot.fip
  291. ifneq ($(CONFIG_PACKAGE_airoha-en8811h-firmware),)
  292. UBINIZE_PARTS += en8811h-fw=:$(STAGING_DIR_IMAGE)/EthMD32.bin
  293. endif
  294. endef
  295. TARGET_DEVICES += bananapi_bpi-r3-mini
  296. define Device/bananapi_bpi-r4
  297. DEVICE_VENDOR := Bananapi
  298. DEVICE_MODEL := BPi-R4
  299. DEVICE_DTS := mt7988a-bananapi-bpi-r4
  300. DEVICE_DTS_CONFIG := config-mt7988a-bananapi-bpi-r4
  301. DEVICE_DTS_DIR := $(DTS_DIR)/
  302. DEVICE_DTS_LOADADDR := 0x45f00000
  303. DEVICE_DTS_OVERLAY:= mt7988a-bananapi-bpi-r4-emmc mt7988a-bananapi-bpi-r4-rtc mt7988a-bananapi-bpi-r4-sd mt7988a-bananapi-bpi-r4-wifi-mt7996a
  304. DEVICE_DTC_FLAGS := --pad 4096
  305. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-mux-pca954x kmod-eeprom-at24 kmod-mt7996-firmware \
  306. kmod-rtc-pcf8563 kmod-sfp kmod-usb3 e2fsprogs f2fsck mkf2fs
  307. IMAGES := sysupgrade.itb
  308. KERNEL_LOADADDR := 0x46000000
  309. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  310. ARTIFACTS := \
  311. emmc-preloader.bin emmc-bl31-uboot.fip \
  312. sdcard.img.gz \
  313. snand-preloader.bin snand-bl31-uboot.fip
  314. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  315. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot bananapi_bpi-r4-emmc
  316. ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-ubi-comb
  317. ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot bananapi_bpi-r4-snand
  318. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  319. pad-to 17k | mt7988-bl2 sdmmc-comb |\
  320. pad-to 6656k | mt7988-bl31-uboot bananapi_bpi-r4-sdmmc |\
  321. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  322. pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
  323. ) \
  324. pad-to 44M | mt7988-bl2 spim-nand-ubi-comb |\
  325. pad-to 45M | mt7988-bl31-uboot bananapi_bpi-r4-snand |\
  326. pad-to 51M | mt7988-bl2 emmc-comb |\
  327. pad-to 52M | mt7988-bl31-uboot bananapi_bpi-r4-emmc |\
  328. pad-to 56M | mt798x-gpt emmc |\
  329. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  330. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  331. ) \
  332. gzip
  333. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  334. KERNEL := kernel-bin | gzip
  335. KERNEL_INITRAMFS := kernel-bin | lzma | \
  336. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  337. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  338. endef
  339. TARGET_DEVICES += bananapi_bpi-r4
  340. define Device/cetron_ct3003
  341. DEVICE_VENDOR := Cetron
  342. DEVICE_MODEL := CT3003
  343. DEVICE_DTS := mt7981b-cetron-ct3003
  344. DEVICE_DTS_DIR := ../dts
  345. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
  346. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  347. UBINIZE_OPTS := -E 5
  348. BLOCKSIZE := 128k
  349. PAGESIZE := 2048
  350. KERNEL_IN_UBI := 1
  351. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  352. IMAGES += factory.bin
  353. IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | cetron-header rd30 CT3003
  354. endef
  355. TARGET_DEVICES += cetron_ct3003
  356. define Device/cmcc_rax3000m
  357. DEVICE_VENDOR := CMCC
  358. DEVICE_MODEL := RAX3000M
  359. DEVICE_DTS := mt7981b-cmcc-rax3000m
  360. DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand
  361. DEVICE_DTS_DIR := ../dts
  362. DEVICE_DTC_FLAGS := --pad 4096
  363. DEVICE_DTS_LOADADDR := 0x43f00000
  364. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 \
  365. e2fsprogs f2fsck mkf2fs
  366. KERNEL_LOADADDR := 0x44000000
  367. KERNEL := kernel-bin | gzip
  368. KERNEL_INITRAMFS := kernel-bin | lzma | \
  369. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  370. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  371. KERNEL_IN_UBI := 1
  372. UBOOTENV_IN_UBI := 1
  373. IMAGES := sysupgrade.itb
  374. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  375. IMAGE/sysupgrade.itb := append-kernel | \
  376. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  377. pad-rootfs | append-metadata
  378. ARTIFACTS := \
  379. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  380. nand-preloader.bin nand-bl31-uboot.fip
  381. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  382. ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr4
  383. ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-emmc
  384. ARTIFACT/nand-preloader.bin := mt7981-bl2 spim-nand-ddr4
  385. ARTIFACT/nand-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-nand
  386. endef
  387. TARGET_DEVICES += cmcc_rax3000m
  388. define Device/comfast_cf-e393ax
  389. DEVICE_VENDOR := Comfast
  390. DEVICE_MODEL := CF-E393AX
  391. DEVICE_DTS := mt7981a-comfast-cf-e393ax
  392. DEVICE_DTS_DIR := ../dts
  393. DEVICE_DTC_FLAGS := --pad 4096
  394. DEVICE_DTS_LOADADDR := 0x43f00000
  395. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  396. KERNEL_LOADADDR := 0x44000000
  397. KERNEL = kernel-bin | lzma | \
  398. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  399. KERNEL_INITRAMFS = kernel-bin | lzma | \
  400. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  401. UBINIZE_OPTS := -E 5
  402. BLOCKSIZE := 128k
  403. PAGESIZE := 2048
  404. IMAGE_SIZE := 65536k
  405. KERNEL_IN_UBI := 1
  406. IMAGES := sysupgrade.bin factory.bin
  407. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  408. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  409. endef
  410. TARGET_DEVICES += comfast_cf-e393ax
  411. define Device/confiabits_mt7981
  412. DEVICE_VENDOR := Confiabits
  413. DEVICE_MODEL := MT7981
  414. DEVICE_DTS := mt7981b-confiabits-mt7981
  415. DEVICE_DTS_DIR := ../dts
  416. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-2500wan-gmac2-rfb
  417. UBINIZE_OPTS := -E 5
  418. BLOCKSIZE := 128k
  419. PAGESIZE := 2048
  420. IMAGE_SIZE := 65536k
  421. KERNEL_IN_UBI := 1
  422. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  423. DEVICE_PACKAGES := kmod-usb3 kmod-mt7981-firmware mt7981-wo-firmware
  424. endef
  425. TARGET_DEVICES += confiabits_mt7981
  426. define Device/cudy_re3000-v1
  427. DEVICE_VENDOR := Cudy
  428. DEVICE_MODEL := RE3000
  429. DEVICE_VARIANT := v1
  430. DEVICE_DTS := mt7981b-cudy-re3000-v1
  431. DEVICE_DTS_DIR := ../dts
  432. DEVICE_DTS_LOADADDR := 0x47000000
  433. IMAGES := sysupgrade.bin
  434. IMAGE_SIZE := 15424k
  435. SUPPORTED_DEVICES += R36
  436. KERNEL := kernel-bin | lzma | \
  437. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  438. KERNEL_INITRAMFS := kernel-bin | lzma | \
  439. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  440. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  441. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  442. endef
  443. TARGET_DEVICES += cudy_re3000-v1
  444. define Device/cudy_wr3000-v1
  445. DEVICE_VENDOR := Cudy
  446. DEVICE_MODEL := WR3000
  447. DEVICE_VARIANT := v1
  448. DEVICE_DTS := mt7981b-cudy-wr3000-v1
  449. DEVICE_DTS_DIR := ../dts
  450. DEVICE_DTS_LOADADDR := 0x47000000
  451. IMAGES := sysupgrade.bin
  452. IMAGE_SIZE := 15424k
  453. SUPPORTED_DEVICES += R31
  454. KERNEL := kernel-bin | lzma | \
  455. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  456. KERNEL_INITRAMFS := kernel-bin | lzma | \
  457. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  458. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  459. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  460. endef
  461. TARGET_DEVICES += cudy_wr3000-v1
  462. define Device/dlink_aquila-pro-ai-m30-a1
  463. DEVICE_VENDOR := D-Link
  464. DEVICE_MODEL := AQUILA PRO AI M30
  465. DEVICE_VARIANT := A1
  466. DEVICE_DTS := mt7981b-dlink-aquila-pro-ai-m30-a1
  467. DEVICE_DTS_DIR := ../dts
  468. DEVICE_PACKAGES := kmod-leds-gca230718 kmod-mt7981-firmware mt7981-wo-firmware
  469. KERNEL_IN_UBI := 1
  470. IMAGES += recovery.bin
  471. IMAGE_SIZE := 51200k
  472. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  473. IMAGE/recovery.bin := sysupgrade-tar | pad-to $$(IMAGE_SIZE) | dlink-ai-recovery-header DLK6E6110001 \x6A\x28\xEE\x0B \x00\x00\x2C\x00 \x00\x00\x20\x03 \x61\x6E
  474. endef
  475. TARGET_DEVICES += dlink_aquila-pro-ai-m30-a1
  476. define Device/glinet_gl-mt2500
  477. DEVICE_VENDOR := GL.iNet
  478. DEVICE_MODEL := GL-MT2500
  479. DEVICE_DTS := mt7981b-glinet-gl-mt2500
  480. DEVICE_DTS_DIR := ../dts
  481. DEVICE_DTS_LOADADDR := 0x47000000
  482. DEVICE_PACKAGES := -kmod-mt7915e -wpad-basic-mbedtls e2fsprogs f2fsck mkf2fs kmod-usb3
  483. SUPPORTED_DEVICES += glinet,mt2500-emmc
  484. IMAGES := sysupgrade.bin
  485. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  486. endef
  487. TARGET_DEVICES += glinet_gl-mt2500
  488. define Device/glinet_gl-mt3000
  489. DEVICE_VENDOR := GL.iNet
  490. DEVICE_MODEL := GL-MT3000
  491. DEVICE_DTS := mt7981b-glinet-gl-mt3000
  492. DEVICE_DTS_DIR := ../dts
  493. SUPPORTED_DEVICES += glinet,mt3000-snand
  494. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3
  495. UBINIZE_OPTS := -E 5
  496. BLOCKSIZE := 128k
  497. PAGESIZE := 2048
  498. IMAGE_SIZE := 246272k
  499. KERNEL_IN_UBI := 1
  500. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  501. endef
  502. TARGET_DEVICES += glinet_gl-mt3000
  503. define Device/glinet_gl-mt6000
  504. DEVICE_VENDOR := GL.iNet
  505. DEVICE_MODEL := GL-MT6000
  506. DEVICE_DTS := mt7986a-glinet-gl-mt6000
  507. DEVICE_DTS_DIR := ../dts
  508. DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  509. IMAGES += factory.bin
  510. IMAGE/factory.bin := append-kernel | pad-to 32M | append-rootfs
  511. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  512. ARTIFACTS := preloader.bin bl31-uboot.fip
  513. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  514. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot glinet_gl-mt6000
  515. endef
  516. TARGET_DEVICES += glinet_gl-mt6000
  517. define Device/glinet_gl-x3000-xe3000-common
  518. DEVICE_VENDOR := GL.iNet
  519. DEVICE_DTS_DIR := ../dts
  520. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware mkf2fs \
  521. kmod-fs-f2fs kmod-hwmon-pwmfan kmod-usb3 kmod-usb-serial-option \
  522. kmod-usb-storage kmod-usb-net-qmi-wwan uqmi
  523. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  524. endef
  525. define Device/glinet_gl-x3000
  526. DEVICE_MODEL := GL-X3000
  527. DEVICE_DTS := mt7981a-glinet-gl-x3000
  528. SUPPORTED_DEVICES := glinet,gl-x3000
  529. $(call Device/glinet_gl-x3000-xe3000-common)
  530. endef
  531. TARGET_DEVICES += glinet_gl-x3000
  532. define Device/glinet_gl-xe3000
  533. DEVICE_MODEL := GL-XE3000
  534. DEVICE_DTS := mt7981a-glinet-gl-xe3000
  535. SUPPORTED_DEVICES := glinet,gl-xe3000
  536. $(call Device/glinet_gl-x3000-xe3000-common)
  537. endef
  538. TARGET_DEVICES += glinet_gl-xe3000
  539. define Device/h3c_magic-nx30-pro
  540. DEVICE_VENDOR := H3C
  541. DEVICE_MODEL := Magic NX30 Pro
  542. DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
  543. DEVICE_DTS_DIR := ../dts
  544. UBINIZE_OPTS := -E 5
  545. BLOCKSIZE := 128k
  546. PAGESIZE := 2048
  547. KERNEL_IN_UBI := 1
  548. UBOOTENV_IN_UBI := 1
  549. IMAGE_SIZE := 65536k
  550. IMAGES := sysupgrade.itb
  551. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  552. KERNEL := kernel-bin | gzip
  553. KERNEL_INITRAMFS := kernel-bin | lzma | \
  554. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  555. IMAGE/sysupgrade.itb := append-kernel | \
  556. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  557. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  558. ARTIFACTS := preloader.bin bl31-uboot.fip
  559. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  560. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot h3c_magic-nx30-pro
  561. endef
  562. TARGET_DEVICES += h3c_magic-nx30-pro
  563. define Device/jcg_q30-pro
  564. DEVICE_VENDOR := JCG
  565. DEVICE_MODEL := Q30 PRO
  566. DEVICE_DTS := mt7981b-jcg-q30-pro
  567. DEVICE_DTS_DIR := ../dts
  568. UBINIZE_OPTS := -E 5
  569. BLOCKSIZE := 128k
  570. PAGESIZE := 2048
  571. KERNEL_IN_UBI := 1
  572. UBOOTENV_IN_UBI := 1
  573. IMAGES := sysupgrade.itb
  574. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  575. KERNEL := kernel-bin | gzip
  576. KERNEL_INITRAMFS := kernel-bin | lzma | \
  577. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  578. IMAGE/sysupgrade.itb := append-kernel | \
  579. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  580. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  581. ARTIFACTS := preloader.bin bl31-uboot.fip
  582. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  583. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot jcg_q30-pro
  584. endef
  585. TARGET_DEVICES += jcg_q30-pro
  586. define Device/jdcloud_re-cp-03
  587. DEVICE_VENDOR := JDCloud
  588. DEVICE_MODEL := RE-CP-03
  589. DEVICE_DTS := mt7986a-jdcloud-re-cp-03
  590. DEVICE_DTS_DIR := ../dts
  591. DEVICE_DTC_FLAGS := --pad 4096
  592. DEVICE_DTS_LOADADDR := 0x43f00000
  593. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware \
  594. e2fsprogs f2fsck mkf2fs
  595. KERNEL_LOADADDR := 0x44000000
  596. KERNEL := kernel-bin | gzip
  597. KERNEL_INITRAMFS := kernel-bin | lzma | \
  598. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  599. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  600. IMAGES := sysupgrade.itb
  601. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  602. IMAGE/sysupgrade.itb := append-kernel | \
  603. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  604. pad-rootfs | append-metadata
  605. ARTIFACTS :=gpt.bin preloader.bin bl31-uboot.fip
  606. ARTIFACT/gpt.bin := mt798x-gpt emmc
  607. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  608. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot jdcloud_re-cp-03
  609. endef
  610. TARGET_DEVICES += jdcloud_re-cp-03
  611. define Device/mediatek_mt7981-rfb
  612. DEVICE_VENDOR := MediaTek
  613. DEVICE_MODEL := MT7981 rfb
  614. DEVICE_DTS := mt7981-rfb
  615. DEVICE_DTS_OVERLAY:= \
  616. mt7981-rfb-spim-nand \
  617. mt7981-rfb-mxl-2p5g-phy-eth1 \
  618. mt7981-rfb-mxl-2p5g-phy-swp5
  619. DEVICE_DTS_DIR := $(DTS_DIR)/
  620. DEVICE_DTC_FLAGS := --pad 4096
  621. DEVICE_DTS_LOADADDR := 0x43f00000
  622. DEVICE_PACKAGES := kmod-mt7981-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs mt7981-wo-firmware
  623. KERNEL_LOADADDR := 0x44000000
  624. KERNEL := kernel-bin | gzip
  625. KERNEL_INITRAMFS := kernel-bin | lzma | \
  626. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  627. KERNEL_INITRAMFS_SUFFIX := .itb
  628. KERNEL_IN_UBI := 1
  629. UBOOTENV_IN_UBI := 1
  630. IMAGES := sysupgrade.itb
  631. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  632. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  633. ARTIFACTS := \
  634. emmc-preloader.bin emmc-bl31-uboot.fip \
  635. nor-preloader.bin nor-bl31-uboot.fip \
  636. sdcard.img.gz \
  637. snfi-nand-preloader.bin snfi-nand-bl31-uboot.fip \
  638. spim-nand-preloader.bin spim-nand-bl31-uboot.fip
  639. ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr3
  640. ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  641. ARTIFACT/nor-preloader.bin := mt7981-bl2 nor-ddr3
  642. ARTIFACT/nor-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  643. ARTIFACT/snfi-nand-preloader.bin := mt7981-bl2 snand-ddr3
  644. ARTIFACT/snfi-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-snfi
  645. ARTIFACT/spim-nand-preloader.bin := mt7981-bl2 spim-nand-ddr3
  646. ARTIFACT/spim-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-spim-nand
  647. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  648. pad-to 17k | mt7981-bl2 sdmmc-ddr3 |\
  649. pad-to 6656k | mt7981-bl31-uboot rfb-sd |\
  650. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  651. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  652. ) \
  653. pad-to 44M | mt7981-bl2 spim-nand-ddr3 |\
  654. pad-to 45M | mt7981-bl31-uboot rfb-spim-nand |\
  655. pad-to 49M | mt7981-bl2 nor-ddr3 |\
  656. pad-to 50M | mt7981-bl31-uboot rfb-nor |\
  657. pad-to 51M | mt7981-bl2 snand-ddr3 |\
  658. pad-to 53M | mt7981-bl31-uboot rfb-snfi |\
  659. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  660. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  661. ) \
  662. gzip
  663. endef
  664. TARGET_DEVICES += mediatek_mt7981-rfb
  665. define Device/mediatek_mt7986a-rfb-nand
  666. DEVICE_VENDOR := MediaTek
  667. DEVICE_MODEL := MT7986 rfba AP (NAND)
  668. DEVICE_DTS := mt7986a-rfb-spim-nand
  669. DEVICE_DTS_DIR := $(DTS_DIR)/
  670. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  671. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  672. UBINIZE_OPTS := -E 5
  673. BLOCKSIZE := 128k
  674. PAGESIZE := 2048
  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 += mediatek_mt7986a-rfb-nand
  686. define Device/mediatek_mt7986b-rfb
  687. DEVICE_VENDOR := MediaTek
  688. DEVICE_MODEL := MTK7986 rfbb AP
  689. DEVICE_DTS := mt7986b-rfb
  690. DEVICE_DTS_DIR := $(DTS_DIR)/
  691. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  692. SUPPORTED_DEVICES := mediatek,mt7986b-rfb
  693. UBINIZE_OPTS := -E 5
  694. BLOCKSIZE := 128k
  695. PAGESIZE := 2048
  696. IMAGE_SIZE := 65536k
  697. KERNEL_IN_UBI := 1
  698. IMAGES += factory.bin
  699. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  700. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  701. endef
  702. TARGET_DEVICES += mediatek_mt7986b-rfb
  703. define Device/mediatek_mt7988a-rfb
  704. DEVICE_VENDOR := MediaTek
  705. DEVICE_MODEL := MT7988A rfb
  706. DEVICE_DTS := mt7988a-rfb
  707. DEVICE_DTS_OVERLAY:= \
  708. mt7988a-rfb-emmc \
  709. mt7988a-rfb-sd \
  710. mt7988a-rfb-snfi-nand \
  711. mt7988a-rfb-spim-nand \
  712. mt7988a-rfb-spim-nor \
  713. mt7988a-rfb-eth1-aqr \
  714. mt7988a-rfb-eth1-i2p5g-phy \
  715. mt7988a-rfb-eth1-mxl \
  716. mt7988a-rfb-eth1-sfp \
  717. mt7988a-rfb-eth2-aqr \
  718. mt7988a-rfb-eth2-mxl \
  719. mt7988a-rfb-eth2-sfp
  720. DEVICE_DTS_DIR := $(DTS_DIR)/
  721. DEVICE_DTC_FLAGS := --pad 4096
  722. DEVICE_DTS_LOADADDR := 0x45f00000
  723. DEVICE_PACKAGES := mt7988-2p5g-phy-firmware kmod-sfp
  724. KERNEL_LOADADDR := 0x46000000
  725. KERNEL := kernel-bin | gzip
  726. KERNEL_INITRAMFS := kernel-bin | lzma | \
  727. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  728. KERNEL_INITRAMFS_SUFFIX := .itb
  729. KERNEL_IN_UBI := 1
  730. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  731. IMAGES := sysupgrade.itb
  732. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  733. ARTIFACTS := \
  734. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  735. nor-preloader.bin nor-bl31-uboot.fip \
  736. sdcard.img.gz \
  737. snand-preloader.bin snand-bl31-uboot.fip
  738. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  739. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  740. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot rfb-emmc
  741. ARTIFACT/nor-preloader.bin := mt7988-bl2 nor-comb
  742. ARTIFACT/nor-bl31-uboot.fip := mt7988-bl31-uboot rfb-nor
  743. ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-comb
  744. ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot rfb-snand
  745. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  746. pad-to 17k | mt7988-bl2 sdmmc-comb |\
  747. pad-to 6656k | mt7988-bl31-uboot rfb-sd |\
  748. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  749. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  750. ) \
  751. pad-to 44M | mt7988-bl2 spim-nand-comb |\
  752. pad-to 45M | mt7988-bl31-uboot rfb-snand |\
  753. pad-to 51M | mt7988-bl2 nor-comb |\
  754. pad-to 51M | mt7988-bl31-uboot rfb-nor |\
  755. pad-to 55M | mt7988-bl2 emmc-comb |\
  756. pad-to 56M | mt7988-bl31-uboot rfb-emmc |\
  757. pad-to 62M | mt798x-gpt emmc |\
  758. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  759. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  760. ) \
  761. gzip
  762. endef
  763. TARGET_DEVICES += mediatek_mt7988a-rfb
  764. define Device/mercusys_mr90x-v1
  765. DEVICE_VENDOR := MERCUSYS
  766. DEVICE_MODEL := MR90X v1
  767. DEVICE_DTS := mt7986b-mercusys-mr90x-v1
  768. DEVICE_DTS_DIR := ../dts
  769. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  770. UBINIZE_OPTS := -E 5
  771. BLOCKSIZE := 128k
  772. PAGESIZE := 2048
  773. IMAGE_SIZE := 51200k
  774. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  775. endef
  776. TARGET_DEVICES += mercusys_mr90x-v1
  777. define Device/netcore_n60
  778. DEVICE_VENDOR := Netcore
  779. DEVICE_MODEL := N60
  780. DEVICE_DTS := mt7986a-netcore-n60
  781. DEVICE_DTS_DIR := ../dts
  782. UBINIZE_OPTS := -E 5
  783. BLOCKSIZE := 128k
  784. PAGESIZE := 2048
  785. KERNEL_IN_UBI := 1
  786. UBOOTENV_IN_UBI := 1
  787. IMAGES := sysupgrade.itb
  788. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  789. KERNEL := kernel-bin | gzip
  790. KERNEL_INITRAMFS := kernel-bin | lzma | \
  791. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  792. IMAGE/sysupgrade.itb := append-kernel | \
  793. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  794. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  795. ARTIFACTS := preloader.bin bl31-uboot.fip
  796. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  797. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot netcore_n60
  798. endef
  799. TARGET_DEVICES += netcore_n60
  800. define Device/netgear_wax220
  801. DEVICE_VENDOR := NETGEAR
  802. DEVICE_MODEL := WAX220
  803. DEVICE_DTS := mt7986b-netgear-wax220
  804. DEVICE_DTS_DIR := ../dts
  805. NETGEAR_ENC_MODEL := WAX220
  806. NETGEAR_ENC_REGION := US
  807. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  808. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  809. IMAGE_SIZE := 32768k
  810. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  811. IMAGES += factory.img
  812. # Padding to 10M seems to be required by OEM web interface
  813. IMAGE/factory.img := sysupgrade-tar | \
  814. pad-to 10M | check-size | netgear-encrypted-factory
  815. endef
  816. TARGET_DEVICES += netgear_wax220
  817. define Device/openembed_som7981
  818. DEVICE_VENDOR := OpenEmbed
  819. DEVICE_MODEL := SOM7981
  820. DEVICE_DTS := mt7981b-openembed-som7981
  821. DEVICE_DTS_DIR := ../dts
  822. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  823. UBINIZE_OPTS := -E 5
  824. BLOCKSIZE := 128k
  825. PAGESIZE := 2048
  826. IMAGE_SIZE := 244224k
  827. KERNEL_IN_UBI := 1
  828. IMAGES += factory.bin
  829. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  830. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  831. endef
  832. TARGET_DEVICES += openembed_som7981
  833. define Device/qihoo_360t7
  834. DEVICE_VENDOR := Qihoo
  835. DEVICE_MODEL := 360T7
  836. DEVICE_DTS := mt7981b-qihoo-360t7
  837. DEVICE_DTS_DIR := ../dts
  838. UBINIZE_OPTS := -E 5
  839. BLOCKSIZE := 128k
  840. PAGESIZE := 2048
  841. KERNEL_IN_UBI := 1
  842. UBOOTENV_IN_UBI := 1
  843. IMAGES := sysupgrade.itb
  844. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  845. KERNEL := kernel-bin | gzip
  846. KERNEL_INITRAMFS := kernel-bin | lzma | \
  847. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  848. IMAGE/sysupgrade.itb := append-kernel | \
  849. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  850. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  851. ARTIFACTS := preloader.bin bl31-uboot.fip
  852. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  853. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot qihoo_360t7
  854. endef
  855. TARGET_DEVICES += qihoo_360t7
  856. define Device/routerich_ax3000
  857. DEVICE_VENDOR := Routerich
  858. DEVICE_MODEL := AX3000
  859. DEVICE_DTS := mt7981b-routerich-ax3000
  860. DEVICE_DTS_DIR := ../dts
  861. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  862. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  863. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
  864. endef
  865. TARGET_DEVICES += routerich_ax3000
  866. define Device/tplink_tl-xdr-common
  867. DEVICE_VENDOR := TP-Link
  868. DEVICE_DTS_DIR := ../dts
  869. UBINIZE_OPTS := -E 5
  870. BLOCKSIZE := 128k
  871. PAGESIZE := 2048
  872. KERNEL_IN_UBI := 1
  873. UBOOTENV_IN_UBI := 1
  874. IMAGES := sysupgrade.itb
  875. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  876. KERNEL := kernel-bin | gzip
  877. KERNEL_INITRAMFS := kernel-bin | lzma | \
  878. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  879. IMAGE/sysupgrade.itb := append-kernel | \
  880. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | append-metadata
  881. DEVICE_PACKAGES := fitblk kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  882. ARTIFACTS := preloader.bin bl31-uboot.fip
  883. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  884. endef
  885. define Device/tplink_tl-xdr4288
  886. DEVICE_MODEL := TL-XDR4288
  887. DEVICE_DTS := mt7986a-tplink-tl-xdr4288
  888. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr4288
  889. $(call Device/tplink_tl-xdr-common)
  890. endef
  891. TARGET_DEVICES += tplink_tl-xdr4288
  892. define Device/tplink_tl-xdr6086
  893. DEVICE_MODEL := TL-XDR6086
  894. DEVICE_DTS := mt7986a-tplink-tl-xdr6086
  895. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6086
  896. $(call Device/tplink_tl-xdr-common)
  897. endef
  898. TARGET_DEVICES += tplink_tl-xdr6086
  899. define Device/tplink_tl-xdr6088
  900. DEVICE_MODEL := TL-XDR6088
  901. DEVICE_DTS := mt7986a-tplink-tl-xdr6088
  902. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6088
  903. $(call Device/tplink_tl-xdr-common)
  904. endef
  905. TARGET_DEVICES += tplink_tl-xdr6088
  906. define Device/ubnt_unifi-6-plus
  907. DEVICE_VENDOR := Ubiquiti
  908. DEVICE_MODEL := UniFi 6 Plus
  909. DEVICE_DTS := mt7981a-ubnt-unifi-6-plus
  910. DEVICE_DTS_DIR := ../dts
  911. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware e2fsprogs f2fsck mkf2fs fdisk partx-utils
  912. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  913. endef
  914. TARGET_DEVICES += ubnt_unifi-6-plus
  915. define Device/unielec_u7981-01
  916. DEVICE_VENDOR := Unielec
  917. DEVICE_MODEL := U7981-01
  918. DEVICE_DTS_DIR := ../dts
  919. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs fdisk partx-utils
  920. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  921. endef
  922. define Device/unielec_u7981-01-emmc
  923. DEVICE_DTS := mt7981b-unielec-u7981-01-emmc
  924. DEVICE_VARIANT := (EMMC)
  925. $(call Device/unielec_u7981-01)
  926. endef
  927. TARGET_DEVICES += unielec_u7981-01-emmc
  928. define Device/unielec_u7981-01-nand
  929. DEVICE_DTS := mt7981b-unielec-u7981-01-nand
  930. DEVICE_VARIANT := (NAND)
  931. $(call Device/unielec_u7981-01)
  932. endef
  933. TARGET_DEVICES += unielec_u7981-01-nand
  934. define Device/xiaomi_mi-router-ax3000t
  935. DEVICE_VENDOR := Xiaomi
  936. DEVICE_MODEL := Mi Router AX3000T
  937. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t
  938. DEVICE_DTS_DIR := ../dts
  939. UBINIZE_OPTS := -E 5
  940. BLOCKSIZE := 128k
  941. PAGESIZE := 2048
  942. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  943. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  944. ARTIFACTS := initramfs-factory.ubi
  945. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  946. endif
  947. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  948. endef
  949. TARGET_DEVICES += xiaomi_mi-router-ax3000t
  950. define Device/xiaomi_mi-router-ax3000t-ubootmod
  951. DEVICE_VENDOR := Xiaomi
  952. DEVICE_MODEL := Mi Router AX3000T (OpenWrt U-Boot layout)
  953. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t-ubootmod
  954. DEVICE_DTS_DIR := ../dts
  955. UBINIZE_OPTS := -E 5
  956. BLOCKSIZE := 128k
  957. PAGESIZE := 2048
  958. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  959. KERNEL_IN_UBI := 1
  960. UBOOTENV_IN_UBI := 1
  961. IMAGES := sysupgrade.itb
  962. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  963. KERNEL := kernel-bin | gzip
  964. KERNEL_INITRAMFS := kernel-bin | lzma | \
  965. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  966. IMAGE/sysupgrade.itb := append-kernel | \
  967. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  968. ARTIFACTS := preloader.bin bl31-uboot.fip
  969. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  970. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-ax3000t
  971. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  972. ARTIFACTS += initramfs-factory.ubi
  973. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  974. endif
  975. endef
  976. TARGET_DEVICES += xiaomi_mi-router-ax3000t-ubootmod
  977. define Device/xiaomi_mi-router-wr30u-stock
  978. DEVICE_VENDOR := Xiaomi
  979. DEVICE_MODEL := Mi Router WR30U (stock layout)
  980. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-stock
  981. DEVICE_DTS_DIR := ../dts
  982. UBINIZE_OPTS := -E 5
  983. BLOCKSIZE := 128k
  984. PAGESIZE := 2048
  985. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  986. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  987. ARTIFACTS := initramfs-factory.ubi
  988. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  989. endif
  990. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  991. endef
  992. TARGET_DEVICES += xiaomi_mi-router-wr30u-stock
  993. define Device/xiaomi_mi-router-wr30u-ubootmod
  994. DEVICE_VENDOR := Xiaomi
  995. DEVICE_MODEL := Mi Router WR30U (OpenWrt U-Boot layout)
  996. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-ubootmod
  997. DEVICE_DTS_DIR := ../dts
  998. UBINIZE_OPTS := -E 5
  999. BLOCKSIZE := 128k
  1000. PAGESIZE := 2048
  1001. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1002. KERNEL_IN_UBI := 1
  1003. UBOOTENV_IN_UBI := 1
  1004. IMAGES := sysupgrade.itb
  1005. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1006. KERNEL := kernel-bin | gzip
  1007. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1008. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1009. IMAGE/sysupgrade.itb := append-kernel | \
  1010. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1011. ARTIFACTS := preloader.bin bl31-uboot.fip
  1012. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1013. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-wr30u
  1014. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1015. ARTIFACTS += initramfs-factory.ubi
  1016. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1017. endif
  1018. endef
  1019. TARGET_DEVICES += xiaomi_mi-router-wr30u-ubootmod
  1020. define Device/xiaomi_redmi-router-ax6000-stock
  1021. DEVICE_VENDOR := Xiaomi
  1022. DEVICE_MODEL := Redmi Router AX6000 (stock layout)
  1023. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock
  1024. DEVICE_DTS_DIR := ../dts
  1025. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
  1026. UBINIZE_OPTS := -E 5
  1027. BLOCKSIZE := 128k
  1028. PAGESIZE := 2048
  1029. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1030. ARTIFACTS := initramfs-factory.ubi
  1031. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1032. endif
  1033. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1034. endef
  1035. TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock
  1036. define Device/xiaomi_redmi-router-ax6000-ubootmod
  1037. DEVICE_VENDOR := Xiaomi
  1038. DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout)
  1039. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod
  1040. DEVICE_DTS_DIR := ../dts
  1041. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
  1042. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1043. IMAGES := sysupgrade.itb
  1044. UBINIZE_OPTS := -E 5
  1045. BLOCKSIZE := 128k
  1046. PAGESIZE := 2048
  1047. KERNEL_IN_UBI := 1
  1048. UBOOTENV_IN_UBI := 1
  1049. KERNEL := kernel-bin | gzip
  1050. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1051. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1052. IMAGE/sysupgrade.itb := append-kernel | \
  1053. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1054. ARTIFACTS := preloader.bin bl31-uboot.fip
  1055. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
  1056. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot xiaomi_redmi-router-ax6000
  1057. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1058. ARTIFACTS += initramfs-factory.ubi
  1059. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1060. endif
  1061. endef
  1062. TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod
  1063. define Device/yuncore_ax835
  1064. DEVICE_VENDOR := YunCore
  1065. DEVICE_MODEL := AX835
  1066. DEVICE_DTS := mt7981b-yuncore-ax835
  1067. DEVICE_DTS_DIR := ../dts
  1068. DEVICE_DTS_LOADADDR := 0x47000000
  1069. IMAGES := sysupgrade.bin
  1070. IMAGE_SIZE := 14336k
  1071. SUPPORTED_DEVICES += mediatek,mt7981-spim-nor-rfb
  1072. KERNEL := kernel-bin | lzma | \
  1073. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1074. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1075. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1076. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  1077. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1078. endef
  1079. TARGET_DEVICES += yuncore_ax835
  1080. define Device/zbtlink_zbt-z8102ax
  1081. DEVICE_VENDOR := Zbtlink
  1082. DEVICE_MODEL := ZBT-Z8102AX
  1083. DEVICE_DTS := mt7981b-zbtlink-zbt-z8102ax
  1084. DEVICE_DTS_DIR := ../dts
  1085. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 kmod-usb-net-qmi-wwan kmod-usb-serial-option
  1086. KERNEL_IN_UBI := 1
  1087. UBINIZE_OPTS := -E 5
  1088. BLOCKSIZE := 128k
  1089. PAGESIZE := 2048
  1090. IMAGE_SIZE := 65536k
  1091. IMAGES += factory.bin
  1092. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1093. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1094. endef
  1095. TARGET_DEVICES += zbtlink_zbt-z8102ax
  1096. define Device/zbtlink_zbt-z8103ax
  1097. DEVICE_VENDOR := Zbtlink
  1098. DEVICE_MODEL := ZBT-Z8103AX
  1099. DEVICE_DTS := mt7981b-zbtlink-zbt-z8103ax
  1100. DEVICE_DTS_DIR := ../dts
  1101. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1102. KERNEL_IN_UBI := 1
  1103. UBINIZE_OPTS := -E 5
  1104. BLOCKSIZE := 128k
  1105. PAGESIZE := 2048
  1106. IMAGE_SIZE := 65536k
  1107. IMAGES += factory.bin
  1108. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1109. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1110. endef
  1111. TARGET_DEVICES += zbtlink_zbt-z8103ax
  1112. define Device/zyxel_ex5601-t0-stock
  1113. DEVICE_VENDOR := Zyxel
  1114. DEVICE_MODEL := EX5601-T0
  1115. DEVICE_VARIANT := (stock layout)
  1116. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
  1117. DEVICE_DTS_DIR := ../dts
  1118. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1119. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  1120. UBINIZE_OPTS := -E 5
  1121. BLOCKSIZE := 256k
  1122. PAGESIZE := 4096
  1123. IMAGE_SIZE := 65536k
  1124. KERNEL_IN_UBI := 1
  1125. IMAGES += factory.bin
  1126. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1127. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1128. KERNEL = kernel-bin | lzma | \
  1129. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1130. KERNEL_INITRAMFS = kernel-bin | lzma | \
  1131. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1132. endef
  1133. TARGET_DEVICES += zyxel_ex5601-t0-stock
  1134. define Device/zyxel_ex5601-t0-ubootmod
  1135. DEVICE_VENDOR := Zyxel
  1136. DEVICE_MODEL := EX5601-T0
  1137. DEVICE_VARIANT := (OpenWrt U-Boot layout)
  1138. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-ubootmod
  1139. DEVICE_DTS_DIR := ../dts
  1140. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1141. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1142. IMAGES := sysupgrade.itb
  1143. UBINIZE_OPTS := -E 5
  1144. BLOCKSIZE := 256k
  1145. PAGESIZE := 4096
  1146. KERNEL_IN_UBI := 1
  1147. UBOOTENV_IN_UBI := 1
  1148. KERNEL := kernel-bin | lzma
  1149. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1150. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1151. IMAGE/sysupgrade.itb := append-kernel | \
  1152. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1153. ARTIFACTS := preloader.bin bl31-uboot.fip
  1154. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-4k-ddr4
  1155. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot zyxel_ex5601-t0
  1156. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1157. ARTIFACTS += initramfs-factory.ubi
  1158. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1159. endif
  1160. endef
  1161. TARGET_DEVICES += zyxel_ex5601-t0-ubootmod
  1162. define Device/zyxel_ex5700-telenor
  1163. DEVICE_VENDOR := ZyXEL
  1164. DEVICE_MODEL := EX5700 (Telenor)
  1165. DEVICE_DTS := mt7986a-zyxel-ex5700-telenor
  1166. DEVICE_DTS_DIR := ../dts
  1167. DEVICE_PACKAGES := kmod-mt7916-firmware kmod-ubootenv-nvram kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  1168. UBINIZE_OPTS := -E 5
  1169. BLOCKSIZE := 128k
  1170. PAGESIZE := 2048
  1171. IMAGE_SIZE := 65536k
  1172. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1173. endef
  1174. TARGET_DEVICES += zyxel_ex5700-telenor
  1175. define Device/zyxel_nwa50ax-pro
  1176. DEVICE_VENDOR := ZyXEL
  1177. DEVICE_MODEL := NWA50AX Pro
  1178. DEVICE_DTS := mt7981b-zyxel-nwa50ax-pro
  1179. DEVICE_DTS_DIR := ../dts
  1180. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware zyxel-bootconfig
  1181. DEVICE_DTS_LOADADDR := 0x44000000
  1182. UBINIZE_OPTS := -E 5
  1183. BLOCKSIZE := 128k
  1184. PAGESIZE := 2048
  1185. IMAGE_SIZE := 51200k
  1186. KERNEL_IN_UBI := 1
  1187. IMAGES += factory.bin
  1188. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | zyxel-nwa-fit-filogic
  1189. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1190. endef
  1191. TARGET_DEVICES += zyxel_nwa50ax-pro