2
0

filogic.mk 16 KB

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