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-4k-ddr4
197 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
198 BOOT_DEVICE
:=spim-nand
199 BUILD_SUBTARGET
:=filogic
202 NAND_TYPE
:=spim
:4k
+256
205 define Trusted-Firmware-A
/mt7986-nor-ddr3
206 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR3
)
208 BUILD_SUBTARGET
:=filogic
213 define Trusted-Firmware-A
/mt7986-emmc-ddr3
214 NAME
:=MediaTek MT7986
(eMMC
, DDR3
)
216 BUILD_SUBTARGET
:=filogic
221 define Trusted-Firmware-A
/mt7986-sdmmc-ddr3
222 NAME
:=MediaTek MT7986
(SD card
, DDR3
)
224 BUILD_SUBTARGET
:=filogic
229 define Trusted-Firmware-A
/mt7986-snand-ddr3
230 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR3
)
232 BUILD_SUBTARGET
:=filogic
237 define Trusted-Firmware-A
/mt7986-spim-nand-ddr3
238 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR3
)
239 BOOT_DEVICE
:=spim-nand
240 BUILD_SUBTARGET
:=filogic
245 define Trusted-Firmware-A
/mt7988-nor-ddr3
246 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR3
)
248 BUILD_SUBTARGET
:=filogic
253 define Trusted-Firmware-A
/mt7988-emmc-ddr3
254 NAME
:=MediaTek MT7988
(eMMC
, DDR3
)
256 BUILD_SUBTARGET
:=filogic
261 define Trusted-Firmware-A
/mt7988-sdmmc-ddr3
262 NAME
:=MediaTek MT7988
(SD card
, DDR3
)
264 BUILD_SUBTARGET
:=filogic
269 define Trusted-Firmware-A
/mt7988-snand-ddr3
270 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR3
)
272 BUILD_SUBTARGET
:=filogic
277 define Trusted-Firmware-A
/mt7988-spim-nand-ddr3
278 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR3
)
279 BOOT_DEVICE
:=spim-nand
280 BUILD_SUBTARGET
:=filogic
285 define Trusted-Firmware-A
/mt7988-nor-ddr4
286 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR4
)
288 BUILD_SUBTARGET
:=filogic
293 define Trusted-Firmware-A
/mt7988-emmc-ddr4
294 NAME
:=MediaTek MT7988
(eMMC
, DDR4
)
296 BUILD_SUBTARGET
:=filogic
301 define Trusted-Firmware-A
/mt7988-sdmmc-ddr4
302 NAME
:=MediaTek MT7988
(SD card
, DDR4
)
304 BUILD_SUBTARGET
:=filogic
309 define Trusted-Firmware-A
/mt7988-snand-ddr4
310 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR4
)
312 BUILD_SUBTARGET
:=filogic
317 define Trusted-Firmware-A
/mt7988-spim-nand-ddr4
318 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR4
)
319 BOOT_DEVICE
:=spim-nand
320 BUILD_SUBTARGET
:=filogic
325 define Trusted-Firmware-A
/mt7988-nor-comb
326 NAME
:=MediaTek MT7988
(SPI-NOR
)
328 BUILD_SUBTARGET
:=filogic
333 define Trusted-Firmware-A
/mt7988-emmc-comb
334 NAME
:=MediaTek MT7988
(eMMC
)
336 BUILD_SUBTARGET
:=filogic
341 define Trusted-Firmware-A
/mt7988-sdmmc-comb
342 NAME
:=MediaTek MT7988
(SD card
)
344 BUILD_SUBTARGET
:=filogic
349 define Trusted-Firmware-A
/mt7988-snand-comb
350 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
)
352 BUILD_SUBTARGET
:=filogic
357 define Trusted-Firmware-A
/mt7988-snand-ubi-comb
358 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, UBI
)
360 BUILD_SUBTARGET
:=filogic
366 define Trusted-Firmware-A
/mt7988-spim-nand-comb
367 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
)
368 BOOT_DEVICE
:=spim-nand
369 BUILD_SUBTARGET
:=filogic
374 define Trusted-Firmware-A
/mt7988-spim-nand-ubi-comb
375 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, UBI
)
376 BOOT_DEVICE
:=spim-nand
377 BUILD_SUBTARGET
:=filogic
396 mt7981-spim-nand-ddr3 \
398 mt7981-spim-nand-ddr4 \
403 mt7986-spim-nand-ddr3 \
408 mt7986-spim-nand-ddr4 \
409 mt7986-spim-nand-4k-ddr4 \
414 mt7988-spim-nand-ddr3 \
419 mt7988-spim-nand-ddr4 \
424 mt7988-snand-ubi-comb \
425 mt7988-spim-nand-comb \
426 mt7988-spim-nand-ubi-comb
429 BOOT_DEVICE
=$(BOOT_DEVICE
) \
430 USE_MKIMAGE
=1 MKIMAGE
=$(STAGING_DIR_HOST
)/bin
/mkimage \
431 $(if
$(findstring ddr4
,$(DDR_TYPE
)),DRAM_USE_DDR4
=1) \
432 $(if
$(BOARD_QFN
),BOARD_QFN
=1,BOARD_BGA
=1) \
433 $(if
$(NAND_TYPE
),NAND_TYPE
=$(NAND_TYPE
)) \
434 HAVE_DRAM_OBJ_FILE
=yes \
435 $(if
$(DDR3_FLYBY
),DDR3_FLYBY
=1) \
436 $(if
$(DRAM_USE_COMB
),DRAM_USE_COMB
=1) \
437 $(if
$(USE_UBI
),UBI
=1) \
440 define Package
/trusted-firmware-a
/install
441 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
442 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
443 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
446 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))