2 # Copyright (C) 2017 Hauke Mehrtens
3 # Copyright (C) 2021-2023 Daniel Golle
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
11 PKG_NAME
:=arm-trusted-firmware-mediatek
15 PKG_SOURCE_URL
=https
://github.com
/mtk-openwrt
/arm-trusted-firmware.git
16 PKG_SOURCE_DATE
:=2023-10-13
17 PKG_SOURCE_VERSION
:=0ea67d76ae8be127c91caa3fcdf449b1fe533175
18 PKG_MIRROR_HASH
:=b102f6ffaa7cd2202161c44cab4d27f426d9d74c311ea9eb4d2f371ea2af4a2e
20 PKG_MAINTAINER
:=Daniel Golle
<daniel@makrotopia.org
>
22 include $(INCLUDE_DIR
)/kernel.mk
23 include $(INCLUDE_DIR
)/trusted-firmware-a.mk
24 include $(INCLUDE_DIR
)/package.mk
26 define Trusted-Firmware-A
/Default
27 BUILD_TARGET
:=mediatek
28 TFA_IMAGE
:=bl2.img bl31.bin
39 define Trusted-Firmware-A
/mt7622-nor-1ddr
40 NAME
:=MediaTek MT7622
(SPI-NOR
, 1x DDR3
)
41 BUILD_SUBTARGET
:=mt7622
46 define Trusted-Firmware-A
/mt7622-nor-2ddr
47 NAME
:=MediaTek MT7622
(SPI-NOR
, 2x DDR3
)
48 BUILD_SUBTARGET
:=mt7622
54 define Trusted-Firmware-A
/mt7622-snand-1ddr
55 NAME
:=MediaTek MT7622
(SPI-NAND
, 1x DDR3
)
56 BUILD_SUBTARGET
:=mt7622
61 define Trusted-Firmware-A
/mt7622-snand-2ddr
62 NAME
:=MediaTek MT7622
(SPI-NAND
, 2x DDR3
)
63 BUILD_SUBTARGET
:=mt7622
69 define Trusted-Firmware-A
/mt7622-emmc-1ddr
70 NAME
:=MediaTek MT7622
(eMMC
, 1x DDR3
)
71 BUILD_SUBTARGET
:=mt7622
76 define Trusted-Firmware-A
/mt7622-emmc-2ddr
77 NAME
:=MediaTek MT7622
(eMMC
, 2x DDR3
)
78 BUILD_SUBTARGET
:=mt7622
84 define Trusted-Firmware-A
/mt7622-sdmmc-1ddr
85 NAME
:=MediaTek MT7622
(SD card
, 1x DDR3
)
86 BUILD_SUBTARGET
:=mt7622
91 define Trusted-Firmware-A
/mt7622-sdmmc-2ddr
92 NAME
:=MediaTek MT7622
(SD card
, 2x DDR3
)
93 BUILD_SUBTARGET
:=mt7622
99 define Trusted-Firmware-A
/mt7981-emmc-ddr4
100 NAME
:=MediaTek MT7981
(eMMC
, DDR4
)
102 BUILD_SUBTARGET
:=filogic
107 define Trusted-Firmware-A
/mt7981-spim-nand-ddr4
108 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR4
)
109 BOOT_DEVICE
:=spim-nand
110 BUILD_SUBTARGET
:=filogic
115 define Trusted-Firmware-A
/mt7981-nor-ddr3
116 NAME
:=MediaTek MT7981
(SPI-NOR
, DDR3
)
118 BUILD_SUBTARGET
:=filogic
123 define Trusted-Firmware-A
/mt7981-emmc-ddr3
124 NAME
:=MediaTek MT7981
(eMMC
, DDR3
)
126 BUILD_SUBTARGET
:=filogic
131 define Trusted-Firmware-A
/mt7981-sdmmc-ddr3
132 NAME
:=MediaTek MT7981
(SD card
, DDR3
)
134 BUILD_SUBTARGET
:=filogic
139 define Trusted-Firmware-A
/mt7981-snand-ddr3
140 NAME
:=MediaTek MT7981
(SPI-NAND via SNFI
, DDR3
)
142 BUILD_SUBTARGET
:=filogic
147 define Trusted-Firmware-A
/mt7981-spim-nand-ddr3
148 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR3
)
149 BOOT_DEVICE
:=spim-nand
150 BUILD_SUBTARGET
:=filogic
155 define Trusted-Firmware-A
/mt7986-nor-ddr4
156 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR4
)
158 BUILD_SUBTARGET
:=filogic
163 define Trusted-Firmware-A
/mt7986-emmc-ddr4
164 NAME
:=MediaTek MT7986
(eMMC
, DDR4
)
166 BUILD_SUBTARGET
:=filogic
171 define Trusted-Firmware-A
/mt7986-sdmmc-ddr4
172 NAME
:=MediaTek MT7986
(SD card
, DDR4
)
174 BUILD_SUBTARGET
:=filogic
179 define Trusted-Firmware-A
/mt7986-snand-ddr4
180 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR4
)
182 BUILD_SUBTARGET
:=filogic
187 define Trusted-Firmware-A
/mt7986-spim-nand-ddr4
188 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
189 BOOT_DEVICE
:=spim-nand
190 BUILD_SUBTARGET
:=filogic
193 NAND_TYPE
:=spim
:2k
+64
196 define Trusted-Firmware-A
/mt7986-spim-nand-ubi-ddr4
197 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM using UBI
, DDR4
)
198 BOOT_DEVICE
:=spim-nand
199 BUILD_SUBTARGET
:=filogic
202 NAND_TYPE
:=spim
:2k
+64
206 define Trusted-Firmware-A
/mt7986-spim-nand-4k-ddr4
207 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
208 BOOT_DEVICE
:=spim-nand
209 BUILD_SUBTARGET
:=filogic
212 NAND_TYPE
:=spim
:4k
+256
215 define Trusted-Firmware-A
/mt7986-nor-ddr3
216 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR3
)
218 BUILD_SUBTARGET
:=filogic
223 define Trusted-Firmware-A
/mt7986-emmc-ddr3
224 NAME
:=MediaTek MT7986
(eMMC
, DDR3
)
226 BUILD_SUBTARGET
:=filogic
231 define Trusted-Firmware-A
/mt7986-sdmmc-ddr3
232 NAME
:=MediaTek MT7986
(SD card
, DDR3
)
234 BUILD_SUBTARGET
:=filogic
239 define Trusted-Firmware-A
/mt7986-snand-ddr3
240 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR3
)
242 BUILD_SUBTARGET
:=filogic
247 define Trusted-Firmware-A
/mt7986-spim-nand-ddr3
248 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR3
)
249 BOOT_DEVICE
:=spim-nand
250 BUILD_SUBTARGET
:=filogic
255 define Trusted-Firmware-A
/mt7988-nor-ddr3
256 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR3
)
258 BUILD_SUBTARGET
:=filogic
263 define Trusted-Firmware-A
/mt7988-emmc-ddr3
264 NAME
:=MediaTek MT7988
(eMMC
, DDR3
)
266 BUILD_SUBTARGET
:=filogic
271 define Trusted-Firmware-A
/mt7988-sdmmc-ddr3
272 NAME
:=MediaTek MT7988
(SD card
, DDR3
)
274 BUILD_SUBTARGET
:=filogic
279 define Trusted-Firmware-A
/mt7988-snand-ddr3
280 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR3
)
282 BUILD_SUBTARGET
:=filogic
287 define Trusted-Firmware-A
/mt7988-spim-nand-ddr3
288 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR3
)
289 BOOT_DEVICE
:=spim-nand
290 BUILD_SUBTARGET
:=filogic
295 define Trusted-Firmware-A
/mt7988-nor-ddr4
296 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR4
)
298 BUILD_SUBTARGET
:=filogic
303 define Trusted-Firmware-A
/mt7988-emmc-ddr4
304 NAME
:=MediaTek MT7988
(eMMC
, DDR4
)
306 BUILD_SUBTARGET
:=filogic
311 define Trusted-Firmware-A
/mt7988-sdmmc-ddr4
312 NAME
:=MediaTek MT7988
(SD card
, DDR4
)
314 BUILD_SUBTARGET
:=filogic
319 define Trusted-Firmware-A
/mt7988-snand-ddr4
320 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR4
)
322 BUILD_SUBTARGET
:=filogic
327 define Trusted-Firmware-A
/mt7988-spim-nand-ddr4
328 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR4
)
329 BOOT_DEVICE
:=spim-nand
330 BUILD_SUBTARGET
:=filogic
335 define Trusted-Firmware-A
/mt7988-nor-comb
336 NAME
:=MediaTek MT7988
(SPI-NOR
)
338 BUILD_SUBTARGET
:=filogic
343 define Trusted-Firmware-A
/mt7988-emmc-comb
344 NAME
:=MediaTek MT7988
(eMMC
)
346 BUILD_SUBTARGET
:=filogic
351 define Trusted-Firmware-A
/mt7988-sdmmc-comb
352 NAME
:=MediaTek MT7988
(SD card
)
354 BUILD_SUBTARGET
:=filogic
359 define Trusted-Firmware-A
/mt7988-snand-comb
360 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
)
362 BUILD_SUBTARGET
:=filogic
367 define Trusted-Firmware-A
/mt7988-snand-ubi-comb
368 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, UBI
)
370 BUILD_SUBTARGET
:=filogic
376 define Trusted-Firmware-A
/mt7988-spim-nand-comb
377 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
)
378 BOOT_DEVICE
:=spim-nand
379 BUILD_SUBTARGET
:=filogic
384 define Trusted-Firmware-A
/mt7988-spim-nand-ubi-comb
385 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, UBI
)
386 BOOT_DEVICE
:=spim-nand
387 BUILD_SUBTARGET
:=filogic
406 mt7981-spim-nand-ddr3 \
408 mt7981-spim-nand-ddr4 \
413 mt7986-spim-nand-ddr3 \
418 mt7986-spim-nand-ddr4 \
419 mt7986-spim-nand-ubi-ddr4 \
420 mt7986-spim-nand-4k-ddr4 \
425 mt7988-spim-nand-ddr3 \
430 mt7988-spim-nand-ddr4 \
435 mt7988-snand-ubi-comb \
436 mt7988-spim-nand-comb \
437 mt7988-spim-nand-ubi-comb
440 BOOT_DEVICE
=$(BOOT_DEVICE
) \
441 USE_MKIMAGE
=1 MKIMAGE
=$(STAGING_DIR_HOST
)/bin
/mkimage \
442 $(if
$(findstring ddr4
,$(DDR_TYPE
)),DRAM_USE_DDR4
=1) \
443 $(if
$(BOARD_QFN
),BOARD_QFN
=1,BOARD_BGA
=1) \
444 $(if
$(NAND_TYPE
),NAND_TYPE
=$(NAND_TYPE
)) \
445 HAVE_DRAM_OBJ_FILE
=yes \
446 $(if
$(DDR3_FLYBY
),DDR3_FLYBY
=1) \
447 $(if
$(DRAM_USE_COMB
),DRAM_USE_COMB
=1) \
448 $(if
$(USE_UBI
),UBI
=1) \
451 define Package
/trusted-firmware-a
/install
452 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
453 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
454 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
457 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))