mt7622.mk 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. DTS_DIR := $(DTS_DIR)/mediatek
  2. ifdef CONFIG_LINUX_5_4
  3. KERNEL_LOADADDR := 0x44080000
  4. else
  5. KERNEL_LOADADDR := 0x44000000
  6. endif
  7. define Image/Prepare
  8. # For UBI we want only one extra block
  9. rm -f $(KDIR)/ubi_mark
  10. echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
  11. endef
  12. define Build/buffalo-kernel-trx
  13. $(eval magic=$(word 1,$(1)))
  14. $(eval dummy=$(word 2,$(1)))
  15. $(eval kern_size=$(if $(KERNEL_SIZE),$(KERNEL_SIZE),0x400000))
  16. $(if $(dummy),touch $(dummy))
  17. $(STAGING_DIR_HOST)/bin/otrx create [email protected] \
  18. $(if $(magic),-M $(magic),) \
  19. -f $@ \
  20. $(if $(dummy),\
  21. -a 0x20000 \
  22. -b $$(( $(subst k, * 1024,$(kern_size)) )) \
  23. -f $(dummy),)
  24. mv [email protected] $@
  25. endef
  26. define Build/bl2
  27. cat $(STAGING_DIR_IMAGE)/mt7622-$1-bl2.img >> $@
  28. endef
  29. define Build/bl31-uboot
  30. cat $(STAGING_DIR_IMAGE)/mt7622_$1-u-boot.fip >> $@
  31. endef
  32. define Build/mt7622-gpt
  33. cp $@ [email protected] 2>/dev/null || true
  34. ptgen -g -o [email protected] -a 1 -l 1024 \
  35. $(if $(findstring sdmmc,$1), \
  36. -H \
  37. -t 0x83 -N bl2 -r -p 512k@512k \
  38. ) \
  39. -t 0xef -N fip -r -p 2M@2M \
  40. -t 0x83 -N ubootenv -r -p 1M@4M \
  41. -N recovery -r -p 32M@6M \
  42. $(if $(findstring sdmmc,$1), \
  43. -N install -r -p 7M@38M \
  44. -t 0x2e -N production -p 211M@45M \
  45. ) \
  46. $(if $(findstring emmc,$1), \
  47. -t 0x2e -N production -p 980M@40M \
  48. )
  49. cat [email protected] >> $@
  50. rm [email protected]
  51. endef
  52. define Build/trx-nand
  53. # kernel: always use 4 MiB (-28 B or TRX header) to allow upgrades even
  54. # if it grows up between releases
  55. # root: UBI with one extra block containing UBI mark to trigger erasing
  56. # rest of partition
  57. $(STAGING_DIR_HOST)/bin/otrx create [email protected] \
  58. -M 0x32504844 \
  59. -f $(IMAGE_KERNEL) -a 0x20000 -b 0x400000 \
  60. -f $@ \
  61. -A $(KDIR)/ubi_mark -a 0x20000
  62. mv [email protected] $@
  63. endef
  64. define Device/bananapi_bpi-r64
  65. DEVICE_VENDOR := Bananapi
  66. DEVICE_MODEL := BPi-R64
  67. DEVICE_DTS := mt7622-bananapi-bpi-r64
  68. DEVICE_DTS_OVERLAY := mt7622-bananapi-bpi-r64-pcie1 mt7622-bananapi-bpi-r64-sata
  69. DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3 e2fsprogs mkf2fs f2fsck
  70. ARTIFACTS := emmc-preloader.bin emmc-bl31-uboot.fip sdcard.img.gz snand-preloader.bin snand-bl31-uboot.fip
  71. IMAGES := sysupgrade.itb
  72. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  73. ARTIFACT/emmc-preloader.bin := bl2 emmc-2ddr
  74. ARTIFACT/emmc-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-emmc
  75. ARTIFACT/snand-preloader.bin := bl2 snand-2ddr
  76. ARTIFACT/snand-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-snand
  77. ARTIFACT/sdcard.img.gz := mt7622-gpt sdmmc |\
  78. pad-to 512k | bl2 sdmmc-2ddr |\
  79. pad-to 2048k | bl31-uboot bananapi_bpi-r64-sdmmc |\
  80. pad-to 6144k | append-image-stage initramfs-recovery.itb |\
  81. pad-to 38912k | mt7622-gpt emmc |\
  82. pad-to 39424k | bl2 emmc-2ddr |\
  83. pad-to 40960k | bl31-uboot bananapi_bpi-r64-emmc |\
  84. pad-to 43008k | bl2 snand-2ddr |\
  85. pad-to 43520k | bl31-uboot bananapi_bpi-r64-snand |\
  86. pad-to 46080k | append-image squashfs-sysupgrade.itb | gzip
  87. KERNEL := kernel-bin | gzip
  88. KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd | pad-to 128k
  89. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata
  90. endef
  91. TARGET_DEVICES += bananapi_bpi-r64
  92. define Device/buffalo_wsr-2533dhp2
  93. DEVICE_VENDOR := Buffalo
  94. DEVICE_MODEL := WSR-2533DHP2
  95. DEVICE_DTS := mt7622-buffalo-wsr-2533dhp2
  96. DEVICE_DTS_DIR := ../dts
  97. IMAGE_SIZE := 59392k
  98. KERNEL_SIZE := 4096k
  99. BLOCKSIZE := 128k
  100. PAGESIZE := 2048
  101. SUBPAGESIZE := 512
  102. UBINIZE_OPTS := -E 5
  103. BUFFALO_TAG_PLATFORM := MTK
  104. BUFFALO_TAG_VERSION := 9.99
  105. BUFFALO_TAG_MINOR := 9.99
  106. IMAGES += factory.bin factory-uboot.bin
  107. KERNEL_INITRAMFS := kernel-bin | lzma | \
  108. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | \
  109. buffalo-kernel-trx
  110. IMAGE/factory.bin := append-ubi | trx-nand | \
  111. buffalo-enc WSR-2533DHP2 $$(BUFFALO_TAG_VERSION) -l | \
  112. buffalo-tag-dhp WSR-2533DHP2 JP JP | buffalo-enc-tag -l | buffalo-dhp-image
  113. IMAGE/factory-uboot.bin := append-ubi | trx-nand
  114. IMAGE/sysupgrade.bin := append-kernel | \
  115. buffalo-kernel-trx 0x32504844 $(KDIR)/tmp/$$(DEVICE_NAME).null | \
  116. sysupgrade-tar kernel=$$$$@ | append-metadata
  117. DEVICE_PACKAGES := swconfig
  118. endef
  119. TARGET_DEVICES += buffalo_wsr-2533dhp2
  120. define Device/elecom_wrc-2533gent
  121. DEVICE_VENDOR := Elecom
  122. DEVICE_MODEL := WRC-2533GENT
  123. DEVICE_DTS := mt7622-elecom-wrc-2533gent
  124. DEVICE_DTS_DIR := ../dts
  125. DEVICE_PACKAGES := kmod-btmtkuart kmod-usb3 swconfig
  126. endef
  127. TARGET_DEVICES += elecom_wrc-2533gent
  128. define Device/linksys_e8450
  129. DEVICE_VENDOR := Linksys
  130. DEVICE_MODEL := E8450
  131. DEVICE_ALT0_VENDOR := Belkin
  132. DEVICE_ALT0_MODEL := RT3200
  133. DEVICE_DTS := mt7622-linksys-e8450
  134. DEVICE_DTS_DIR := ../dts
  135. DEVICE_PACKAGES := kmod-mt7915e kmod-usb3
  136. endef
  137. TARGET_DEVICES += linksys_e8450
  138. define Device/linksys_e8450-ubi
  139. DEVICE_VENDOR := Linksys
  140. DEVICE_MODEL := E8450
  141. DEVICE_VARIANT := UBI
  142. DEVICE_ALT0_VENDOR := Belkin
  143. DEVICE_ALT0_MODEL := RT3200
  144. DEVICE_ALT0_VARIANT := UBI
  145. DEVICE_DTS := mt7622-linksys-e8450-ubi
  146. DEVICE_DTS_DIR := ../dts
  147. DEVICE_PACKAGES := kmod-mt7915e kmod-usb3
  148. UBINIZE_OPTS := -E 5
  149. BLOCKSIZE := 128k
  150. PAGESIZE := 2048
  151. UBOOTENV_IN_UBI := 1
  152. KERNEL_IN_UBI := 1
  153. KERNEL := kernel-bin | gzip
  154. # recovery can also be used with stock firmware web-ui, hence the padding...
  155. KERNEL_INITRAMFS := kernel-bin | lzma | \
  156. fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
  157. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  158. IMAGES := sysupgrade.itb
  159. IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
  160. ARTIFACTS := preloader.bin bl31-uboot.fip
  161. ARTIFACT/preloader.bin := bl2 snand-1ddr
  162. ARTIFACT/bl31-uboot.fip := bl31-uboot linksys_e8450
  163. endef
  164. TARGET_DEVICES += linksys_e8450-ubi
  165. define Device/mediatek_mt7622-rfb1
  166. DEVICE_VENDOR := MediaTek
  167. DEVICE_MODEL := MTK7622 rfb1 AP
  168. DEVICE_DTS := mt7622-rfb1
  169. DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
  170. endef
  171. TARGET_DEVICES += mediatek_mt7622-rfb1
  172. define Device/mediatek_mt7622-rfb1-ubi
  173. DEVICE_VENDOR := MediaTek
  174. DEVICE_MODEL := MTK7622 rfb1 AP (UBI)
  175. DEVICE_DTS := mt7622-rfb1-ubi
  176. DEVICE_DTS_DIR := ../dts
  177. DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
  178. UBINIZE_OPTS := -E 5
  179. BLOCKSIZE := 128k
  180. PAGESIZE := 2048
  181. KERNEL_SIZE := 4194304
  182. IMAGE_SIZE := 32768k
  183. IMAGES += factory.bin
  184. IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
  185. check-size $$$$(IMAGE_SIZE)
  186. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  187. endef
  188. TARGET_DEVICES += mediatek_mt7622-rfb1-ubi
  189. define Device/ubnt_unifi-6-lr
  190. DEVICE_VENDOR := Ubiquiti
  191. DEVICE_MODEL := UniFi 6 LR
  192. DEVICE_DTS_CONFIG := config@1
  193. DEVICE_DTS := mt7622-ubnt-unifi-6-lr
  194. DEVICE_DTS_DIR := ../dts
  195. DEVICE_PACKAGES := kmod-mt7915e
  196. endef
  197. TARGET_DEVICES += ubnt_unifi-6-lr
  198. define Device/ubnt_unifi-6-lr-ubootmod
  199. DEVICE_VENDOR := Ubiquiti
  200. DEVICE_MODEL := UniFi 6 LR
  201. DEVICE_VARIANT := U-Boot mod
  202. DEVICE_DTS := mt7622-ubnt-unifi-6-lr-ubootmod
  203. DEVICE_DTS_DIR := ../dts
  204. DEVICE_PACKAGES := kmod-mt7915e
  205. KERNEL := kernel-bin | lzma
  206. KERNEL_INITRAMFS_SUFFIX := -recovery.itb
  207. KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  208. IMAGES := sysupgrade.itb
  209. IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
  210. ARTIFACTS := preloader.bin bl31-uboot.fip
  211. ARTIFACT/preloader.bin := bl2 nor-2ddr
  212. ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr
  213. endef
  214. TARGET_DEVICES += ubnt_unifi-6-lr-ubootmod