filogic.mk 67 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811
  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/append-openwrt-one-eeprom
  76. dd if=$(STAGING_DIR_IMAGE)/mt7981_eeprom_mt7976_dbdc.bin >> $@
  77. endef
  78. define Build/zyxel-nwa-fit-filogic
  79. $(TOPDIR)/scripts/mkits-zyxel-fit-filogic.sh \
  80. [email protected] $@ "80 e1 ff ff ff ff ff ff ff ff"
  81. PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f [email protected] [email protected]
  82. @mv [email protected] $@
  83. endef
  84. define Build/cetron-header
  85. $(eval magic=$(word 1,$(1)))
  86. $(eval model=$(word 2,$(1)))
  87. ( \
  88. dd if=/dev/zero bs=856 count=1 2>/dev/null; \
  89. printf "$(model)," | dd bs=128 count=1 conv=sync 2>/dev/null; \
  90. md5sum $@ | cut -f1 -d" " | dd bs=32 count=1 2>/dev/null; \
  91. printf "$(magic)" | dd bs=4 count=1 conv=sync 2>/dev/null; \
  92. cat $@; \
  93. ) > [email protected]
  94. fw_crc=$$(gzip -c [email protected] | tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n'); \
  95. printf "$$(echo $$fw_crc | sed 's/../\\x&/g')" | cat - [email protected] > $@
  96. rm [email protected]
  97. endef
  98. define Device/abt_asr3000
  99. DEVICE_VENDOR := ABT
  100. DEVICE_MODEL := ASR3000
  101. DEVICE_DTS := mt7981b-abt-asr3000
  102. DEVICE_DTS_DIR := ../dts
  103. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  104. UBINIZE_OPTS := -E 5
  105. BLOCKSIZE := 128k
  106. PAGESIZE := 2048
  107. KERNEL_IN_UBI := 1
  108. UBOOTENV_IN_UBI := 1
  109. IMAGES := sysupgrade.itb
  110. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  111. KERNEL := kernel-bin | gzip
  112. KERNEL_INITRAMFS := kernel-bin | lzma | \
  113. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  114. IMAGE/sysupgrade.itb := append-kernel | \
  115. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  116. ARTIFACTS := preloader.bin bl31-uboot.fip
  117. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  118. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot abt_asr3000
  119. endef
  120. TARGET_DEVICES += abt_asr3000
  121. define Device/acelink_ew-7886cax
  122. DEVICE_VENDOR := Acelink
  123. DEVICE_MODEL := EW-7886CAX
  124. DEVICE_DTS := mt7986a-acelink-ew-7886cax
  125. DEVICE_DTS_DIR := ../dts
  126. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  127. UBINIZE_OPTS := -E 5
  128. BLOCKSIZE := 128k
  129. PAGESIZE := 2048
  130. IMAGE_SIZE := 65536k
  131. KERNEL_IN_UBI := 1
  132. IMAGES += factory.bin
  133. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  134. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  135. endef
  136. TARGET_DEVICES += acelink_ew-7886cax
  137. define Device/acer_predator-w6
  138. DEVICE_VENDOR := Acer
  139. DEVICE_MODEL := Predator Connect W6
  140. DEVICE_DTS := mt7986a-acer-predator-w6
  141. DEVICE_DTS_DIR := ../dts
  142. DEVICE_DTS_LOADADDR := 0x47000000
  143. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7916-firmware kmod-mt7986-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
  144. IMAGES := sysupgrade.bin
  145. KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  146. KERNEL_INITRAMFS := kernel-bin | lzma | \
  147. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  148. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  149. endef
  150. TARGET_DEVICES += acer_predator-w6
  151. define Device/acer_predator-w6d
  152. DEVICE_VENDOR := Acer
  153. DEVICE_MODEL := Predator Connect W6d
  154. DEVICE_DTS := mt7986a-acer-predator-w6d
  155. DEVICE_DTS_DIR := ../dts
  156. DEVICE_DTS_LOADADDR := 0x47000000
  157. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7916-firmware kmod-mt7986-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
  158. IMAGES := sysupgrade.bin
  159. KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  160. KERNEL_INITRAMFS := kernel-bin | lzma | \
  161. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  162. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  163. endef
  164. TARGET_DEVICES += acer_predator-w6d
  165. define Device/acer_vero-w6m
  166. DEVICE_VENDOR := Acer
  167. DEVICE_MODEL := Connect Vero W6m
  168. DEVICE_DTS := mt7986a-acer-vero-w6m
  169. DEVICE_DTS_DIR := ../dts
  170. DEVICE_DTS_LOADADDR := 0x47000000
  171. DEVICE_PACKAGES := kmod-leds-ktd202x kmod-mt7915e kmod-mt7916-firmware kmod-mt7986-firmware mt7986-wo-firmware e2fsprogs f2fsck mkf2fs
  172. IMAGES := sysupgrade.bin
  173. KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  174. KERNEL_INITRAMFS := kernel-bin | lzma | \
  175. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  176. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  177. endef
  178. TARGET_DEVICES += acer_vero-w6m
  179. define Device/adtran_smartrg
  180. DEVICE_VENDOR := Adtran
  181. DEVICE_DTS_DIR := ../dts
  182. DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-hwmon-pwmfan
  183. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  184. endef
  185. define Device/smartrg_sdg-8612
  186. $(call Device/adtran_smartrg)
  187. DEVICE_MODEL := SDG-8612
  188. DEVICE_DTS := mt7986a-smartrg-SDG-8612
  189. DEVICE_PACKAGES += kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  190. endef
  191. TARGET_DEVICES += smartrg_sdg-8612
  192. define Device/smartrg_sdg-8614
  193. $(call Device/adtran_smartrg)
  194. DEVICE_MODEL := SDG-8614
  195. DEVICE_DTS := mt7986a-smartrg-SDG-8614
  196. DEVICE_PACKAGES += kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  197. endef
  198. TARGET_DEVICES += smartrg_sdg-8614
  199. define Device/smartrg_sdg-8622
  200. $(call Device/adtran_smartrg)
  201. DEVICE_MODEL := SDG-8622
  202. DEVICE_DTS := mt7986a-smartrg-SDG-8622
  203. DEVICE_PACKAGES += kmod-mt7915e kmod-mt7915-firmware kmod-mt7986-firmware mt7986-wo-firmware
  204. endef
  205. TARGET_DEVICES += smartrg_sdg-8622
  206. define Device/smartrg_sdg-8632
  207. $(call Device/adtran_smartrg)
  208. DEVICE_MODEL := SDG-8632
  209. DEVICE_DTS := mt7986a-smartrg-SDG-8632
  210. DEVICE_PACKAGES += kmod-mt7915e kmod-mt7915-firmware kmod-mt7986-firmware mt7986-wo-firmware
  211. endef
  212. TARGET_DEVICES += smartrg_sdg-8632
  213. define Device/smartrg_sdg-8733
  214. $(call Device/adtran_smartrg)
  215. DEVICE_MODEL := SDG-8733
  216. DEVICE_DTS := mt7988a-smartrg-SDG-8733
  217. DEVICE_PACKAGES += kmod-mt7996-firmware kmod-phy-aquantia kmod-usb3 mt7988-wo-firmware
  218. endef
  219. TARGET_DEVICES += smartrg_sdg-8733
  220. define Device/smartrg_sdg-8733a
  221. $(call Device/adtran_smartrg)
  222. DEVICE_MODEL := SDG-8733A
  223. DEVICE_DTS := mt7988d-smartrg-SDG-8733A
  224. DEVICE_PACKAGES += mt7988-2p5g-phy-firmware kmod-mt7996-233-firmware kmod-phy-aquantia mt7988-wo-firmware
  225. endef
  226. TARGET_DEVICES += smartrg_sdg-8733a
  227. define Device/smartrg_sdg-8734
  228. $(call Device/adtran_smartrg)
  229. DEVICE_MODEL := SDG-8734
  230. DEVICE_DTS := mt7988a-smartrg-SDG-8734
  231. DEVICE_PACKAGES += kmod-mt7996-firmware kmod-phy-aquantia kmod-sfp kmod-usb3 mt7988-wo-firmware
  232. endef
  233. TARGET_DEVICES += smartrg_sdg-8734
  234. define Device/asus_rt-ax59u
  235. DEVICE_VENDOR := ASUS
  236. DEVICE_MODEL := RT-AX59U
  237. DEVICE_DTS := mt7986a-asus-rt-ax59u
  238. DEVICE_DTS_DIR := ../dts
  239. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  240. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  241. endef
  242. TARGET_DEVICES += asus_rt-ax59u
  243. define Device/asus_tuf-ax4200
  244. DEVICE_VENDOR := ASUS
  245. DEVICE_MODEL := TUF-AX4200
  246. DEVICE_DTS := mt7986a-asus-tuf-ax4200
  247. DEVICE_DTS_DIR := ../dts
  248. DEVICE_DTS_LOADADDR := 0x47000000
  249. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  250. IMAGES := sysupgrade.bin
  251. KERNEL := kernel-bin | lzma | \
  252. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  253. KERNEL_INITRAMFS := kernel-bin | lzma | \
  254. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  255. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  256. endef
  257. TARGET_DEVICES += asus_tuf-ax4200
  258. define Device/arcadyan_mozart
  259. DEVICE_VENDOR := Arcadyan
  260. DEVICE_MODEL := Mozart
  261. DEVICE_DTS := mt7988a-arcadyan-mozart
  262. DEVICE_DTS_DIR := ../dts
  263. DEVICE_DTC_FLAGS := --pad 4096
  264. DEVICE_DTS_LOADADDR := 0x45f00000
  265. DEVICE_PACKAGES := kmod-hwmon-pwmfan e2fsprogs f2fsck mkf2fs kmod-mt7996-firmware
  266. KERNEL_LOADADDR := 0x46000000
  267. KERNEL := kernel-bin | gzip
  268. KERNEL_INITRAMFS := kernel-bin | lzma | \
  269. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  270. KERNEL_INITRAMFS_SUFFIX := .itb
  271. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  272. IMAGES := sysupgrade.itb
  273. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  274. ARTIFACTS := emmc-preloader.bin emmc-bl31-uboot.fip emmc-gpt.bin
  275. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  276. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  277. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot arcadyan_mozart
  278. SUPPORTED_DEVICES += arcadyan,mozart
  279. endef
  280. TARGET_DEVICES += arcadyan_mozart
  281. define Device/asus_tuf-ax6000
  282. DEVICE_VENDOR := ASUS
  283. DEVICE_MODEL := TUF-AX6000
  284. DEVICE_DTS := mt7986a-asus-tuf-ax6000
  285. DEVICE_DTS_DIR := ../dts
  286. DEVICE_DTS_LOADADDR := 0x47000000
  287. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  288. IMAGES := sysupgrade.bin
  289. KERNEL := kernel-bin | lzma | \
  290. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  291. KERNEL_INITRAMFS := kernel-bin | lzma | \
  292. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  293. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  294. endef
  295. TARGET_DEVICES += asus_tuf-ax6000
  296. define Device/bananapi_bpi-r3
  297. DEVICE_VENDOR := Bananapi
  298. DEVICE_MODEL := BPi-R3
  299. DEVICE_DTS := mt7986a-bananapi-bpi-r3
  300. DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3
  301. DEVICE_DTS_OVERLAY:= mt7986a-bananapi-bpi-r3-emmc mt7986a-bananapi-bpi-r3-nand \
  302. mt7986a-bananapi-bpi-r3-nor mt7986a-bananapi-bpi-r3-sd \
  303. mt7986a-bananapi-bpi-r3-respeaker-2mics
  304. DEVICE_DTS_DIR := $(DTS_DIR)/
  305. DEVICE_DTS_LOADADDR := 0x43f00000
  306. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-gpio kmod-mt7915e kmod-mt7986-firmware kmod-sfp kmod-usb3 \
  307. e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
  308. IMAGES := sysupgrade.itb
  309. KERNEL_LOADADDR := 0x44000000
  310. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  311. ARTIFACTS := \
  312. emmc-preloader.bin emmc-bl31-uboot.fip \
  313. nor-preloader.bin nor-bl31-uboot.fip \
  314. sdcard.img.gz \
  315. snand-preloader.bin snand-bl31-uboot.fip
  316. ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
  317. ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-emmc
  318. ARTIFACT/nor-preloader.bin := mt7986-bl2 nor-ddr4
  319. ARTIFACT/nor-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-nor
  320. ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ubi-ddr4
  321. ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-snand
  322. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  323. pad-to 17k | mt7986-bl2 sdmmc-ddr4 |\
  324. pad-to 6656k | mt7986-bl31-uboot bananapi_bpi-r3-sdmmc |\
  325. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  326. pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
  327. ) \
  328. pad-to 44M | mt7986-bl2 spim-nand-ubi-ddr4 |\
  329. pad-to 45M | mt7986-bl31-uboot bananapi_bpi-r3-snand |\
  330. pad-to 49M | mt7986-bl2 nor-ddr4 |\
  331. pad-to 50M | mt7986-bl31-uboot bananapi_bpi-r3-nor |\
  332. pad-to 51M | mt7986-bl2 emmc-ddr4 |\
  333. pad-to 52M | mt7986-bl31-uboot bananapi_bpi-r3-emmc |\
  334. pad-to 56M | mt798x-gpt emmc |\
  335. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  336. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  337. ) \
  338. gzip
  339. ifeq ($(DUMP),)
  340. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  341. endif
  342. KERNEL := kernel-bin | gzip
  343. KERNEL_INITRAMFS := kernel-bin | lzma | \
  344. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  345. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
  346. DEVICE_DTC_FLAGS := --pad 4096
  347. DEVICE_COMPAT_VERSION := 1.3
  348. DEVICE_COMPAT_MESSAGE := First sfp port renamed from eth1 to sfp1
  349. endef
  350. TARGET_DEVICES += bananapi_bpi-r3
  351. define Device/bananapi_bpi-r3-mini
  352. DEVICE_VENDOR := Bananapi
  353. DEVICE_MODEL := BPi-R3 Mini
  354. DEVICE_DTS := mt7986a-bananapi-bpi-r3-mini
  355. DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3-mini
  356. DEVICE_DTS_DIR := ../dts
  357. DEVICE_DTS_LOADADDR := 0x43f00000
  358. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-mt7915e kmod-mt7986-firmware kmod-phy-airoha-en8811h \
  359. kmod-usb3 e2fsprogs f2fsck mkf2fs mt7986-wo-firmware
  360. KERNEL_LOADADDR := 0x44000000
  361. KERNEL := kernel-bin | gzip
  362. KERNEL_INITRAMFS := kernel-bin | lzma | \
  363. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  364. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  365. BLOCKSIZE := 128k
  366. PAGESIZE := 2048
  367. KERNEL_IN_UBI := 1
  368. UBOOTENV_IN_UBI := 1
  369. IMAGES := snand-factory.bin sysupgrade.itb
  370. ifeq ($(DUMP),)
  371. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  372. endif
  373. IMAGE/sysupgrade.itb := append-kernel | \
  374. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  375. pad-rootfs | append-metadata
  376. ARTIFACTS := \
  377. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  378. snand-factory.bin snand-preloader.bin snand-bl31-uboot.fip
  379. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  380. ARTIFACT/emmc-preloader.bin := mt7986-bl2 emmc-ddr4
  381. ARTIFACT/emmc-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-mini-emmc
  382. ARTIFACT/snand-factory.bin := mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 256k | \
  383. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 512k | \
  384. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 768k | \
  385. mt7986-bl2 spim-nand-ubi-ddr4 | pad-to 2048k | \
  386. ubinize-image fit squashfs-sysupgrade.itb
  387. ARTIFACT/snand-preloader.bin := mt7986-bl2 spim-nand-ubi-ddr4
  388. ARTIFACT/snand-bl31-uboot.fip := mt7986-bl31-uboot bananapi_bpi-r3-mini-snand
  389. UBINIZE_PARTS := fip=:$(STAGING_DIR_IMAGE)/mt7986_bananapi_bpi-r3-mini-snand-u-boot.fip
  390. ifneq ($(CONFIG_PACKAGE_airoha-en8811h-firmware),)
  391. UBINIZE_PARTS += en8811h-fw=:$(STAGING_DIR_IMAGE)/EthMD32.bin
  392. endif
  393. endef
  394. TARGET_DEVICES += bananapi_bpi-r3-mini
  395. define Device/bananapi_bpi-r4-common
  396. DEVICE_VENDOR := Bananapi
  397. DEVICE_DTS_DIR := $(DTS_DIR)/
  398. DEVICE_DTS_LOADADDR := 0x45f00000
  399. DEVICE_DTS_OVERLAY:= mt7988a-bananapi-bpi-r4-emmc mt7988a-bananapi-bpi-r4-rtc mt7988a-bananapi-bpi-r4-sd mt7988a-bananapi-bpi-r4-wifi-mt7996a
  400. DEVICE_DTC_FLAGS := --pad 4096
  401. DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-mux-pca954x kmod-eeprom-at24 kmod-mt7996-firmware kmod-mt7996-233-firmware \
  402. kmod-rtc-pcf8563 kmod-sfp kmod-usb3 e2fsprogs f2fsck mkf2fs mt7988-wo-firmware
  403. DEVICE_COMPAT_VERSION := 1.1
  404. DEVICE_COMPAT_MESSAGE := The non-switch ports were renamed to match the board/case labels
  405. IMAGES := sysupgrade.itb
  406. KERNEL_LOADADDR := 0x46000000
  407. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  408. ARTIFACTS := \
  409. emmc-preloader.bin emmc-bl31-uboot.fip \
  410. sdcard.img.gz \
  411. snand-preloader.bin snand-bl31-uboot.fip
  412. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  413. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot $$(DEVICE_NAME)-emmc
  414. ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-ubi-comb
  415. ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot $$(DEVICE_NAME)-snand
  416. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  417. pad-to 17k | mt7988-bl2 sdmmc-comb |\
  418. pad-to 6656k | mt7988-bl31-uboot $$(DEVICE_NAME)-sdmmc |\
  419. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  420. pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\
  421. ) \
  422. pad-to 44M | mt7988-bl2 spim-nand-ubi-comb |\
  423. pad-to 45M | mt7988-bl31-uboot $$(DEVICE_NAME)-snand |\
  424. pad-to 51M | mt7988-bl2 emmc-comb |\
  425. pad-to 52M | mt7988-bl31-uboot $$(DEVICE_NAME)-emmc |\
  426. pad-to 56M | mt798x-gpt emmc |\
  427. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  428. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  429. ) \
  430. gzip
  431. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  432. KERNEL := kernel-bin | gzip
  433. KERNEL_INITRAMFS := kernel-bin | lzma | \
  434. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  435. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  436. endef
  437. define Device/bananapi_bpi-r4
  438. DEVICE_MODEL := BPi-R4
  439. DEVICE_DTS := mt7988a-bananapi-bpi-r4
  440. DEVICE_DTS_CONFIG := config-mt7988a-bananapi-bpi-r4
  441. $(call Device/bananapi_bpi-r4-common)
  442. endef
  443. TARGET_DEVICES += bananapi_bpi-r4
  444. define Device/bananapi_bpi-r4-poe
  445. DEVICE_MODEL := BPi-R4 2.5GE
  446. DEVICE_DTS := mt7988a-bananapi-bpi-r4-poe
  447. DEVICE_DTS_CONFIG := config-mt7988a-bananapi-bpi-r4-poe
  448. $(call Device/bananapi_bpi-r4-common)
  449. DEVICE_PACKAGES += mt7988-2p5g-phy-firmware
  450. endef
  451. TARGET_DEVICES += bananapi_bpi-r4-poe
  452. define Device/cetron_ct3003
  453. DEVICE_VENDOR := Cetron
  454. DEVICE_MODEL := CT3003
  455. DEVICE_DTS := mt7981b-cetron-ct3003
  456. DEVICE_DTS_DIR := ../dts
  457. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
  458. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  459. UBINIZE_OPTS := -E 5
  460. BLOCKSIZE := 128k
  461. PAGESIZE := 2048
  462. KERNEL_IN_UBI := 1
  463. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  464. IMAGES += factory.bin
  465. IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | cetron-header rd30 CT3003
  466. endef
  467. TARGET_DEVICES += cetron_ct3003
  468. define Device/cmcc_rax3000m
  469. DEVICE_VENDOR := CMCC
  470. DEVICE_MODEL := RAX3000M
  471. DEVICE_DTS := mt7981b-cmcc-rax3000m
  472. DEVICE_DTS_OVERLAY := mt7981b-cmcc-rax3000m-emmc mt7981b-cmcc-rax3000m-nand
  473. DEVICE_DTS_DIR := ../dts
  474. DEVICE_DTC_FLAGS := --pad 4096
  475. DEVICE_DTS_LOADADDR := 0x43f00000
  476. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 \
  477. e2fsprogs f2fsck mkf2fs
  478. KERNEL_LOADADDR := 0x44000000
  479. KERNEL := kernel-bin | gzip
  480. KERNEL_INITRAMFS := kernel-bin | lzma | \
  481. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  482. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  483. KERNEL_IN_UBI := 1
  484. UBOOTENV_IN_UBI := 1
  485. IMAGES := sysupgrade.itb
  486. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  487. IMAGE/sysupgrade.itb := append-kernel | \
  488. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  489. pad-rootfs | append-metadata
  490. ARTIFACTS := \
  491. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  492. nand-preloader.bin nand-bl31-uboot.fip
  493. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  494. ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr4
  495. ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-emmc
  496. ARTIFACT/nand-preloader.bin := mt7981-bl2 spim-nand-ddr4
  497. ARTIFACT/nand-bl31-uboot.fip := mt7981-bl31-uboot cmcc_rax3000m-nand
  498. endef
  499. TARGET_DEVICES += cmcc_rax3000m
  500. define Device/comfast_cf-e393ax
  501. DEVICE_VENDOR := COMFAST
  502. DEVICE_MODEL := CF-E393AX
  503. DEVICE_ALT0_VENDOR := COMFAST
  504. DEVICE_ALT0_MODEL := CF-E395AX
  505. DEVICE_DTS := mt7981a-comfast-cf-e393ax
  506. DEVICE_DTS_DIR := ../dts
  507. DEVICE_DTC_FLAGS := --pad 4096
  508. DEVICE_DTS_LOADADDR := 0x43f00000
  509. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  510. KERNEL_LOADADDR := 0x44000000
  511. KERNEL = kernel-bin | lzma | \
  512. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  513. KERNEL_INITRAMFS = kernel-bin | lzma | \
  514. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  515. UBINIZE_OPTS := -E 5
  516. BLOCKSIZE := 128k
  517. PAGESIZE := 2048
  518. IMAGE_SIZE := 65536k
  519. KERNEL_IN_UBI := 1
  520. IMAGES := sysupgrade.bin factory.bin
  521. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  522. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  523. endef
  524. TARGET_DEVICES += comfast_cf-e393ax
  525. define Device/confiabits_mt7981
  526. DEVICE_VENDOR := Confiabits
  527. DEVICE_MODEL := MT7981
  528. DEVICE_DTS := mt7981b-confiabits-mt7981
  529. DEVICE_DTS_DIR := ../dts
  530. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-2500wan-gmac2-rfb
  531. UBINIZE_OPTS := -E 5
  532. BLOCKSIZE := 128k
  533. PAGESIZE := 2048
  534. IMAGE_SIZE := 65536k
  535. KERNEL_IN_UBI := 1
  536. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  537. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  538. endef
  539. TARGET_DEVICES += confiabits_mt7981
  540. define Device/cudy_ap3000outdoor-v1
  541. DEVICE_VENDOR := Cudy
  542. DEVICE_MODEL := AP3000 Outdoor
  543. DEVICE_VARIANT := v1
  544. DEVICE_DTS := mt7981b-cudy-ap3000outdoor-v1
  545. DEVICE_DTS_DIR := ../dts
  546. SUPPORTED_DEVICES += R51
  547. UBINIZE_OPTS := -E 5
  548. BLOCKSIZE := 128k
  549. PAGESIZE := 2048
  550. IMAGE_SIZE := 65536k
  551. KERNEL_IN_UBI := 1
  552. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  553. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  554. endef
  555. TARGET_DEVICES += cudy_ap3000outdoor-v1
  556. define Device/cudy_ap3000-v1
  557. DEVICE_VENDOR := Cudy
  558. DEVICE_MODEL := AP3000
  559. DEVICE_VARIANT := v1
  560. DEVICE_DTS := mt7981b-cudy-ap3000-v1
  561. DEVICE_DTS_DIR := ../dts
  562. SUPPORTED_DEVICES += R49
  563. UBINIZE_OPTS := -E 5
  564. BLOCKSIZE := 128k
  565. PAGESIZE := 2048
  566. IMAGE_SIZE := 65536k
  567. KERNEL_IN_UBI := 1
  568. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  569. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  570. endef
  571. TARGET_DEVICES += cudy_ap3000-v1
  572. define Device/cudy_m3000-v1
  573. DEVICE_VENDOR := Cudy
  574. DEVICE_MODEL := M3000
  575. DEVICE_VARIANT := v1
  576. DEVICE_DTS := mt7981b-cudy-m3000-v1
  577. DEVICE_DTS_DIR := ../dts
  578. SUPPORTED_DEVICES += R37
  579. DEVICE_DTS_LOADADDR := 0x44000000
  580. BLOCKSIZE := 128k
  581. PAGESIZE := 2048
  582. IMAGE_SIZE := 65536k
  583. KERNEL_IN_UBI := 1
  584. KERNEL := kernel-bin | lzma | \
  585. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  586. KERNEL_INITRAMFS := kernel-bin | lzma | \
  587. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  588. IMAGES := sysupgrade.bin
  589. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  590. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  591. endef
  592. TARGET_DEVICES += cudy_m3000-v1
  593. define Device/cudy_re3000-v1
  594. DEVICE_VENDOR := Cudy
  595. DEVICE_MODEL := RE3000
  596. DEVICE_VARIANT := v1
  597. DEVICE_DTS := mt7981b-cudy-re3000-v1
  598. DEVICE_DTS_DIR := ../dts
  599. DEVICE_DTS_LOADADDR := 0x47000000
  600. IMAGES := sysupgrade.bin
  601. IMAGE_SIZE := 15424k
  602. SUPPORTED_DEVICES += R36
  603. KERNEL := kernel-bin | lzma | \
  604. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  605. KERNEL_INITRAMFS := kernel-bin | lzma | \
  606. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  607. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  608. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  609. endef
  610. TARGET_DEVICES += cudy_re3000-v1
  611. define Device/cudy_tr3000-v1
  612. DEVICE_VENDOR := Cudy
  613. DEVICE_MODEL := TR3000
  614. DEVICE_VARIANT := v1
  615. DEVICE_DTS := mt7981b-cudy-tr3000-v1
  616. DEVICE_DTS_DIR := ../dts
  617. SUPPORTED_DEVICES += R47
  618. UBINIZE_OPTS := -E 5
  619. BLOCKSIZE := 128k
  620. PAGESIZE := 2048
  621. IMAGE_SIZE := 65536k
  622. KERNEL_IN_UBI := 1
  623. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  624. DEVICE_PACKAGES := kmod-usb3 kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  625. endef
  626. TARGET_DEVICES += cudy_tr3000-v1
  627. define Device/cudy_wr3000-v1
  628. DEVICE_VENDOR := Cudy
  629. DEVICE_MODEL := WR3000
  630. DEVICE_VARIANT := v1
  631. DEVICE_DTS := mt7981b-cudy-wr3000-v1
  632. DEVICE_DTS_DIR := ../dts
  633. DEVICE_DTS_LOADADDR := 0x47000000
  634. IMAGES := sysupgrade.bin
  635. IMAGE_SIZE := 15424k
  636. SUPPORTED_DEVICES += R31
  637. KERNEL := kernel-bin | lzma | \
  638. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  639. KERNEL_INITRAMFS := kernel-bin | lzma | \
  640. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  641. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  642. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  643. endef
  644. TARGET_DEVICES += cudy_wr3000-v1
  645. define Device/cudy_wr3000s-v1
  646. DEVICE_VENDOR := Cudy
  647. DEVICE_MODEL := WR3000S
  648. DEVICE_VARIANT := v1
  649. DEVICE_DTS := mt7981b-cudy-wr3000s-v1
  650. DEVICE_DTS_DIR := ../dts
  651. SUPPORTED_DEVICES += R59
  652. UBINIZE_OPTS := -E 5
  653. BLOCKSIZE := 128k
  654. PAGESIZE := 2048
  655. IMAGE_SIZE := 65536k
  656. KERNEL_IN_UBI := 1
  657. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  658. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  659. endef
  660. TARGET_DEVICES += cudy_wr3000s-v1
  661. define Device/cudy_wr3000h-v1
  662. DEVICE_VENDOR := Cudy
  663. DEVICE_MODEL := WR3000H
  664. DEVICE_VARIANT := v1
  665. DEVICE_DTS := mt7981b-cudy-wr3000h-v1
  666. DEVICE_DTS_DIR := ../dts
  667. SUPPORTED_DEVICES += R63
  668. UBINIZE_OPTS := -E 5
  669. BLOCKSIZE := 128k
  670. PAGESIZE := 2048
  671. IMAGE_SIZE := 65536k
  672. KERNEL_IN_UBI := 1
  673. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  674. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  675. endef
  676. TARGET_DEVICES += cudy_wr3000h-v1
  677. define Device/dlink_aquila-pro-ai-m30-a1
  678. DEVICE_VENDOR := D-Link
  679. DEVICE_MODEL := AQUILA PRO AI M30
  680. DEVICE_VARIANT := A1
  681. DEVICE_DTS := mt7981b-dlink-aquila-pro-ai-m30-a1
  682. DEVICE_DTS_DIR := ../dts
  683. DEVICE_PACKAGES := kmod-leds-gca230718 kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  684. KERNEL_IN_UBI := 1
  685. IMAGES += recovery.bin
  686. IMAGE_SIZE := 51200k
  687. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  688. 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
  689. endef
  690. TARGET_DEVICES += dlink_aquila-pro-ai-m30-a1
  691. define Device/dlink_aquila-pro-ai-m60-a1
  692. DEVICE_VENDOR := D-Link
  693. DEVICE_MODEL := AQUILA PRO AI M60
  694. DEVICE_VARIANT := A1
  695. DEVICE_DTS := mt7986a-dlink-aquila-pro-ai-m60-a1
  696. DEVICE_DTS_DIR := ../dts
  697. DEVICE_PACKAGES := kmod-leds-gca230718 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  698. IMAGES += recovery.bin
  699. IMAGE_SIZE := 51200k
  700. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  701. IMAGE/recovery.bin := sysupgrade-tar | pad-to $$(IMAGE_SIZE) | dlink-ai-recovery-header DLK6E8202001 \x30\x6C\x19\x0C \x00\x00\x2C\x00 \x00\x00\x20\x03 \x82\x6E
  702. endef
  703. TARGET_DEVICES += dlink_aquila-pro-ai-m60-a1
  704. define Device/edgecore_eap111
  705. DEVICE_VENDOR := Edgecore
  706. DEVICE_MODEL := EAP111
  707. DEVICE_DTS := mt7981a-edgecore-eap111
  708. DEVICE_DTS_DIR := ../dts
  709. DEVICE_DTS_LOADADDR := 0x47000000
  710. BLOCKSIZE := 128k
  711. PAGESIZE := 2048
  712. UBINIZE_OPTS := -E 5
  713. KERNEL_IN_UBI := 1
  714. IMAGE_SIZE := 65536k
  715. IMAGES := sysupgrade.bin factory.bin
  716. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  717. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  718. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  719. endef
  720. TARGET_DEVICES += edgecore_eap111
  721. define Device/gatonetworks_gdsp
  722. DEVICE_VENDOR := GatoNetworks
  723. DEVICE_MODEL := gdsp
  724. DEVICE_DTS := mt7981b-gatonetworks-gdsp
  725. DEVICE_DTS_DIR := ../dts
  726. IMAGES := sysupgrade.itb
  727. IMAGE_SIZE := 32768k
  728. DEVICE_PACKAGES := fitblk kmod-mt7915e kmod-mt7981-firmware \
  729. kmod-usb-net-qmi-wwan kmod-usb-serial-option kmod-usb3 \
  730. mt7981-wo-firmware -kmod-phy-aquantia
  731. ARTIFACTS := preloader.bin bl31-uboot.fip
  732. ARTIFACT/preloader.bin := mt7981-bl2 nor-ddr3
  733. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot gatonetworks_gdsp
  734. KERNEL := kernel-bin | gzip
  735. KERNEL_INITRAMFS := kernel-bin | lzma | \
  736. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  737. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
  738. endef
  739. TARGET_DEVICES += gatonetworks_gdsp
  740. define Device/glinet_gl-mt2500
  741. DEVICE_VENDOR := GL.iNet
  742. DEVICE_MODEL := GL-MT2500
  743. DEVICE_DTS := mt7981b-glinet-gl-mt2500
  744. DEVICE_DTS_DIR := ../dts
  745. DEVICE_DTS_LOADADDR := 0x47000000
  746. DEVICE_PACKAGES := -wpad-basic-mbedtls e2fsprogs f2fsck mkf2fs kmod-usb3
  747. SUPPORTED_DEVICES += glinet,mt2500-emmc
  748. IMAGES := sysupgrade.bin
  749. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  750. endef
  751. TARGET_DEVICES += glinet_gl-mt2500
  752. define Device/glinet_gl-mt3000
  753. DEVICE_VENDOR := GL.iNet
  754. DEVICE_MODEL := GL-MT3000
  755. DEVICE_DTS := mt7981b-glinet-gl-mt3000
  756. DEVICE_DTS_DIR := ../dts
  757. SUPPORTED_DEVICES += glinet,mt3000-snand
  758. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3
  759. UBINIZE_OPTS := -E 5
  760. BLOCKSIZE := 128k
  761. PAGESIZE := 2048
  762. IMAGE_SIZE := 246272k
  763. KERNEL_IN_UBI := 1
  764. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  765. endef
  766. TARGET_DEVICES += glinet_gl-mt3000
  767. define Device/glinet_gl-mt6000
  768. DEVICE_VENDOR := GL.iNet
  769. DEVICE_MODEL := GL-MT6000
  770. DEVICE_DTS := mt7986a-glinet-gl-mt6000
  771. DEVICE_DTS_DIR := ../dts
  772. DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-usb3 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  773. IMAGES += factory.bin
  774. IMAGE/factory.bin := append-kernel | pad-to 32M | append-rootfs
  775. IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
  776. ARTIFACTS := preloader.bin bl31-uboot.fip
  777. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  778. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot glinet_gl-mt6000
  779. endef
  780. TARGET_DEVICES += glinet_gl-mt6000
  781. define Device/glinet_gl-x3000-xe3000-common
  782. DEVICE_VENDOR := GL.iNet
  783. DEVICE_DTS_DIR := ../dts
  784. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware mkf2fs \
  785. kmod-fs-f2fs kmod-hwmon-pwmfan kmod-usb3 kmod-usb-serial-option \
  786. kmod-usb-storage kmod-usb-net-qmi-wwan uqmi
  787. IMAGES += factory.bin
  788. IMAGE/factory.bin := append-kernel | pad-to 32M | append-rootfs
  789. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  790. ARTIFACTS := preloader.bin bl31-uboot.fip
  791. ARTIFACT/preloader.bin := mt7981-bl2 emmc-ddr4
  792. endef
  793. define Device/glinet_gl-x3000
  794. DEVICE_MODEL := GL-X3000
  795. DEVICE_DTS := mt7981a-glinet-gl-x3000
  796. SUPPORTED_DEVICES := glinet,gl-x3000
  797. $(call Device/glinet_gl-x3000-xe3000-common)
  798. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot glinet_gl-x3000
  799. endef
  800. TARGET_DEVICES += glinet_gl-x3000
  801. define Device/glinet_gl-xe3000
  802. DEVICE_MODEL := GL-XE3000
  803. DEVICE_DTS := mt7981a-glinet-gl-xe3000
  804. SUPPORTED_DEVICES := glinet,gl-xe3000
  805. $(call Device/glinet_gl-x3000-xe3000-common)
  806. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot glinet_gl-xe3000
  807. endef
  808. TARGET_DEVICES += glinet_gl-xe3000
  809. define Device/h3c_magic-nx30-pro
  810. DEVICE_VENDOR := H3C
  811. DEVICE_MODEL := Magic NX30 Pro
  812. DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
  813. DEVICE_DTS_DIR := ../dts
  814. UBINIZE_OPTS := -E 5
  815. BLOCKSIZE := 128k
  816. PAGESIZE := 2048
  817. KERNEL_IN_UBI := 1
  818. UBOOTENV_IN_UBI := 1
  819. IMAGE_SIZE := 65536k
  820. IMAGES := sysupgrade.itb
  821. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  822. KERNEL := kernel-bin | gzip
  823. KERNEL_INITRAMFS := kernel-bin | lzma | \
  824. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  825. IMAGE/sysupgrade.itb := append-kernel | \
  826. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  827. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  828. ARTIFACTS := preloader.bin bl31-uboot.fip
  829. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  830. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot h3c_magic-nx30-pro
  831. endef
  832. TARGET_DEVICES += h3c_magic-nx30-pro
  833. define Device/jcg_q30-pro
  834. DEVICE_VENDOR := JCG
  835. DEVICE_MODEL := Q30 PRO
  836. DEVICE_DTS := mt7981b-jcg-q30-pro
  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-mt7915e 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 jcg_q30-pro
  854. endef
  855. TARGET_DEVICES += jcg_q30-pro
  856. define Device/jdcloud_re-cp-03
  857. DEVICE_VENDOR := JDCloud
  858. DEVICE_MODEL := RE-CP-03
  859. DEVICE_DTS := mt7986a-jdcloud-re-cp-03
  860. DEVICE_DTS_DIR := ../dts
  861. DEVICE_DTC_FLAGS := --pad 4096
  862. DEVICE_DTS_LOADADDR := 0x43f00000
  863. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware \
  864. e2fsprogs f2fsck mkf2fs
  865. KERNEL_LOADADDR := 0x44000000
  866. KERNEL := kernel-bin | gzip
  867. KERNEL_INITRAMFS := kernel-bin | lzma | \
  868. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  869. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  870. IMAGES := sysupgrade.itb
  871. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  872. IMAGE/sysupgrade.itb := append-kernel | \
  873. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  874. pad-rootfs | append-metadata
  875. ARTIFACTS :=gpt.bin preloader.bin bl31-uboot.fip
  876. ARTIFACT/gpt.bin := mt798x-gpt emmc
  877. ARTIFACT/preloader.bin := mt7986-bl2 emmc-ddr4
  878. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot jdcloud_re-cp-03
  879. endef
  880. TARGET_DEVICES += jdcloud_re-cp-03
  881. define Device/keenetic_kn-3811
  882. DEVICE_VENDOR := Keenetic
  883. DEVICE_MODEL := KN-3811
  884. DEVICE_DTS := mt7981b-keenetic-kn-3811
  885. DEVICE_DTS_DIR := ../dts
  886. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  887. UBINIZE_OPTS := -E 5
  888. BLOCKSIZE := 128k
  889. PAGESIZE := 2048
  890. KERNEL_SIZE := 6144k
  891. IMAGE_SIZE := 233984k
  892. KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | \
  893. append-squashfs4-fakeroot
  894. IMAGES += factory.bin
  895. IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
  896. append-ubi | check-size | zyimage -d 0x803811 -v "KN-3811"
  897. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  898. endef
  899. TARGET_DEVICES += keenetic_kn-3811
  900. define Device/keenetic_kn-3911
  901. DEVICE_VENDOR := Keenetic
  902. DEVICE_MODEL := KN-3911
  903. DEVICE_DTS := mt7981b-keenetic-kn-3911
  904. DEVICE_DTS_DIR := ../dts
  905. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-phy-airoha-en8811h
  906. UBINIZE_OPTS := -E 5
  907. BLOCKSIZE := 128k
  908. PAGESIZE := 2048
  909. KERNEL_SIZE := 6144k
  910. IMAGE_SIZE := 108544k
  911. KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | \
  912. append-squashfs4-fakeroot
  913. IMAGES += factory.bin
  914. IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
  915. append-ubi | check-size | zyimage -d 0x803911 -v "KN-3911"
  916. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  917. endef
  918. TARGET_DEVICES += keenetic_kn-3911
  919. define Device/mediatek_mt7981-rfb
  920. DEVICE_VENDOR := MediaTek
  921. DEVICE_MODEL := MT7981 rfb
  922. DEVICE_DTS := mt7981-rfb
  923. DEVICE_DTS_OVERLAY:= \
  924. mt7981-rfb-spim-nand \
  925. mt7981-rfb-mxl-2p5g-phy-eth1 \
  926. mt7981-rfb-mxl-2p5g-phy-swp5
  927. DEVICE_DTS_DIR := $(DTS_DIR)/
  928. DEVICE_DTC_FLAGS := --pad 4096
  929. DEVICE_DTS_LOADADDR := 0x43f00000
  930. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs mt7981-wo-firmware
  931. KERNEL_LOADADDR := 0x44000000
  932. KERNEL := kernel-bin | gzip
  933. KERNEL_INITRAMFS := kernel-bin | lzma | \
  934. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  935. KERNEL_INITRAMFS_SUFFIX := .itb
  936. KERNEL_IN_UBI := 1
  937. UBOOTENV_IN_UBI := 1
  938. IMAGES := sysupgrade.itb
  939. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  940. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  941. ARTIFACTS := \
  942. emmc-preloader.bin emmc-bl31-uboot.fip \
  943. nor-preloader.bin nor-bl31-uboot.fip \
  944. sdcard.img.gz \
  945. snfi-nand-preloader.bin snfi-nand-bl31-uboot.fip \
  946. spim-nand-preloader.bin spim-nand-bl31-uboot.fip
  947. ARTIFACT/emmc-preloader.bin := mt7981-bl2 emmc-ddr3
  948. ARTIFACT/emmc-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  949. ARTIFACT/nor-preloader.bin := mt7981-bl2 nor-ddr3
  950. ARTIFACT/nor-bl31-uboot.fip := mt7981-bl31-uboot rfb-emmc
  951. ARTIFACT/snfi-nand-preloader.bin := mt7981-bl2 snand-ddr3
  952. ARTIFACT/snfi-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-snfi
  953. ARTIFACT/spim-nand-preloader.bin := mt7981-bl2 spim-nand-ddr3
  954. ARTIFACT/spim-nand-bl31-uboot.fip := mt7981-bl31-uboot rfb-spim-nand
  955. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  956. pad-to 17k | mt7981-bl2 sdmmc-ddr3 |\
  957. pad-to 6656k | mt7981-bl31-uboot rfb-sd |\
  958. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  959. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  960. ) \
  961. pad-to 44M | mt7981-bl2 spim-nand-ddr3 |\
  962. pad-to 45M | mt7981-bl31-uboot rfb-spim-nand |\
  963. pad-to 49M | mt7981-bl2 nor-ddr3 |\
  964. pad-to 50M | mt7981-bl31-uboot rfb-nor |\
  965. pad-to 51M | mt7981-bl2 snand-ddr3 |\
  966. pad-to 53M | mt7981-bl31-uboot rfb-snfi |\
  967. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  968. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  969. ) \
  970. gzip
  971. endef
  972. TARGET_DEVICES += mediatek_mt7981-rfb
  973. define Device/mediatek_mt7986a-rfb-nand
  974. DEVICE_VENDOR := MediaTek
  975. DEVICE_MODEL := MT7986 rfba AP (NAND)
  976. DEVICE_DTS := mt7986a-rfb-spim-nand
  977. DEVICE_DTS_DIR := $(DTS_DIR)/
  978. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  979. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  980. UBINIZE_OPTS := -E 5
  981. BLOCKSIZE := 128k
  982. PAGESIZE := 2048
  983. IMAGE_SIZE := 65536k
  984. KERNEL_IN_UBI := 1
  985. IMAGES += factory.bin
  986. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  987. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  988. KERNEL = kernel-bin | lzma | \
  989. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  990. KERNEL_INITRAMFS = kernel-bin | lzma | \
  991. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  992. endef
  993. TARGET_DEVICES += mediatek_mt7986a-rfb-nand
  994. define Device/mediatek_mt7986b-rfb
  995. DEVICE_VENDOR := MediaTek
  996. DEVICE_MODEL := MTK7986 rfbb AP
  997. DEVICE_DTS := mt7986b-rfb
  998. DEVICE_DTS_DIR := $(DTS_DIR)/
  999. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1000. SUPPORTED_DEVICES := mediatek,mt7986b-rfb
  1001. UBINIZE_OPTS := -E 5
  1002. BLOCKSIZE := 128k
  1003. PAGESIZE := 2048
  1004. IMAGE_SIZE := 65536k
  1005. KERNEL_IN_UBI := 1
  1006. IMAGES += factory.bin
  1007. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1008. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1009. endef
  1010. TARGET_DEVICES += mediatek_mt7986b-rfb
  1011. define Device/mediatek_mt7988a-rfb
  1012. DEVICE_VENDOR := MediaTek
  1013. DEVICE_MODEL := MT7988A rfb
  1014. DEVICE_DTS := mt7988a-rfb
  1015. DEVICE_DTS_OVERLAY:= \
  1016. mt7988a-rfb-emmc \
  1017. mt7988a-rfb-sd \
  1018. mt7988a-rfb-snfi-nand \
  1019. mt7988a-rfb-spim-nand \
  1020. mt7988a-rfb-spim-nand-factory \
  1021. mt7988a-rfb-spim-nor \
  1022. mt7988a-rfb-eth1-aqr \
  1023. mt7988a-rfb-eth1-i2p5g-phy \
  1024. mt7988a-rfb-eth1-mxl \
  1025. mt7988a-rfb-eth1-sfp \
  1026. mt7988a-rfb-eth2-aqr \
  1027. mt7988a-rfb-eth2-mxl \
  1028. mt7988a-rfb-eth2-sfp
  1029. DEVICE_DTS_DIR := $(DTS_DIR)/
  1030. DEVICE_DTC_FLAGS := --pad 4096
  1031. DEVICE_DTS_LOADADDR := 0x45f00000
  1032. DEVICE_PACKAGES := mt7988-2p5g-phy-firmware kmod-sfp
  1033. KERNEL_LOADADDR := 0x46000000
  1034. KERNEL := kernel-bin | gzip
  1035. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1036. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1037. KERNEL_INITRAMFS_SUFFIX := .itb
  1038. KERNEL_IN_UBI := 1
  1039. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  1040. IMAGES := sysupgrade.itb
  1041. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  1042. ARTIFACTS := \
  1043. emmc-gpt.bin emmc-preloader.bin emmc-bl31-uboot.fip \
  1044. nor-preloader.bin nor-bl31-uboot.fip \
  1045. sdcard.img.gz \
  1046. snand-preloader.bin snand-bl31-uboot.fip
  1047. ARTIFACT/emmc-gpt.bin := mt798x-gpt emmc
  1048. ARTIFACT/emmc-preloader.bin := mt7988-bl2 emmc-comb
  1049. ARTIFACT/emmc-bl31-uboot.fip := mt7988-bl31-uboot rfb-emmc
  1050. ARTIFACT/nor-preloader.bin := mt7988-bl2 nor-comb
  1051. ARTIFACT/nor-bl31-uboot.fip := mt7988-bl31-uboot rfb-nor
  1052. ARTIFACT/snand-preloader.bin := mt7988-bl2 spim-nand-ubi-comb
  1053. ARTIFACT/snand-bl31-uboot.fip := mt7988-bl31-uboot rfb-snand
  1054. ARTIFACT/sdcard.img.gz := mt798x-gpt sdmmc |\
  1055. pad-to 17k | mt7988-bl2 sdmmc-comb |\
  1056. pad-to 6656k | mt7988-bl31-uboot rfb-sd |\
  1057. $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
  1058. pad-to 12M | append-image-stage initramfs.itb | check-size 44m |\
  1059. ) \
  1060. pad-to 44M | mt7988-bl2 spim-nand-comb |\
  1061. pad-to 45M | mt7988-bl31-uboot rfb-snand |\
  1062. pad-to 51M | mt7988-bl2 nor-comb |\
  1063. pad-to 51M | mt7988-bl31-uboot rfb-nor |\
  1064. pad-to 55M | mt7988-bl2 emmc-comb |\
  1065. pad-to 56M | mt7988-bl31-uboot rfb-emmc |\
  1066. pad-to 62M | mt798x-gpt emmc |\
  1067. $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\
  1068. pad-to 64M | append-image squashfs-sysupgrade.itb | check-size |\
  1069. ) \
  1070. gzip
  1071. endef
  1072. TARGET_DEVICES += mediatek_mt7988a-rfb
  1073. define Device/mercusys_mr90x-v1
  1074. DEVICE_VENDOR := MERCUSYS
  1075. DEVICE_MODEL := MR90X v1
  1076. DEVICE_DTS := mt7986b-mercusys-mr90x-v1
  1077. DEVICE_DTS_DIR := ../dts
  1078. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1079. UBINIZE_OPTS := -E 5
  1080. BLOCKSIZE := 128k
  1081. PAGESIZE := 2048
  1082. IMAGE_SIZE := 51200k
  1083. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1084. endef
  1085. TARGET_DEVICES += mercusys_mr90x-v1
  1086. define Device/mercusys_mr90x-v1-ubi
  1087. DEVICE_VENDOR := MERCUSYS
  1088. DEVICE_MODEL := MR90X v1 (UBI)
  1089. DEVICE_DTS := mt7986b-mercusys-mr90x-v1-ubi
  1090. DEVICE_DTS_DIR := ../dts
  1091. DEVICE_DTC_FLAGS := --pad 4096
  1092. DEVICE_DTS_LOADADDR := 0x43f00000
  1093. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1094. UBINIZE_OPTS := -E 5
  1095. BLOCKSIZE := 128k
  1096. PAGESIZE := 2048
  1097. KERNEL_IN_UBI := 1
  1098. UBOOTENV_IN_UBI := 1
  1099. IMAGES := sysupgrade.itb
  1100. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1101. KERNEL := kernel-bin | gzip
  1102. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1103. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | \
  1104. pad-to 64k
  1105. IMAGE/sysupgrade.itb := append-kernel | \
  1106. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | \
  1107. append-metadata
  1108. ARTIFACTS := bl31-uboot.fip preloader.bin
  1109. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot mercusys_mr90x-v1
  1110. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ubi-ddr3
  1111. endef
  1112. TARGET_DEVICES += mercusys_mr90x-v1-ubi
  1113. define Device/netcore_n60
  1114. DEVICE_VENDOR := Netcore
  1115. DEVICE_MODEL := N60
  1116. DEVICE_DTS := mt7986a-netcore-n60
  1117. DEVICE_DTS_DIR := ../dts
  1118. UBINIZE_OPTS := -E 5
  1119. BLOCKSIZE := 128k
  1120. PAGESIZE := 2048
  1121. KERNEL_IN_UBI := 1
  1122. UBOOTENV_IN_UBI := 1
  1123. IMAGES := sysupgrade.itb
  1124. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1125. KERNEL := kernel-bin | gzip
  1126. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1127. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1128. IMAGE/sysupgrade.itb := append-kernel | \
  1129. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1130. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1131. ARTIFACTS := preloader.bin bl31-uboot.fip
  1132. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  1133. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot netcore_n60
  1134. endef
  1135. TARGET_DEVICES += netcore_n60
  1136. define Device/netgear_wax220
  1137. DEVICE_VENDOR := NETGEAR
  1138. DEVICE_MODEL := WAX220
  1139. DEVICE_DTS := mt7986b-netgear-wax220
  1140. DEVICE_DTS_DIR := ../dts
  1141. NETGEAR_ENC_MODEL := WAX220
  1142. NETGEAR_ENC_REGION := US
  1143. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1144. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1145. IMAGE_SIZE := 32768k
  1146. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1147. IMAGES += factory.img
  1148. # Padding to 10M seems to be required by OEM web interface
  1149. IMAGE/factory.img := sysupgrade-tar | \
  1150. pad-to 10M | check-size | netgear-encrypted-factory
  1151. endef
  1152. TARGET_DEVICES += netgear_wax220
  1153. define Device/nokia_ea0326gmp
  1154. DEVICE_VENDOR := Nokia
  1155. DEVICE_MODEL := EA0326GMP
  1156. DEVICE_DTS := mt7981b-nokia-ea0326gmp
  1157. DEVICE_DTS_DIR := ../dts
  1158. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1159. UBINIZE_OPTS := -E 5
  1160. BLOCKSIZE := 128k
  1161. PAGESIZE := 2048
  1162. KERNEL_IN_UBI := 1
  1163. UBOOTENV_IN_UBI := 1
  1164. IMAGES := sysupgrade.itb
  1165. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1166. KERNEL := kernel-bin | gzip
  1167. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1168. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1169. IMAGE/sysupgrade.itb := append-kernel | \
  1170. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1171. ARTIFACTS := preloader.bin bl31-uboot.fip
  1172. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1173. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot nokia_ea0326gmp
  1174. endef
  1175. TARGET_DEVICES += nokia_ea0326gmp
  1176. define Device/nradio_c8-668gl
  1177. DEVICE_VENDOR := NRadio
  1178. DEVICE_MODEL := C8-668GL
  1179. DEVICE_DTS := mt7981b-nradio-c8-668gl
  1180. DEVICE_DTS_DIR := ../dts
  1181. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware \
  1182. kmod-usb-serial-option kmod-usb-net-cdc-ether kmod-usb-net-qmi-wwan \
  1183. kmod-usb3
  1184. IMAGE_SIZE := 131072k
  1185. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | check-size
  1186. endef
  1187. TARGET_DEVICES += nradio_c8-668gl
  1188. define Device/openembed_som7981
  1189. DEVICE_VENDOR := OpenEmbed
  1190. DEVICE_MODEL := SOM7981
  1191. DEVICE_DTS := mt7981b-openembed-som7981
  1192. DEVICE_DTS_DIR := ../dts
  1193. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware \
  1194. kmod-crypto-hw-atmel kmod-eeprom-at24 kmod-gpio-beeper kmod-rtc-pcf8563 \
  1195. kmod-usb-net-cdc-mbim kmod-usb-net-qmi-wwan kmod-usb-serial-option \
  1196. kmod-usb3 uqmi
  1197. UBINIZE_OPTS := -E 5
  1198. BLOCKSIZE := 128k
  1199. PAGESIZE := 2048
  1200. IMAGE_SIZE := 244224k
  1201. KERNEL_IN_UBI := 1
  1202. IMAGES += factory.bin
  1203. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1204. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1205. endef
  1206. TARGET_DEVICES += openembed_som7981
  1207. define Device/openwrt_one
  1208. DEVICE_VENDOR := OpenWrt
  1209. DEVICE_MODEL := One
  1210. DEVICE_DTS := mt7981b-openwrt-one
  1211. DEVICE_DTS_DIR := ../dts
  1212. DEVICE_DTC_FLAGS := --pad 4096
  1213. DEVICE_DTS_LOADADDR := 0x43f00000
  1214. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-rtc-pcf8563 kmod-usb3 kmod-nvme kmod-phy-airoha-en8811h
  1215. KERNEL_LOADADDR := 0x44000000
  1216. KERNEL := kernel-bin | gzip
  1217. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1218. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1219. KERNEL_INITRAMFS_SUFFIX := .itb
  1220. KERNEL_IN_UBI := 1
  1221. UBOOTENV_IN_UBI := 1
  1222. IMAGES := sysupgrade.itb
  1223. IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
  1224. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
  1225. ARTIFACTS := \
  1226. nor-preloader.bin nor-bl31-uboot.fip \
  1227. snand-preloader.bin snand-bl31-uboot.fip \
  1228. factory.ubi snand-factory.bin nor-factory.bin
  1229. ARTIFACT/nor-preloader.bin := mt7981-bl2 nor-ddr4
  1230. ARTIFACT/nor-bl31-uboot.fip := mt7981-bl31-uboot openwrt_one-nor
  1231. ARTIFACT/snand-preloader.bin := mt7981-bl2 spim-nand-ubi-ddr4
  1232. ARTIFACT/snand-bl31-uboot.fip := mt7981-bl31-uboot openwrt_one-snand
  1233. ARTIFACT/factory.ubi := ubinize-image fit squashfs-sysupgrade.itb
  1234. ARTIFACT/snand-factory.bin := mt7981-bl2 spim-nand-ubi-ddr4 | pad-to 256k | \
  1235. mt7981-bl2 spim-nand-ubi-ddr4 | pad-to 512k | \
  1236. mt7981-bl2 spim-nand-ubi-ddr4 | pad-to 768k | \
  1237. mt7981-bl2 spim-nand-ubi-ddr4 | pad-to 1024k | \
  1238. ubinize-image fit squashfs-sysupgrade.itb
  1239. ARTIFACT/nor-factory.bin := mt7981-bl2 nor-ddr4 | pad-to 256k | \
  1240. append-openwrt-one-eeprom | pad-to 1024k | \
  1241. mt7981-bl31-uboot openwrt_one-nor | pad-to 512k | \
  1242. append-image-stage initramfs.itb
  1243. UBINIZE_OPTS := -E 5
  1244. BLOCKSIZE := 128k
  1245. PAGESIZE := 2048
  1246. UBINIZE_PARTS := fip=:$(STAGING_DIR_IMAGE)/mt7981_openwrt_one-snand-u-boot.fip \
  1247. $(if $(IB),recovery=:$(STAGING_DIR_IMAGE)/mediatek-filogic-openwrt_one-initramfs.itb,\
  1248. recovery=:$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE)) \
  1249. $(if $(wildcard $(TOPDIR)/openwrt-mediatek-filogic-openwrt_one-calibration.itb), calibration=:$(TOPDIR)/openwrt-mediatek-filogic-openwrt_one-calibration.itb)
  1250. endef
  1251. TARGET_DEVICES += openwrt_one
  1252. define Device/qihoo_360t7
  1253. DEVICE_VENDOR := Qihoo
  1254. DEVICE_MODEL := 360T7
  1255. DEVICE_DTS := mt7981b-qihoo-360t7
  1256. DEVICE_DTS_DIR := ../dts
  1257. UBINIZE_OPTS := -E 5
  1258. BLOCKSIZE := 128k
  1259. PAGESIZE := 2048
  1260. KERNEL_IN_UBI := 1
  1261. UBOOTENV_IN_UBI := 1
  1262. IMAGES := sysupgrade.itb
  1263. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1264. KERNEL := kernel-bin | gzip
  1265. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1266. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1267. IMAGE/sysupgrade.itb := append-kernel | \
  1268. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1269. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1270. ARTIFACTS := preloader.bin bl31-uboot.fip
  1271. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1272. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot qihoo_360t7
  1273. endef
  1274. TARGET_DEVICES += qihoo_360t7
  1275. define Device/routerich_ax3000
  1276. DEVICE_VENDOR := Routerich
  1277. DEVICE_MODEL := AX3000
  1278. DEVICE_DTS := mt7981b-routerich-ax3000
  1279. DEVICE_DTS_DIR := ../dts
  1280. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
  1281. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1282. SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
  1283. DEVICE_COMPAT_VERSION := 1.1
  1284. DEVICE_COMPAT_MESSAGE := Partition layout has been changed. Bootloader MUST be \
  1285. upgraded to avoid data corruption and getting bricked. \
  1286. Please, contact your vendor and follow the guide: \
  1287. https://openwrt.org/toh/routerich/ax3000#web_ui_method
  1288. endef
  1289. TARGET_DEVICES += routerich_ax3000
  1290. define Device/routerich_ax3000-ubootmod
  1291. DEVICE_VENDOR := Routerich
  1292. DEVICE_MODEL := AX3000 (OpenWrt U-Boot layout)
  1293. DEVICE_DTS := mt7981b-routerich-ax3000-ubootmod
  1294. DEVICE_DTS_DIR := ../dts
  1295. UBINIZE_OPTS := -E 5
  1296. BLOCKSIZE := 128k
  1297. PAGESIZE := 2048
  1298. KERNEL_IN_UBI := 1
  1299. UBOOTENV_IN_UBI := 1
  1300. IMAGES := sysupgrade.itb
  1301. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1302. KERNEL := kernel-bin | gzip
  1303. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1304. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1305. IMAGE/sysupgrade.itb := append-kernel | \
  1306. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | \
  1307. append-metadata
  1308. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware kmod-usb3 mt7981-wo-firmware
  1309. ARTIFACTS := preloader.bin bl31-uboot.fip
  1310. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1311. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot routerich_ax3000
  1312. endef
  1313. TARGET_DEVICES += routerich_ax3000-ubootmod
  1314. define Device/ruijie_rg-x60-pro
  1315. DEVICE_VENDOR := Ruijie
  1316. DEVICE_MODEL := RG-X60 Pro
  1317. DEVICE_DTS := mt7986a-ruijie-rg-x60-pro
  1318. DEVICE_DTS_DIR := ../dts
  1319. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1320. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1321. endef
  1322. TARGET_DEVICES += ruijie_rg-x60-pro
  1323. define Device/tenbay_wr3000k
  1324. DEVICE_VENDOR := Tenbay
  1325. DEVICE_MODEL := WR3000K
  1326. DEVICE_DTS := mt7981b-tenbay-wr3000k
  1327. DEVICE_DTS_DIR := ../dts
  1328. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1329. UBINIZE_OPTS := -E 5
  1330. BLOCKSIZE := 128k
  1331. PAGESIZE := 2048
  1332. IMAGE_SIZE := 49152k
  1333. KERNEL_IN_UBI := 1
  1334. IMAGES += factory.bin
  1335. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1336. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1337. KERNEL = kernel-bin | lzma | \
  1338. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1339. KERNEL_INITRAMFS = kernel-bin | lzma | \
  1340. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1341. endef
  1342. TARGET_DEVICES += tenbay_wr3000k
  1343. define Device/tplink_re6000xd
  1344. DEVICE_VENDOR := TP-Link
  1345. DEVICE_MODEL := RE6000XD
  1346. DEVICE_DTS := mt7986b-tplink-re6000xd
  1347. DEVICE_DTS_DIR := ../dts
  1348. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1349. UBINIZE_OPTS := -E 5
  1350. BLOCKSIZE := 128k
  1351. PAGESIZE := 2048
  1352. IMAGE_SIZE := 51200k
  1353. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1354. endef
  1355. TARGET_DEVICES += tplink_re6000xd
  1356. define Device/tplink_tl-xdr-common
  1357. DEVICE_VENDOR := TP-Link
  1358. DEVICE_DTS_DIR := ../dts
  1359. UBINIZE_OPTS := -E 5
  1360. BLOCKSIZE := 128k
  1361. PAGESIZE := 2048
  1362. KERNEL_IN_UBI := 1
  1363. UBOOTENV_IN_UBI := 1
  1364. IMAGES := sysupgrade.itb
  1365. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1366. KERNEL := kernel-bin | gzip
  1367. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1368. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1369. IMAGE/sysupgrade.itb := append-kernel | \
  1370. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | append-metadata
  1371. DEVICE_PACKAGES := fitblk kmod-usb3 kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1372. ARTIFACTS := preloader.bin bl31-uboot.fip
  1373. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr3
  1374. endef
  1375. define Device/tplink_tl-xdr4288
  1376. DEVICE_MODEL := TL-XDR4288
  1377. DEVICE_DTS := mt7986a-tplink-tl-xdr4288
  1378. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr4288
  1379. $(call Device/tplink_tl-xdr-common)
  1380. endef
  1381. TARGET_DEVICES += tplink_tl-xdr4288
  1382. define Device/tplink_tl-xdr6086
  1383. DEVICE_MODEL := TL-XDR6086
  1384. DEVICE_DTS := mt7986a-tplink-tl-xdr6086
  1385. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6086
  1386. $(call Device/tplink_tl-xdr-common)
  1387. endef
  1388. TARGET_DEVICES += tplink_tl-xdr6086
  1389. define Device/tplink_tl-xdr6088
  1390. DEVICE_MODEL := TL-XDR6088
  1391. DEVICE_DTS := mt7986a-tplink-tl-xdr6088
  1392. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xdr6088
  1393. $(call Device/tplink_tl-xdr-common)
  1394. endef
  1395. TARGET_DEVICES += tplink_tl-xdr6088
  1396. define Device/tplink_tl-xtr8488
  1397. DEVICE_MODEL := TL-XTR8488
  1398. DEVICE_DTS := mt7986a-tplink-tl-xtr8488
  1399. $(call Device/tplink_tl-xdr-common)
  1400. DEVICE_PACKAGES += kmod-mt7915-firmware
  1401. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
  1402. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot tplink_tl-xtr8488
  1403. endef
  1404. TARGET_DEVICES += tplink_tl-xtr8488
  1405. define Device/ubnt_unifi-6-plus
  1406. DEVICE_VENDOR := Ubiquiti
  1407. DEVICE_MODEL := UniFi U6+
  1408. DEVICE_DTS := mt7981a-ubnt-unifi-6-plus
  1409. DEVICE_DTS_DIR := ../dts
  1410. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware e2fsprogs f2fsck mkf2fs fdisk partx-utils
  1411. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1412. endef
  1413. TARGET_DEVICES += ubnt_unifi-6-plus
  1414. define Device/unielec_u7981-01
  1415. DEVICE_VENDOR := Unielec
  1416. DEVICE_MODEL := U7981-01
  1417. DEVICE_DTS_DIR := ../dts
  1418. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 e2fsprogs f2fsck mkf2fs fdisk partx-utils
  1419. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1420. endef
  1421. define Device/unielec_u7981-01-emmc
  1422. DEVICE_DTS := mt7981b-unielec-u7981-01-emmc
  1423. DEVICE_VARIANT := (EMMC)
  1424. $(call Device/unielec_u7981-01)
  1425. endef
  1426. TARGET_DEVICES += unielec_u7981-01-emmc
  1427. define Device/unielec_u7981-01-nand
  1428. DEVICE_DTS := mt7981b-unielec-u7981-01-nand
  1429. DEVICE_VARIANT := (NAND)
  1430. $(call Device/unielec_u7981-01)
  1431. endef
  1432. TARGET_DEVICES += unielec_u7981-01-nand
  1433. define Device/wavlink_wl-wn586x3
  1434. DEVICE_VENDOR := WAVLINK
  1435. DEVICE_MODEL := WL-WN586X3
  1436. DEVICE_DTS := mt7981b-wavlink-wl-wn586x3
  1437. DEVICE_DTS_DIR := ../dts
  1438. DEVICE_DTS_LOADADDR := 0x47000000
  1439. IMAGE_SIZE := 15424k
  1440. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1441. endef
  1442. TARGET_DEVICES += wavlink_wl-wn586x3
  1443. define Device/xiaomi_mi-router-ax3000t
  1444. DEVICE_VENDOR := Xiaomi
  1445. DEVICE_MODEL := Mi Router AX3000T
  1446. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t
  1447. DEVICE_DTS_DIR := ../dts
  1448. UBINIZE_OPTS := -E 5
  1449. BLOCKSIZE := 128k
  1450. PAGESIZE := 2048
  1451. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1452. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1453. ARTIFACTS := initramfs-factory.ubi
  1454. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1455. endif
  1456. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1457. endef
  1458. TARGET_DEVICES += xiaomi_mi-router-ax3000t
  1459. define Device/xiaomi_mi-router-ax3000t-ubootmod
  1460. DEVICE_VENDOR := Xiaomi
  1461. DEVICE_MODEL := Mi Router AX3000T (OpenWrt U-Boot layout)
  1462. DEVICE_DTS := mt7981b-xiaomi-mi-router-ax3000t-ubootmod
  1463. DEVICE_DTS_DIR := ../dts
  1464. UBINIZE_OPTS := -E 5
  1465. BLOCKSIZE := 128k
  1466. PAGESIZE := 2048
  1467. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1468. KERNEL_IN_UBI := 1
  1469. UBOOTENV_IN_UBI := 1
  1470. IMAGES := sysupgrade.itb
  1471. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1472. KERNEL := kernel-bin | gzip
  1473. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1474. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1475. IMAGE/sysupgrade.itb := append-kernel | \
  1476. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1477. ARTIFACTS := preloader.bin bl31-uboot.fip
  1478. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1479. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-ax3000t
  1480. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1481. ARTIFACTS += initramfs-factory.ubi
  1482. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1483. endif
  1484. endef
  1485. TARGET_DEVICES += xiaomi_mi-router-ax3000t-ubootmod
  1486. define Device/xiaomi_mi-router-wr30u-stock
  1487. DEVICE_VENDOR := Xiaomi
  1488. DEVICE_MODEL := Mi Router WR30U (stock layout)
  1489. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-stock
  1490. DEVICE_DTS_DIR := ../dts
  1491. UBINIZE_OPTS := -E 5
  1492. BLOCKSIZE := 128k
  1493. PAGESIZE := 2048
  1494. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1495. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1496. ARTIFACTS := initramfs-factory.ubi
  1497. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1498. endif
  1499. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1500. endef
  1501. TARGET_DEVICES += xiaomi_mi-router-wr30u-stock
  1502. define Device/xiaomi_mi-router-wr30u-ubootmod
  1503. DEVICE_VENDOR := Xiaomi
  1504. DEVICE_MODEL := Mi Router WR30U (OpenWrt U-Boot layout)
  1505. DEVICE_DTS := mt7981b-xiaomi-mi-router-wr30u-ubootmod
  1506. DEVICE_DTS_DIR := ../dts
  1507. UBINIZE_OPTS := -E 5
  1508. BLOCKSIZE := 128k
  1509. PAGESIZE := 2048
  1510. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1511. KERNEL_IN_UBI := 1
  1512. UBOOTENV_IN_UBI := 1
  1513. IMAGES := sysupgrade.itb
  1514. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1515. KERNEL := kernel-bin | gzip
  1516. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1517. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1518. IMAGE/sysupgrade.itb := append-kernel | \
  1519. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1520. ARTIFACTS := preloader.bin bl31-uboot.fip
  1521. ARTIFACT/preloader.bin := mt7981-bl2 spim-nand-ddr3
  1522. ARTIFACT/bl31-uboot.fip := mt7981-bl31-uboot xiaomi_mi-router-wr30u
  1523. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1524. ARTIFACTS += initramfs-factory.ubi
  1525. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1526. endif
  1527. endef
  1528. TARGET_DEVICES += xiaomi_mi-router-wr30u-ubootmod
  1529. define Device/xiaomi_redmi-router-ax6000-stock
  1530. DEVICE_VENDOR := Xiaomi
  1531. DEVICE_MODEL := Redmi Router AX6000 (stock layout)
  1532. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock
  1533. DEVICE_DTS_DIR := ../dts
  1534. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1535. UBINIZE_OPTS := -E 5
  1536. BLOCKSIZE := 128k
  1537. PAGESIZE := 2048
  1538. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1539. ARTIFACTS := initramfs-factory.ubi
  1540. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel
  1541. endif
  1542. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1543. endef
  1544. TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock
  1545. define Device/xiaomi_redmi-router-ax6000-ubootmod
  1546. DEVICE_VENDOR := Xiaomi
  1547. DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout)
  1548. DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod
  1549. DEVICE_DTS_DIR := ../dts
  1550. DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware
  1551. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1552. IMAGES := sysupgrade.itb
  1553. UBINIZE_OPTS := -E 5
  1554. BLOCKSIZE := 128k
  1555. PAGESIZE := 2048
  1556. KERNEL_IN_UBI := 1
  1557. UBOOTENV_IN_UBI := 1
  1558. KERNEL := kernel-bin | gzip
  1559. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1560. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1561. IMAGE/sysupgrade.itb := append-kernel | \
  1562. fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1563. ARTIFACTS := preloader.bin bl31-uboot.fip
  1564. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-ddr4
  1565. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot xiaomi_redmi-router-ax6000
  1566. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1567. ARTIFACTS += initramfs-factory.ubi
  1568. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1569. endif
  1570. endef
  1571. TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod
  1572. define Device/yuncore_ax835
  1573. DEVICE_VENDOR := YunCore
  1574. DEVICE_MODEL := AX835
  1575. DEVICE_DTS := mt7981b-yuncore-ax835
  1576. DEVICE_DTS_DIR := ../dts
  1577. DEVICE_DTS_LOADADDR := 0x47000000
  1578. IMAGES := sysupgrade.bin
  1579. IMAGE_SIZE := 14336k
  1580. SUPPORTED_DEVICES += mediatek,mt7981-spim-nor-rfb
  1581. KERNEL := kernel-bin | lzma | \
  1582. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1583. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1584. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  1585. IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
  1586. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1587. endef
  1588. TARGET_DEVICES += yuncore_ax835
  1589. define Device/zbtlink_zbt-z8102ax
  1590. DEVICE_VENDOR := Zbtlink
  1591. DEVICE_MODEL := ZBT-Z8102AX
  1592. DEVICE_DTS := mt7981b-zbtlink-zbt-z8102ax
  1593. DEVICE_DTS_DIR := ../dts
  1594. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3 kmod-usb-net-qmi-wwan kmod-usb-serial-option
  1595. KERNEL_IN_UBI := 1
  1596. UBINIZE_OPTS := -E 5
  1597. BLOCKSIZE := 128k
  1598. PAGESIZE := 2048
  1599. IMAGE_SIZE := 65536k
  1600. IMAGES += factory.bin
  1601. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1602. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1603. endef
  1604. TARGET_DEVICES += zbtlink_zbt-z8102ax
  1605. define Device/zbtlink_zbt-z8103ax
  1606. DEVICE_VENDOR := Zbtlink
  1607. DEVICE_MODEL := ZBT-Z8103AX
  1608. DEVICE_DTS := mt7981b-zbtlink-zbt-z8103ax
  1609. DEVICE_DTS_DIR := ../dts
  1610. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  1611. KERNEL_IN_UBI := 1
  1612. UBINIZE_OPTS := -E 5
  1613. BLOCKSIZE := 128k
  1614. PAGESIZE := 2048
  1615. IMAGE_SIZE := 65536k
  1616. IMAGES += factory.bin
  1617. IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
  1618. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1619. endef
  1620. TARGET_DEVICES += zbtlink_zbt-z8103ax
  1621. define Device/zyxel_ex5601-t0-stock
  1622. DEVICE_VENDOR := Zyxel
  1623. DEVICE_MODEL := EX5601-T0
  1624. DEVICE_ALT0_VENDOR := Zyxel
  1625. DEVICE_ALT0_MODEL := EX5601-T1
  1626. DEVICE_ALT1_VENDOR := Zyxel
  1627. DEVICE_ALT1_MODEL := T-56
  1628. DEVICE_VARIANT := (stock layout)
  1629. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
  1630. DEVICE_DTS_DIR := ../dts
  1631. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1632. SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand
  1633. UBINIZE_OPTS := -E 5
  1634. BLOCKSIZE := 256k
  1635. PAGESIZE := 4096
  1636. IMAGE_SIZE := 65536k
  1637. KERNEL_IN_UBI := 1
  1638. IMAGES += factory.bin
  1639. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
  1640. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1641. KERNEL = kernel-bin | lzma | \
  1642. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  1643. KERNEL_INITRAMFS = kernel-bin | lzma | \
  1644. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1645. endef
  1646. TARGET_DEVICES += zyxel_ex5601-t0-stock
  1647. define Device/zyxel_ex5601-t0-ubootmod
  1648. DEVICE_VENDOR := Zyxel
  1649. DEVICE_MODEL := EX5601-T0
  1650. DEVICE_ALT0_VENDOR := Zyxel
  1651. DEVICE_ALT0_MODEL := EX5601-T1
  1652. DEVICE_ALT1_VENDOR := Zyxel
  1653. DEVICE_ALT1_MODEL := T-56
  1654. DEVICE_VARIANT := (OpenWrt U-Boot layout)
  1655. DEVICE_DTS := mt7986a-zyxel-ex5601-t0-ubootmod
  1656. DEVICE_DTS_DIR := ../dts
  1657. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7986-firmware mt7986-wo-firmware kmod-usb3
  1658. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  1659. IMAGES := sysupgrade.itb
  1660. UBINIZE_OPTS := -E 5
  1661. BLOCKSIZE := 256k
  1662. PAGESIZE := 4096
  1663. KERNEL_IN_UBI := 1
  1664. UBOOTENV_IN_UBI := 1
  1665. KERNEL := kernel-bin | lzma
  1666. KERNEL_INITRAMFS := kernel-bin | lzma | \
  1667. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
  1668. IMAGE/sysupgrade.itb := append-kernel | \
  1669. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  1670. ARTIFACTS := preloader.bin bl31-uboot.fip
  1671. ARTIFACT/preloader.bin := mt7986-bl2 spim-nand-4k-ddr4
  1672. ARTIFACT/bl31-uboot.fip := mt7986-bl31-uboot zyxel_ex5601-t0
  1673. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  1674. ARTIFACTS += initramfs-factory.ubi
  1675. ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel
  1676. endif
  1677. endef
  1678. TARGET_DEVICES += zyxel_ex5601-t0-ubootmod
  1679. define Device/zyxel_ex5700-telenor
  1680. DEVICE_VENDOR := Zyxel
  1681. DEVICE_MODEL := EX5700 (Telenor)
  1682. DEVICE_DTS := mt7986a-zyxel-ex5700-telenor
  1683. DEVICE_DTS_DIR := ../dts
  1684. DEVICE_PACKAGES := kmod-ubootenv-nvram kmod-usb3 kmod-mt7915e kmod-mt7916-firmware kmod-mt7986-firmware mt7986-wo-firmware
  1685. UBINIZE_OPTS := -E 5
  1686. BLOCKSIZE := 128k
  1687. PAGESIZE := 2048
  1688. IMAGE_SIZE := 65536k
  1689. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1690. endef
  1691. TARGET_DEVICES += zyxel_ex5700-telenor
  1692. define Device/zyxel_nwa50ax-pro
  1693. DEVICE_VENDOR := Zyxel
  1694. DEVICE_MODEL := NWA50AX Pro
  1695. DEVICE_DTS := mt7981b-zyxel-nwa50ax-pro
  1696. DEVICE_DTS_DIR := ../dts
  1697. DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware zyxel-bootconfig
  1698. DEVICE_DTS_LOADADDR := 0x44000000
  1699. UBINIZE_OPTS := -E 5
  1700. BLOCKSIZE := 128k
  1701. PAGESIZE := 2048
  1702. IMAGE_SIZE := 51200k
  1703. KERNEL_IN_UBI := 1
  1704. IMAGES += factory.bin
  1705. IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | zyxel-nwa-fit-filogic
  1706. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  1707. endef
  1708. TARGET_DEVICES += zyxel_nwa50ax-pro