filogic.mk 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282
  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/edgecore_eap111
  477. DEVICE_VENDOR := Edgecore
  478. DEVICE_MODEL := EAP111
  479. DEVICE_DTS := mt7981a-edgecore-eap111
  480. DEVICE_DTS_DIR := ../dts
  481. DEVICE_DTS_LOADADDR := 0x47000000
  482. BLOCKSIZE := 128k
  483. PAGESIZE := 2048
  484. UBINIZE_OPTS := -E 5
  485. KERNEL_IN_UBI := 1
  486. IMAGE_SIZE := 65536k
  487. IMAGES := sysupgrade.bin factory.bin
  488. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  489. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  490. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  491. endef
  492. TARGET_DEVICES += edgecore_eap111
  493. define Device/glinet_gl-mt2500
  494. DEVICE_VENDOR := GL.iNet
  495. DEVICE_MODEL := GL-MT2500
  496. DEVICE_DTS := mt7981b-glinet-gl-mt2500
  497. DEVICE_DTS_DIR := ../dts
  498. DEVICE_DTS_LOADADDR := 0x47000000
  499. DEVICE_PACKAGES := -kmod-mt7915e -wpad-basic-mbedtls e2fsprogs f2fsck mkf2fs kmod-usb3
  500. SUPPORTED_DEVICES += glinet,mt2500-emmc
  501. IMAGES := sysupgrade.bin
  502. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  503. endef
  504. TARGET_DEVICES += glinet_gl-mt2500
  505. define Device/glinet_gl-mt3000
  506. DEVICE_VENDOR := GL.iNet
  507. DEVICE_MODEL := GL-MT3000
  508. DEVICE_DTS := mt7981b-glinet-gl-mt3000
  509. DEVICE_DTS_DIR := ../dts
  510. SUPPORTED_DEVICES += glinet,mt3000-snand
  511. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3
  512. UBINIZE_OPTS := -E 5
  513. BLOCKSIZE := 128k
  514. PAGESIZE := 2048
  515. IMAGE_SIZE := 246272k
  516. KERNEL_IN_UBI := 1
  517. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  518. endef
  519. TARGET_DEVICES += glinet_gl-mt3000
  520. define Device/glinet_gl-mt6000
  521. DEVICE_VENDOR := GL.iNet
  522. DEVICE_MODEL := GL-MT6000
  523. DEVICE_DTS := mt7986a-glinet-gl-mt6000
  524. DEVICE_DTS_DIR := ../dts
  525. DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  526. IMAGES += factory.bin
  527. IMAGE/factory.bin := append-kernel | pad-to 32M | append-rootfs
  528. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  529. ARTIFACTS := preloader.bin bl31-uboot.fip
  530. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  531. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot glinet_gl-mt6000
  532. endef
  533. TARGET_DEVICES += glinet_gl-mt6000
  534. define Device/glinet_gl-x3000-xe3000-common
  535. DEVICE_VENDOR := GL.iNet
  536. DEVICE_DTS_DIR := ../dts
  537. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware mkf2fs \
  538. kmod-fs-f2fs kmod-hwmon-pwmfan kmod-usb3 kmod-usb-serial-option \
  539. kmod-usb-storage kmod-usb-net-qmi-wwan uqmi
  540. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  541. endef
  542. define Device/glinet_gl-x3000
  543. DEVICE_MODEL := GL-X3000
  544. DEVICE_DTS := mt7981a-glinet-gl-x3000
  545. SUPPORTED_DEVICES := glinet,gl-x3000
  546. $(call Device/glinet_gl-x3000-xe3000-common)
  547. endef
  548. TARGET_DEVICES += glinet_gl-x3000
  549. define Device/glinet_gl-xe3000
  550. DEVICE_MODEL := GL-XE3000
  551. DEVICE_DTS := mt7981a-glinet-gl-xe3000
  552. SUPPORTED_DEVICES := glinet,gl-xe3000
  553. $(call Device/glinet_gl-x3000-xe3000-common)
  554. endef
  555. TARGET_DEVICES += glinet_gl-xe3000
  556. define Device/h3c_magic-nx30-pro
  557. DEVICE_VENDOR := H3C
  558. DEVICE_MODEL := Magic NX30 Pro
  559. DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
  560. DEVICE_DTS_DIR := ../dts
  561. UBINIZE_OPTS := -E 5
  562. BLOCKSIZE := 128k
  563. PAGESIZE := 2048
  564. KERNEL_IN_UBI := 1
  565. UBOOTENV_IN_UBI := 1
  566. IMAGE_SIZE := 65536k
  567. IMAGES := sysupgrade.itb
  568. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  569. KERNEL := kernel-bin | gzip
  570. KERNEL_INITRAMFS := kernel-bin | lzma | \
  571. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  572. IMAGE/sysupgrade.itb := append-kernel | \
  573. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  574. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  575. ARTIFACTS := preloader.bin bl31-uboot.fip
  576. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  577. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot h3c_magic-nx30-pro
  578. endef
  579. TARGET_DEVICES += h3c_magic-nx30-pro
  580. define Device/jcg_q30-pro
  581. DEVICE_VENDOR := JCG
  582. DEVICE_MODEL := Q30 PRO
  583. DEVICE_DTS := mt7981b-jcg-q30-pro
  584. DEVICE_DTS_DIR := ../dts
  585. UBINIZE_OPTS := -E 5
  586. BLOCKSIZE := 128k
  587. PAGESIZE := 2048
  588. KERNEL_IN_UBI := 1
  589. UBOOTENV_IN_UBI := 1
  590. IMAGES := sysupgrade.itb
  591. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  592. KERNEL := kernel-bin | gzip
  593. KERNEL_INITRAMFS := kernel-bin | lzma | \
  594. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  595. IMAGE/sysupgrade.itb := append-kernel | \
  596. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  597. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  598. ARTIFACTS := preloader.bin bl31-uboot.fip
  599. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  600. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot jcg_q30-pro
  601. endef
  602. TARGET_DEVICES += jcg_q30-pro
  603. define Device/jdcloud_re-cp-03
  604. DEVICE_VENDOR := JDCloud
  605. DEVICE_MODEL := RE-CP-03
  606. DEVICE_DTS := mt7986a-jdcloud-re-cp-03
  607. DEVICE_DTS_DIR := ../dts
  608. DEVICE_DTC_FLAGS := --pad 4096
  609. DEVICE_DTS_LOADADDR := 0x43f00000
  610. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware \
  611. e2fsprogs f2fsck mkf2fs
  612. KERNEL_LOADADDR := 0x44000000
  613. KERNEL := kernel-bin | gzip
  614. KERNEL_INITRAMFS := kernel-bin | lzma | \
  615. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  616. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  617. IMAGES := sysupgrade.itb
  618. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  619. IMAGE/sysupgrade.itb := append-kernel | \
  620. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  621. pad-rootfs | append-metadata
  622. ARTIFACTS :=gpt.bin preloader.bin bl31-uboot.fip
  623. ARTIFACT/gpt.bin := mt798x-gpt emmc
  624. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  625. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot jdcloud_re-cp-03
  626. endef
  627. TARGET_DEVICES += jdcloud_re-cp-03
  628. define Device/mediatek_mt7981-rfb
  629. DEVICE_VENDOR := MediaTek
  630. DEVICE_MODEL := MT7981 rfb
  631. DEVICE_DTS := mt7981-rfb
  632. DEVICE_DTS_OVERLAY:= \
  633. mt7981-rfb-spim-nand \
  634. mt7981-rfb-mxl-2p5g-phy-eth1 \
  635. mt7981-rfb-mxl-2p5g-phy-swp5
  636. DEVICE_DTS_DIR := $(DTS_DIR)/
  637. DEVICE_DTC_FLAGS := --pad 4096
  638. DEVICE_DTS_LOADADDR := 0x43f00000
  639. DEVICE_PACKAGES := kmod-mt7981-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs mt7981-wo-firmware
  640. KERNEL_LOADADDR := 0x44000000
  641. KERNEL := kernel-bin | gzip
  642. KERNEL_INITRAMFS := kernel-bin | lzma | \
  643. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  644. KERNEL_INITRAMFS_SUFFIX := .itb
  645. KERNEL_IN_UBI := 1
  646. UBOOTENV_IN_UBI := 1
  647. IMAGES := sysupgrade.itb
  648. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  649. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  650. ARTIFACTS := \
  651. emmc-preloader.bin emmc-bl31-uboot.fip \
  652. nor-preloader.bin nor-bl31-uboot.fip \
  653. sdcard.img.gz \
  654. snfi-nand-preloader.bin snfi-nand-bl31-uboot.fip \
  655. spim-nand-preloader.bin spim-nand-bl31-uboot.fip
  656. ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr3
  657. ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  658. ARTIFACT/nor-preloader.bin := mt7981-bl2 nor-ddr3
  659. ARTIFACT/nor-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  660. ARTIFACT/snfi-nand-preloader.bin := mt7981-bl2 snand-ddr3
  661. ARTIFACT/snfi-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-snfi
  662. ARTIFACT/spim-nand-preloader.bin := mt7981-bl2 spim-nand-ddr3
  663. ARTIFACT/spim-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-spim-nand
  664. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  665. pad-to 17k | mt7981-bl2 sdmmc-ddr3 |\
  666. pad-to 6656k | mt7981-bl31-uboot rfb-sd |\
  667. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  668. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  669. ) \
  670. pad-to 44M | mt7981-bl2 spim-nand-ddr3 |\
  671. pad-to 45M | mt7981-bl31-uboot rfb-spim-nand |\
  672. pad-to 49M | mt7981-bl2 nor-ddr3 |\
  673. pad-to 50M | mt7981-bl31-uboot rfb-nor |\
  674. pad-to 51M | mt7981-bl2 snand-ddr3 |\
  675. pad-to 53M | mt7981-bl31-uboot rfb-snfi |\
  676. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  677. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  678. ) \
  679. gzip
  680. endef
  681. TARGET_DEVICES += mediatek_mt7981-rfb
  682. define Device/mediatek_mt7986a-rfb-nand
  683. DEVICE_VENDOR := MediaTek
  684. DEVICE_MODEL := MT7986 rfba AP (NAND)
  685. DEVICE_DTS := mt7986a-rfb-spim-nand
  686. DEVICE_DTS_DIR := $(DTS_DIR)/
  687. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  688. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  689. UBINIZE_OPTS := -E 5
  690. BLOCKSIZE := 128k
  691. PAGESIZE := 2048
  692. IMAGE_SIZE := 65536k
  693. KERNEL_IN_UBI := 1
  694. IMAGES += factory.bin
  695. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  696. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  697. KERNEL = kernel-bin | lzma | \
  698. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  699. KERNEL_INITRAMFS = kernel-bin | lzma | \
  700. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  701. endef
  702. TARGET_DEVICES += mediatek_mt7986a-rfb-nand
  703. define Device/mediatek_mt7986b-rfb
  704. DEVICE_VENDOR := MediaTek
  705. DEVICE_MODEL := MTK7986 rfbb AP
  706. DEVICE_DTS := mt7986b-rfb
  707. DEVICE_DTS_DIR := $(DTS_DIR)/
  708. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  709. SUPPORTED_DEVICES := mediatek,mt7986b-rfb
  710. UBINIZE_OPTS := -E 5
  711. BLOCKSIZE := 128k
  712. PAGESIZE := 2048
  713. IMAGE_SIZE := 65536k
  714. KERNEL_IN_UBI := 1
  715. IMAGES += factory.bin
  716. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  717. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  718. endef
  719. TARGET_DEVICES += mediatek_mt7986b-rfb
  720. define Device/mediatek_mt7988a-rfb
  721. DEVICE_VENDOR := MediaTek
  722. DEVICE_MODEL := MT7988A rfb
  723. DEVICE_DTS := mt7988a-rfb
  724. DEVICE_DTS_OVERLAY:= \
  725. mt7988a-rfb-emmc \
  726. mt7988a-rfb-sd \
  727. mt7988a-rfb-snfi-nand \
  728. mt7988a-rfb-spim-nand \
  729. mt7988a-rfb-spim-nor \
  730. mt7988a-rfb-eth1-aqr \
  731. mt7988a-rfb-eth1-i2p5g-phy \
  732. mt7988a-rfb-eth1-mxl \
  733. mt7988a-rfb-eth1-sfp \
  734. mt7988a-rfb-eth2-aqr \
  735. mt7988a-rfb-eth2-mxl \
  736. mt7988a-rfb-eth2-sfp
  737. DEVICE_DTS_DIR := $(DTS_DIR)/
  738. DEVICE_DTC_FLAGS := --pad 4096
  739. DEVICE_DTS_LOADADDR := 0x45f00000
  740. DEVICE_PACKAGES := mt7988-2p5g-phy-firmware kmod-sfp
  741. KERNEL_LOADADDR := 0x46000000
  742. KERNEL := kernel-bin | gzip
  743. KERNEL_INITRAMFS := kernel-bin | lzma | \
  744. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  745. KERNEL_INITRAMFS_SUFFIX := .itb
  746. KERNEL_IN_UBI := 1
  747. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  748. IMAGES := sysupgrade.itb
  749. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  750. ARTIFACTS := \
  751. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  752. nor-preloader.bin nor-bl31-uboot.fip \
  753. sdcard.img.gz \
  754. snand-preloader.bin snand-bl31-uboot.fip
  755. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  756. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  757. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot rfb-emmc
  758. ARTIFACT/nor-preloader.bin := mt7988-bl2 nor-comb
  759. ARTIFACT/nor-bl31-uboot.fip := mt7988-bl31-uboot rfb-nor
  760. ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-comb
  761. ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot rfb-snand
  762. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  763. pad-to 17k | mt7988-bl2 sdmmc-comb |\
  764. pad-to 6656k | mt7988-bl31-uboot rfb-sd |\
  765. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  766. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  767. ) \
  768. pad-to 44M | mt7988-bl2 spim-nand-comb |\
  769. pad-to 45M | mt7988-bl31-uboot rfb-snand |\
  770. pad-to 51M | mt7988-bl2 nor-comb |\
  771. pad-to 51M | mt7988-bl31-uboot rfb-nor |\
  772. pad-to 55M | mt7988-bl2 emmc-comb |\
  773. pad-to 56M | mt7988-bl31-uboot rfb-emmc |\
  774. pad-to 62M | mt798x-gpt emmc |\
  775. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  776. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  777. ) \
  778. gzip
  779. endef
  780. TARGET_DEVICES += mediatek_mt7988a-rfb
  781. define Device/mercusys_mr90x-v1
  782. DEVICE_VENDOR := MERCUSYS
  783. DEVICE_MODEL := MR90X v1
  784. DEVICE_DTS := mt7986b-mercusys-mr90x-v1
  785. DEVICE_DTS_DIR := ../dts
  786. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  787. UBINIZE_OPTS := -E 5
  788. BLOCKSIZE := 128k
  789. PAGESIZE := 2048
  790. IMAGE_SIZE := 51200k
  791. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  792. endef
  793. TARGET_DEVICES += mercusys_mr90x-v1
  794. define Device/netcore_n60
  795. DEVICE_VENDOR := Netcore
  796. DEVICE_MODEL := N60
  797. DEVICE_DTS := mt7986a-netcore-n60
  798. DEVICE_DTS_DIR := ../dts
  799. UBINIZE_OPTS := -E 5
  800. BLOCKSIZE := 128k
  801. PAGESIZE := 2048
  802. KERNEL_IN_UBI := 1
  803. UBOOTENV_IN_UBI := 1
  804. IMAGES := sysupgrade.itb
  805. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  806. KERNEL := kernel-bin | gzip
  807. KERNEL_INITRAMFS := kernel-bin | lzma | \
  808. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  809. IMAGE/sysupgrade.itb := append-kernel | \
  810. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  811. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  812. ARTIFACTS := preloader.bin bl31-uboot.fip
  813. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  814. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot netcore_n60
  815. endef
  816. TARGET_DEVICES += netcore_n60
  817. define Device/netgear_wax220
  818. DEVICE_VENDOR := NETGEAR
  819. DEVICE_MODEL := WAX220
  820. DEVICE_DTS := mt7986b-netgear-wax220
  821. DEVICE_DTS_DIR := ../dts
  822. NETGEAR_ENC_MODEL := WAX220
  823. NETGEAR_ENC_REGION := US
  824. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware
  825. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  826. IMAGE_SIZE := 32768k
  827. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  828. IMAGES += factory.img
  829. # Padding to 10M seems to be required by OEM web interface
  830. IMAGE/factory.img := sysupgrade-tar | \
  831. pad-to 10M | check-size | netgear-encrypted-factory
  832. endef
  833. TARGET_DEVICES += netgear_wax220
  834. define Device/openembed_som7981
  835. DEVICE_VENDOR := OpenEmbed
  836. DEVICE_MODEL := SOM7981
  837. DEVICE_DTS := mt7981b-openembed-som7981
  838. DEVICE_DTS_DIR := ../dts
  839. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  840. UBINIZE_OPTS := -E 5
  841. BLOCKSIZE := 128k
  842. PAGESIZE := 2048
  843. IMAGE_SIZE := 244224k
  844. KERNEL_IN_UBI := 1
  845. IMAGES += factory.bin
  846. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  847. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  848. endef
  849. TARGET_DEVICES += openembed_som7981
  850. define Device/qihoo_360t7
  851. DEVICE_VENDOR := Qihoo
  852. DEVICE_MODEL := 360T7
  853. DEVICE_DTS := mt7981b-qihoo-360t7
  854. DEVICE_DTS_DIR := ../dts
  855. UBINIZE_OPTS := -E 5
  856. BLOCKSIZE := 128k
  857. PAGESIZE := 2048
  858. KERNEL_IN_UBI := 1
  859. UBOOTENV_IN_UBI := 1
  860. IMAGES := sysupgrade.itb
  861. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  862. KERNEL := kernel-bin | gzip
  863. KERNEL_INITRAMFS := kernel-bin | lzma | \
  864. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  865. IMAGE/sysupgrade.itb := append-kernel | \
  866. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  867. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  868. ARTIFACTS := preloader.bin bl31-uboot.fip
  869. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  870. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot qihoo_360t7
  871. endef
  872. TARGET_DEVICES += qihoo_360t7
  873. define Device/routerich_ax3000
  874. DEVICE_VENDOR := Routerich
  875. DEVICE_MODEL := AX3000
  876. DEVICE_DTS := mt7981b-routerich-ax3000
  877. DEVICE_DTS_DIR := ../dts
  878. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  879. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  880. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
  881. endef
  882. TARGET_DEVICES += routerich_ax3000
  883. define Device/tplink_tl-xdr-common
  884. DEVICE_VENDOR := TP-Link
  885. DEVICE_DTS_DIR := ../dts
  886. UBINIZE_OPTS := -E 5
  887. BLOCKSIZE := 128k
  888. PAGESIZE := 2048
  889. KERNEL_IN_UBI := 1
  890. UBOOTENV_IN_UBI := 1
  891. IMAGES := sysupgrade.itb
  892. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  893. KERNEL := kernel-bin | gzip
  894. KERNEL_INITRAMFS := kernel-bin | lzma | \
  895. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  896. IMAGE/sysupgrade.itb := append-kernel | \
  897. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | append-metadata
  898. DEVICE_PACKAGES := fitblk kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  899. ARTIFACTS := preloader.bin bl31-uboot.fip
  900. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  901. endef
  902. define Device/tplink_tl-xdr4288
  903. DEVICE_MODEL := TL-XDR4288
  904. DEVICE_DTS := mt7986a-tplink-tl-xdr4288
  905. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr4288
  906. $(call Device/tplink_tl-xdr-common)
  907. endef
  908. TARGET_DEVICES += tplink_tl-xdr4288
  909. define Device/tplink_tl-xdr6086
  910. DEVICE_MODEL := TL-XDR6086
  911. DEVICE_DTS := mt7986a-tplink-tl-xdr6086
  912. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6086
  913. $(call Device/tplink_tl-xdr-common)
  914. endef
  915. TARGET_DEVICES += tplink_tl-xdr6086
  916. define Device/tplink_tl-xdr6088
  917. DEVICE_MODEL := TL-XDR6088
  918. DEVICE_DTS := mt7986a-tplink-tl-xdr6088
  919. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6088
  920. $(call Device/tplink_tl-xdr-common)
  921. endef
  922. TARGET_DEVICES += tplink_tl-xdr6088
  923. define Device/ubnt_unifi-6-plus
  924. DEVICE_VENDOR := Ubiquiti
  925. DEVICE_MODEL := UniFi 6 Plus
  926. DEVICE_DTS := mt7981a-ubnt-unifi-6-plus
  927. DEVICE_DTS_DIR := ../dts
  928. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware e2fsprogs f2fsck mkf2fs fdisk partx-utils
  929. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  930. endef
  931. TARGET_DEVICES += ubnt_unifi-6-plus
  932. define Device/unielec_u7981-01
  933. DEVICE_VENDOR := Unielec
  934. DEVICE_MODEL := U7981-01
  935. DEVICE_DTS_DIR := ../dts
  936. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs fdisk partx-utils
  937. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  938. endef
  939. define Device/unielec_u7981-01-emmc
  940. DEVICE_DTS := mt7981b-unielec-u7981-01-emmc
  941. DEVICE_VARIANT := (EMMC)
  942. $(call Device/unielec_u7981-01)
  943. endef
  944. TARGET_DEVICES += unielec_u7981-01-emmc
  945. define Device/unielec_u7981-01-nand
  946. DEVICE_DTS := mt7981b-unielec-u7981-01-nand
  947. DEVICE_VARIANT := (NAND)
  948. $(call Device/unielec_u7981-01)
  949. endef
  950. TARGET_DEVICES += unielec_u7981-01-nand
  951. define Device/xiaomi_mi-router-ax3000t
  952. DEVICE_VENDOR := Xiaomi
  953. DEVICE_MODEL := Mi Router AX3000T
  954. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t
  955. DEVICE_DTS_DIR := ../dts
  956. UBINIZE_OPTS := -E 5
  957. BLOCKSIZE := 128k
  958. PAGESIZE := 2048
  959. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  960. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  961. ARTIFACTS := initramfs-factory.ubi
  962. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  963. endif
  964. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  965. endef
  966. TARGET_DEVICES += xiaomi_mi-router-ax3000t
  967. define Device/xiaomi_mi-router-ax3000t-ubootmod
  968. DEVICE_VENDOR := Xiaomi
  969. DEVICE_MODEL := Mi Router AX3000T (OpenWrt U-Boot layout)
  970. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t-ubootmod
  971. DEVICE_DTS_DIR := ../dts
  972. UBINIZE_OPTS := -E 5
  973. BLOCKSIZE := 128k
  974. PAGESIZE := 2048
  975. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  976. KERNEL_IN_UBI := 1
  977. UBOOTENV_IN_UBI := 1
  978. IMAGES := sysupgrade.itb
  979. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  980. KERNEL := kernel-bin | gzip
  981. KERNEL_INITRAMFS := kernel-bin | lzma | \
  982. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  983. IMAGE/sysupgrade.itb := append-kernel | \
  984. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  985. ARTIFACTS := preloader.bin bl31-uboot.fip
  986. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  987. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-ax3000t
  988. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  989. ARTIFACTS += initramfs-factory.ubi
  990. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  991. endif
  992. endef
  993. TARGET_DEVICES += xiaomi_mi-router-ax3000t-ubootmod
  994. define Device/xiaomi_mi-router-wr30u-stock
  995. DEVICE_VENDOR := Xiaomi
  996. DEVICE_MODEL := Mi Router WR30U (stock layout)
  997. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-stock
  998. DEVICE_DTS_DIR := ../dts
  999. UBINIZE_OPTS := -E 5
  1000. BLOCKSIZE := 128k
  1001. PAGESIZE := 2048
  1002. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1003. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1004. ARTIFACTS := initramfs-factory.ubi
  1005. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1006. endif
  1007. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1008. endef
  1009. TARGET_DEVICES += xiaomi_mi-router-wr30u-stock
  1010. define Device/xiaomi_mi-router-wr30u-ubootmod
  1011. DEVICE_VENDOR := Xiaomi
  1012. DEVICE_MODEL := Mi Router WR30U (OpenWrt U-Boot layout)
  1013. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-ubootmod
  1014. DEVICE_DTS_DIR := ../dts
  1015. UBINIZE_OPTS := -E 5
  1016. BLOCKSIZE := 128k
  1017. PAGESIZE := 2048
  1018. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1019. KERNEL_IN_UBI := 1
  1020. UBOOTENV_IN_UBI := 1
  1021. IMAGES := sysupgrade.itb
  1022. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1023. KERNEL := kernel-bin | gzip
  1024. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1025. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1026. IMAGE/sysupgrade.itb := append-kernel | \
  1027. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1028. ARTIFACTS := preloader.bin bl31-uboot.fip
  1029. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1030. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-wr30u
  1031. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1032. ARTIFACTS += initramfs-factory.ubi
  1033. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1034. endif
  1035. endef
  1036. TARGET_DEVICES += xiaomi_mi-router-wr30u-ubootmod
  1037. define Device/xiaomi_redmi-router-ax6000-stock
  1038. DEVICE_VENDOR := Xiaomi
  1039. DEVICE_MODEL := Redmi Router AX6000 (stock layout)
  1040. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock
  1041. DEVICE_DTS_DIR := ../dts
  1042. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
  1043. UBINIZE_OPTS := -E 5
  1044. BLOCKSIZE := 128k
  1045. PAGESIZE := 2048
  1046. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1047. ARTIFACTS := initramfs-factory.ubi
  1048. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1049. endif
  1050. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1051. endef
  1052. TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock
  1053. define Device/xiaomi_redmi-router-ax6000-ubootmod
  1054. DEVICE_VENDOR := Xiaomi
  1055. DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout)
  1056. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod
  1057. DEVICE_DTS_DIR := ../dts
  1058. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware
  1059. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1060. IMAGES := sysupgrade.itb
  1061. UBINIZE_OPTS := -E 5
  1062. BLOCKSIZE := 128k
  1063. PAGESIZE := 2048
  1064. KERNEL_IN_UBI := 1
  1065. UBOOTENV_IN_UBI := 1
  1066. KERNEL := kernel-bin | gzip
  1067. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1068. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1069. IMAGE/sysupgrade.itb := append-kernel | \
  1070. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1071. ARTIFACTS := preloader.bin bl31-uboot.fip
  1072. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
  1073. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot xiaomi_redmi-router-ax6000
  1074. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1075. ARTIFACTS += initramfs-factory.ubi
  1076. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1077. endif
  1078. endef
  1079. TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod
  1080. define Device/yuncore_ax835
  1081. DEVICE_VENDOR := YunCore
  1082. DEVICE_MODEL := AX835
  1083. DEVICE_DTS := mt7981b-yuncore-ax835
  1084. DEVICE_DTS_DIR := ../dts
  1085. DEVICE_DTS_LOADADDR := 0x47000000
  1086. IMAGES := sysupgrade.bin
  1087. IMAGE_SIZE := 14336k
  1088. SUPPORTED_DEVICES += mediatek,mt7981-spim-nor-rfb
  1089. KERNEL := kernel-bin | lzma | \
  1090. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1091. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1092. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1093. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  1094. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1095. endef
  1096. TARGET_DEVICES += yuncore_ax835
  1097. define Device/zbtlink_zbt-z8102ax
  1098. DEVICE_VENDOR := Zbtlink
  1099. DEVICE_MODEL := ZBT-Z8102AX
  1100. DEVICE_DTS := mt7981b-zbtlink-zbt-z8102ax
  1101. DEVICE_DTS_DIR := ../dts
  1102. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 kmod-usb-net-qmi-wwan kmod-usb-serial-option
  1103. KERNEL_IN_UBI := 1
  1104. UBINIZE_OPTS := -E 5
  1105. BLOCKSIZE := 128k
  1106. PAGESIZE := 2048
  1107. IMAGE_SIZE := 65536k
  1108. IMAGES += factory.bin
  1109. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1110. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1111. endef
  1112. TARGET_DEVICES += zbtlink_zbt-z8102ax
  1113. define Device/zbtlink_zbt-z8103ax
  1114. DEVICE_VENDOR := Zbtlink
  1115. DEVICE_MODEL := ZBT-Z8103AX
  1116. DEVICE_DTS := mt7981b-zbtlink-zbt-z8103ax
  1117. DEVICE_DTS_DIR := ../dts
  1118. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
  1119. KERNEL_IN_UBI := 1
  1120. UBINIZE_OPTS := -E 5
  1121. BLOCKSIZE := 128k
  1122. PAGESIZE := 2048
  1123. IMAGE_SIZE := 65536k
  1124. IMAGES += factory.bin
  1125. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1126. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1127. endef
  1128. TARGET_DEVICES += zbtlink_zbt-z8103ax
  1129. define Device/zyxel_ex5601-t0-stock
  1130. DEVICE_VENDOR := Zyxel
  1131. DEVICE_MODEL := EX5601-T0
  1132. DEVICE_VARIANT := (stock layout)
  1133. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
  1134. DEVICE_DTS_DIR := ../dts
  1135. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1136. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  1137. UBINIZE_OPTS := -E 5
  1138. BLOCKSIZE := 256k
  1139. PAGESIZE := 4096
  1140. IMAGE_SIZE := 65536k
  1141. KERNEL_IN_UBI := 1
  1142. IMAGES += factory.bin
  1143. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1144. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1145. KERNEL = kernel-bin | lzma | \
  1146. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1147. KERNEL_INITRAMFS = kernel-bin | lzma | \
  1148. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1149. endef
  1150. TARGET_DEVICES += zyxel_ex5601-t0-stock
  1151. define Device/zyxel_ex5601-t0-ubootmod
  1152. DEVICE_VENDOR := Zyxel
  1153. DEVICE_MODEL := EX5601-T0
  1154. DEVICE_VARIANT := (OpenWrt U-Boot layout)
  1155. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-ubootmod
  1156. DEVICE_DTS_DIR := ../dts
  1157. DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1158. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1159. IMAGES := sysupgrade.itb
  1160. UBINIZE_OPTS := -E 5
  1161. BLOCKSIZE := 256k
  1162. PAGESIZE := 4096
  1163. KERNEL_IN_UBI := 1
  1164. UBOOTENV_IN_UBI := 1
  1165. KERNEL := kernel-bin | lzma
  1166. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1167. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1168. IMAGE/sysupgrade.itb := append-kernel | \
  1169. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1170. ARTIFACTS := preloader.bin bl31-uboot.fip
  1171. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-4k-ddr4
  1172. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot zyxel_ex5601-t0
  1173. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1174. ARTIFACTS += initramfs-factory.ubi
  1175. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1176. endif
  1177. endef
  1178. TARGET_DEVICES += zyxel_ex5601-t0-ubootmod
  1179. define Device/zyxel_ex5700-telenor
  1180. DEVICE_VENDOR := ZyXEL
  1181. DEVICE_MODEL := EX5700 (Telenor)
  1182. DEVICE_DTS := mt7986a-zyxel-ex5700-telenor
  1183. DEVICE_DTS_DIR := ../dts
  1184. DEVICE_PACKAGES := kmod-mt7916-firmware kmod-ubootenv-nvram kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware
  1185. UBINIZE_OPTS := -E 5
  1186. BLOCKSIZE := 128k
  1187. PAGESIZE := 2048
  1188. IMAGE_SIZE := 65536k
  1189. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1190. endef
  1191. TARGET_DEVICES += zyxel_ex5700-telenor
  1192. define Device/zyxel_nwa50ax-pro
  1193. DEVICE_VENDOR := ZyXEL
  1194. DEVICE_MODEL := NWA50AX Pro
  1195. DEVICE_DTS := mt7981b-zyxel-nwa50ax-pro
  1196. DEVICE_DTS_DIR := ../dts
  1197. DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware zyxel-bootconfig
  1198. DEVICE_DTS_LOADADDR := 0x44000000
  1199. UBINIZE_OPTS := -E 5
  1200. BLOCKSIZE := 128k
  1201. PAGESIZE := 2048
  1202. IMAGE_SIZE := 51200k
  1203. KERNEL_IN_UBI := 1
  1204. IMAGES += factory.bin
  1205. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | zyxel-nwa-fit-filogic
  1206. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1207. endef
  1208. TARGET_DEVICES += zyxel_nwa50ax-pro