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
:=22579fae08de942e0d5a420cfaa0b1d310dc9431e85b7e28a3c3ef08331a199d
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
40 define Trusted-Firmware-A
/mt7622-nor-1ddr
41 NAME
:=MediaTek MT7622
(SPI-NOR
, 1x DDR3
)
42 BUILD_SUBTARGET
:=mt7622
47 define Trusted-Firmware-A
/mt7622-nor-2ddr
48 NAME
:=MediaTek MT7622
(SPI-NOR
, 2x DDR3
)
49 BUILD_SUBTARGET
:=mt7622
55 define Trusted-Firmware-A
/mt7622-snand-1ddr
56 NAME
:=MediaTek MT7622
(SPI-NAND
, 1x DDR3
)
57 BUILD_SUBTARGET
:=mt7622
62 define Trusted-Firmware-A
/mt7622-snand-ubi-1ddr
63 NAME
:=MediaTek MT7622
(SPI-NAND using UBI
, 1x DDR3
)
64 BUILD_SUBTARGET
:=mt7622
70 define Trusted-Firmware-A
/mt7622-snand-2ddr
71 NAME
:=MediaTek MT7622
(SPI-NAND
, 2x DDR3
)
72 BUILD_SUBTARGET
:=mt7622
78 define Trusted-Firmware-A
/mt7622-snand-ubi-2ddr
79 NAME
:=MediaTek MT7622
(SPI-NAND using UBI
, 2x DDR3
)
80 BUILD_SUBTARGET
:=mt7622
87 define Trusted-Firmware-A
/mt7622-emmc-1ddr
88 NAME
:=MediaTek MT7622
(eMMC
, 1x DDR3
)
89 BUILD_SUBTARGET
:=mt7622
94 define Trusted-Firmware-A
/mt7622-emmc-2ddr
95 NAME
:=MediaTek MT7622
(eMMC
, 2x DDR3
)
96 BUILD_SUBTARGET
:=mt7622
102 define Trusted-Firmware-A
/mt7622-sdmmc-1ddr
103 NAME
:=MediaTek MT7622
(SD card
, 1x DDR3
)
104 BUILD_SUBTARGET
:=mt7622
109 define Trusted-Firmware-A
/mt7622-sdmmc-2ddr
110 NAME
:=MediaTek MT7622
(SD card
, 2x DDR3
)
111 BUILD_SUBTARGET
:=mt7622
117 define Trusted-Firmware-A
/mt7981-ram-ddr4
118 NAME
:=MediaTek MT7981
(RAM
, DDR4
)
120 BUILD_SUBTARGET
:=filogic
125 DEFAULT
:=TARGET_mediatek_filogic
128 define Trusted-Firmware-A
/mt7981-emmc-ddr4
129 NAME
:=MediaTek MT7981
(eMMC
, DDR4
)
131 BUILD_SUBTARGET
:=filogic
136 define Trusted-Firmware-A
/mt7981-spim-nand-ddr4
137 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR4
)
138 BOOT_DEVICE
:=spim-nand
139 BUILD_SUBTARGET
:=filogic
144 define Trusted-Firmware-A
/mt7981-nor-ddr3
145 NAME
:=MediaTek MT7981
(SPI-NOR
, DDR3
)
147 BUILD_SUBTARGET
:=filogic
152 define Trusted-Firmware-A
/mt7981-ram-ddr3
153 NAME
:=MediaTek MT7981
(RAM
, DDR3
)
155 BUILD_SUBTARGET
:=filogic
160 DEFAULT
:=TARGET_mediatek_filogic
163 define Trusted-Firmware-A
/mt7981-emmc-ddr3
164 NAME
:=MediaTek MT7981
(eMMC
, DDR3
)
166 BUILD_SUBTARGET
:=filogic
171 define Trusted-Firmware-A
/mt7981-sdmmc-ddr3
172 NAME
:=MediaTek MT7981
(SD card
, DDR3
)
174 BUILD_SUBTARGET
:=filogic
179 define Trusted-Firmware-A
/mt7981-snand-ddr3
180 NAME
:=MediaTek MT7981
(SPI-NAND via SNFI
, DDR3
)
182 BUILD_SUBTARGET
:=filogic
187 define Trusted-Firmware-A
/mt7981-spim-nand-ddr3
188 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR3
)
189 BOOT_DEVICE
:=spim-nand
190 BUILD_SUBTARGET
:=filogic
195 define Trusted-Firmware-A
/mt7986-ram-ddr4
196 NAME
:=MediaTek MT7986
(RAM
, DDR4
)
198 BUILD_SUBTARGET
:=filogic
203 DEFAULT
:=TARGET_mediatek_filogic
206 define Trusted-Firmware-A
/mt7986-nor-ddr4
207 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR4
)
209 BUILD_SUBTARGET
:=filogic
214 define Trusted-Firmware-A
/mt7986-emmc-ddr4
215 NAME
:=MediaTek MT7986
(eMMC
, DDR4
)
217 BUILD_SUBTARGET
:=filogic
222 define Trusted-Firmware-A
/mt7986-sdmmc-ddr4
223 NAME
:=MediaTek MT7986
(SD card
, DDR4
)
225 BUILD_SUBTARGET
:=filogic
230 define Trusted-Firmware-A
/mt7986-snand-ddr4
231 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR4
)
233 BUILD_SUBTARGET
:=filogic
238 define Trusted-Firmware-A
/mt7986-spim-nand-ddr4
239 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
240 BOOT_DEVICE
:=spim-nand
241 BUILD_SUBTARGET
:=filogic
244 NAND_TYPE
:=spim
:2k
+64
247 define Trusted-Firmware-A
/mt7986-spim-nand-ubi-ddr4
248 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM using UBI
, DDR4
)
249 BOOT_DEVICE
:=spim-nand
250 BUILD_SUBTARGET
:=filogic
253 NAND_TYPE
:=spim
:2k
+64
257 define Trusted-Firmware-A
/mt7986-spim-nand-4k-ddr4
258 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
259 BOOT_DEVICE
:=spim-nand
260 BUILD_SUBTARGET
:=filogic
263 NAND_TYPE
:=spim
:4k
+256
266 define Trusted-Firmware-A
/mt7986-ram-ddr3
267 NAME
:=MediaTek MT7986
(RAM
, DDR3
)
269 BUILD_SUBTARGET
:=filogic
274 DEFAULT
:=TARGET_mediatek_filogic
277 define Trusted-Firmware-A
/mt7986-nor-ddr3
278 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR3
)
280 BUILD_SUBTARGET
:=filogic
285 define Trusted-Firmware-A
/mt7986-emmc-ddr3
286 NAME
:=MediaTek MT7986
(eMMC
, DDR3
)
288 BUILD_SUBTARGET
:=filogic
293 define Trusted-Firmware-A
/mt7986-sdmmc-ddr3
294 NAME
:=MediaTek MT7986
(SD card
, DDR3
)
296 BUILD_SUBTARGET
:=filogic
301 define Trusted-Firmware-A
/mt7986-snand-ddr3
302 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR3
)
304 BUILD_SUBTARGET
:=filogic
309 define Trusted-Firmware-A
/mt7986-spim-nand-ddr3
310 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR3
)
311 BOOT_DEVICE
:=spim-nand
312 BUILD_SUBTARGET
:=filogic
317 define Trusted-Firmware-A
/mt7988-nor-ddr3
318 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR3
)
320 BUILD_SUBTARGET
:=filogic
325 define Trusted-Firmware-A
/mt7988-emmc-ddr3
326 NAME
:=MediaTek MT7988
(eMMC
, DDR3
)
328 BUILD_SUBTARGET
:=filogic
333 define Trusted-Firmware-A
/mt7988-sdmmc-ddr3
334 NAME
:=MediaTek MT7988
(SD card
, DDR3
)
336 BUILD_SUBTARGET
:=filogic
341 define Trusted-Firmware-A
/mt7988-snand-ddr3
342 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR3
)
344 BUILD_SUBTARGET
:=filogic
349 define Trusted-Firmware-A
/mt7988-spim-nand-ddr3
350 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR3
)
351 BOOT_DEVICE
:=spim-nand
352 BUILD_SUBTARGET
:=filogic
357 define Trusted-Firmware-A
/mt7988-nor-ddr4
358 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR4
)
360 BUILD_SUBTARGET
:=filogic
365 define Trusted-Firmware-A
/mt7988-emmc-ddr4
366 NAME
:=MediaTek MT7988
(eMMC
, DDR4
)
368 BUILD_SUBTARGET
:=filogic
373 define Trusted-Firmware-A
/mt7988-sdmmc-ddr4
374 NAME
:=MediaTek MT7988
(SD card
, DDR4
)
376 BUILD_SUBTARGET
:=filogic
381 define Trusted-Firmware-A
/mt7988-snand-ddr4
382 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR4
)
384 BUILD_SUBTARGET
:=filogic
389 define Trusted-Firmware-A
/mt7988-spim-nand-ddr4
390 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR4
)
391 BOOT_DEVICE
:=spim-nand
392 BUILD_SUBTARGET
:=filogic
397 define Trusted-Firmware-A
/mt7988-ram-comb
398 NAME
:=MediaTek MT7988
(RAM
)
400 BUILD_SUBTARGET
:=filogic
405 DEFAULT
:=TARGET_mediatek_filogic
408 define Trusted-Firmware-A
/mt7988-nor-comb
409 NAME
:=MediaTek MT7988
(SPI-NOR
)
411 BUILD_SUBTARGET
:=filogic
416 define Trusted-Firmware-A
/mt7988-emmc-comb
417 NAME
:=MediaTek MT7988
(eMMC
)
419 BUILD_SUBTARGET
:=filogic
424 define Trusted-Firmware-A
/mt7988-sdmmc-comb
425 NAME
:=MediaTek MT7988
(SD card
)
427 BUILD_SUBTARGET
:=filogic
432 define Trusted-Firmware-A
/mt7988-snand-comb
433 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
)
435 BUILD_SUBTARGET
:=filogic
440 define Trusted-Firmware-A
/mt7988-snand-ubi-comb
441 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, UBI
)
443 BUILD_SUBTARGET
:=filogic
449 define Trusted-Firmware-A
/mt7988-spim-nand-comb
450 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
)
451 BOOT_DEVICE
:=spim-nand
452 BUILD_SUBTARGET
:=filogic
457 define Trusted-Firmware-A
/mt7988-spim-nand-ubi-comb
458 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, UBI
)
459 BOOT_DEVICE
:=spim-nand
460 BUILD_SUBTARGET
:=filogic
470 mt7622-snand-ubi-1ddr \
472 mt7622-snand-ubi-2ddr \
482 mt7981-spim-nand-ddr3 \
485 mt7981-spim-nand-ddr4 \
491 mt7986-spim-nand-ddr3 \
497 mt7986-spim-nand-ddr4 \
498 mt7986-spim-nand-ubi-ddr4 \
499 mt7986-spim-nand-4k-ddr4 \
504 mt7988-spim-nand-ddr3 \
509 mt7988-spim-nand-ddr4 \
515 mt7988-snand-ubi-comb \
516 mt7988-spim-nand-comb \
517 mt7988-spim-nand-ubi-comb
520 BOOT_DEVICE
=$(BOOT_DEVICE
) \
521 USE_MKIMAGE
=1 MKIMAGE
=$(STAGING_DIR_HOST
)/bin
/mkimage \
522 $(if
$(findstring ddr4
,$(DDR_TYPE
)),DRAM_USE_DDR4
=1) \
523 $(if
$(BOARD_QFN
),BOARD_QFN
=1,BOARD_BGA
=1) \
524 $(if
$(NAND_TYPE
),NAND_TYPE
=$(NAND_TYPE
)) \
525 HAVE_DRAM_OBJ_FILE
=yes \
526 $(if
$(DDR3_FLYBY
),DDR3_FLYBY
=1) \
527 $(if
$(DRAM_USE_COMB
),DRAM_USE_COMB
=1) \
528 $(if
$(RAM_BOOT_UART_DL
),RAM_BOOT_UART_DL
=1) \
529 $(if
$(USE_UBI
),UBI
=1 $(if
$(findstring mt7622
,$(PLAT
)),OVERRIDE_UBI_START_ADDR
=0x80000)) \
532 define Package
/trusted-firmware-a-ram
/install
533 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
534 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl2.bin
$(BIN_DIR
)/$(BUILD_VARIANT
)-bl2.bin
536 Package
/trusted-firmware-a-mt7981-ram-ddr3
/install = $(Package
/trusted-firmware-a-ram
/install)
537 Package
/trusted-firmware-a-mt7981-ram-ddr4
/install = $(Package
/trusted-firmware-a-ram
/install)
538 Package
/trusted-firmware-a-mt7986-ram-ddr3
/install = $(Package
/trusted-firmware-a-ram
/install)
539 Package
/trusted-firmware-a-mt7986-ram-ddr4
/install = $(Package
/trusted-firmware-a-ram
/install)
540 Package
/trusted-firmware-a-mt7988-ram-comb
/install = $(Package
/trusted-firmware-a-ram
/install)
542 define Package
/trusted-firmware-a
/install
543 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
544 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
545 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
548 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))