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-ubi-1ddr
62 NAME
:=MediaTek MT7622
(SPI-NAND using UBI
, 1x DDR3
)
63 BUILD_SUBTARGET
:=mt7622
69 define Trusted-Firmware-A
/mt7622-snand-2ddr
70 NAME
:=MediaTek MT7622
(SPI-NAND
, 2x DDR3
)
71 BUILD_SUBTARGET
:=mt7622
77 define Trusted-Firmware-A
/mt7622-snand-ubi-2ddr
78 NAME
:=MediaTek MT7622
(SPI-NAND using UBI
, 2x DDR3
)
79 BUILD_SUBTARGET
:=mt7622
86 define Trusted-Firmware-A
/mt7622-emmc-1ddr
87 NAME
:=MediaTek MT7622
(eMMC
, 1x DDR3
)
88 BUILD_SUBTARGET
:=mt7622
93 define Trusted-Firmware-A
/mt7622-emmc-2ddr
94 NAME
:=MediaTek MT7622
(eMMC
, 2x DDR3
)
95 BUILD_SUBTARGET
:=mt7622
101 define Trusted-Firmware-A
/mt7622-sdmmc-1ddr
102 NAME
:=MediaTek MT7622
(SD card
, 1x DDR3
)
103 BUILD_SUBTARGET
:=mt7622
108 define Trusted-Firmware-A
/mt7622-sdmmc-2ddr
109 NAME
:=MediaTek MT7622
(SD card
, 2x DDR3
)
110 BUILD_SUBTARGET
:=mt7622
116 define Trusted-Firmware-A
/mt7981-emmc-ddr4
117 NAME
:=MediaTek MT7981
(eMMC
, DDR4
)
119 BUILD_SUBTARGET
:=filogic
124 define Trusted-Firmware-A
/mt7981-spim-nand-ddr4
125 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR4
)
126 BOOT_DEVICE
:=spim-nand
127 BUILD_SUBTARGET
:=filogic
132 define Trusted-Firmware-A
/mt7981-nor-ddr3
133 NAME
:=MediaTek MT7981
(SPI-NOR
, DDR3
)
135 BUILD_SUBTARGET
:=filogic
140 define Trusted-Firmware-A
/mt7981-emmc-ddr3
141 NAME
:=MediaTek MT7981
(eMMC
, DDR3
)
143 BUILD_SUBTARGET
:=filogic
148 define Trusted-Firmware-A
/mt7981-sdmmc-ddr3
149 NAME
:=MediaTek MT7981
(SD card
, DDR3
)
151 BUILD_SUBTARGET
:=filogic
156 define Trusted-Firmware-A
/mt7981-snand-ddr3
157 NAME
:=MediaTek MT7981
(SPI-NAND via SNFI
, DDR3
)
159 BUILD_SUBTARGET
:=filogic
164 define Trusted-Firmware-A
/mt7981-spim-nand-ddr3
165 NAME
:=MediaTek MT7981
(SPI-NAND via SPIM
, DDR3
)
166 BOOT_DEVICE
:=spim-nand
167 BUILD_SUBTARGET
:=filogic
172 define Trusted-Firmware-A
/mt7986-nor-ddr4
173 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR4
)
175 BUILD_SUBTARGET
:=filogic
180 define Trusted-Firmware-A
/mt7986-emmc-ddr4
181 NAME
:=MediaTek MT7986
(eMMC
, DDR4
)
183 BUILD_SUBTARGET
:=filogic
188 define Trusted-Firmware-A
/mt7986-sdmmc-ddr4
189 NAME
:=MediaTek MT7986
(SD card
, DDR4
)
191 BUILD_SUBTARGET
:=filogic
196 define Trusted-Firmware-A
/mt7986-snand-ddr4
197 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR4
)
199 BUILD_SUBTARGET
:=filogic
204 define Trusted-Firmware-A
/mt7986-spim-nand-ddr4
205 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
206 BOOT_DEVICE
:=spim-nand
207 BUILD_SUBTARGET
:=filogic
210 NAND_TYPE
:=spim
:2k
+64
213 define Trusted-Firmware-A
/mt7986-spim-nand-ubi-ddr4
214 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM using UBI
, DDR4
)
215 BOOT_DEVICE
:=spim-nand
216 BUILD_SUBTARGET
:=filogic
219 NAND_TYPE
:=spim
:2k
+64
223 define Trusted-Firmware-A
/mt7986-spim-nand-4k-ddr4
224 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR4
)
225 BOOT_DEVICE
:=spim-nand
226 BUILD_SUBTARGET
:=filogic
229 NAND_TYPE
:=spim
:4k
+256
232 define Trusted-Firmware-A
/mt7986-nor-ddr3
233 NAME
:=MediaTek MT7986
(SPI-NOR
, DDR3
)
235 BUILD_SUBTARGET
:=filogic
240 define Trusted-Firmware-A
/mt7986-emmc-ddr3
241 NAME
:=MediaTek MT7986
(eMMC
, DDR3
)
243 BUILD_SUBTARGET
:=filogic
248 define Trusted-Firmware-A
/mt7986-sdmmc-ddr3
249 NAME
:=MediaTek MT7986
(SD card
, DDR3
)
251 BUILD_SUBTARGET
:=filogic
256 define Trusted-Firmware-A
/mt7986-snand-ddr3
257 NAME
:=MediaTek MT7986
(SPI-NAND via SNFI
, DDR3
)
259 BUILD_SUBTARGET
:=filogic
264 define Trusted-Firmware-A
/mt7986-spim-nand-ddr3
265 NAME
:=MediaTek MT7986
(SPI-NAND via SPIM
, DDR3
)
266 BOOT_DEVICE
:=spim-nand
267 BUILD_SUBTARGET
:=filogic
272 define Trusted-Firmware-A
/mt7988-nor-ddr3
273 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR3
)
275 BUILD_SUBTARGET
:=filogic
280 define Trusted-Firmware-A
/mt7988-emmc-ddr3
281 NAME
:=MediaTek MT7988
(eMMC
, DDR3
)
283 BUILD_SUBTARGET
:=filogic
288 define Trusted-Firmware-A
/mt7988-sdmmc-ddr3
289 NAME
:=MediaTek MT7988
(SD card
, DDR3
)
291 BUILD_SUBTARGET
:=filogic
296 define Trusted-Firmware-A
/mt7988-snand-ddr3
297 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR3
)
299 BUILD_SUBTARGET
:=filogic
304 define Trusted-Firmware-A
/mt7988-spim-nand-ddr3
305 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR3
)
306 BOOT_DEVICE
:=spim-nand
307 BUILD_SUBTARGET
:=filogic
312 define Trusted-Firmware-A
/mt7988-nor-ddr4
313 NAME
:=MediaTek MT7988
(SPI-NOR
, DDR4
)
315 BUILD_SUBTARGET
:=filogic
320 define Trusted-Firmware-A
/mt7988-emmc-ddr4
321 NAME
:=MediaTek MT7988
(eMMC
, DDR4
)
323 BUILD_SUBTARGET
:=filogic
328 define Trusted-Firmware-A
/mt7988-sdmmc-ddr4
329 NAME
:=MediaTek MT7988
(SD card
, DDR4
)
331 BUILD_SUBTARGET
:=filogic
336 define Trusted-Firmware-A
/mt7988-snand-ddr4
337 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, DDR4
)
339 BUILD_SUBTARGET
:=filogic
344 define Trusted-Firmware-A
/mt7988-spim-nand-ddr4
345 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, DDR4
)
346 BOOT_DEVICE
:=spim-nand
347 BUILD_SUBTARGET
:=filogic
352 define Trusted-Firmware-A
/mt7988-nor-comb
353 NAME
:=MediaTek MT7988
(SPI-NOR
)
355 BUILD_SUBTARGET
:=filogic
360 define Trusted-Firmware-A
/mt7988-emmc-comb
361 NAME
:=MediaTek MT7988
(eMMC
)
363 BUILD_SUBTARGET
:=filogic
368 define Trusted-Firmware-A
/mt7988-sdmmc-comb
369 NAME
:=MediaTek MT7988
(SD card
)
371 BUILD_SUBTARGET
:=filogic
376 define Trusted-Firmware-A
/mt7988-snand-comb
377 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
)
379 BUILD_SUBTARGET
:=filogic
384 define Trusted-Firmware-A
/mt7988-snand-ubi-comb
385 NAME
:=MediaTek MT7988
(SPI-NAND via SNFI
, UBI
)
387 BUILD_SUBTARGET
:=filogic
393 define Trusted-Firmware-A
/mt7988-spim-nand-comb
394 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
)
395 BOOT_DEVICE
:=spim-nand
396 BUILD_SUBTARGET
:=filogic
401 define Trusted-Firmware-A
/mt7988-spim-nand-ubi-comb
402 NAME
:=MediaTek MT7988
(SPI-NAND via SPIM
, UBI
)
403 BOOT_DEVICE
:=spim-nand
404 BUILD_SUBTARGET
:=filogic
414 mt7622-snand-ubi-1ddr \
416 mt7622-snand-ubi-2ddr \
425 mt7981-spim-nand-ddr3 \
427 mt7981-spim-nand-ddr4 \
432 mt7986-spim-nand-ddr3 \
437 mt7986-spim-nand-ddr4 \
438 mt7986-spim-nand-ubi-ddr4 \
439 mt7986-spim-nand-4k-ddr4 \
444 mt7988-spim-nand-ddr3 \
449 mt7988-spim-nand-ddr4 \
454 mt7988-snand-ubi-comb \
455 mt7988-spim-nand-comb \
456 mt7988-spim-nand-ubi-comb
459 BOOT_DEVICE
=$(BOOT_DEVICE
) \
460 USE_MKIMAGE
=1 MKIMAGE
=$(STAGING_DIR_HOST
)/bin
/mkimage \
461 $(if
$(findstring ddr4
,$(DDR_TYPE
)),DRAM_USE_DDR4
=1) \
462 $(if
$(BOARD_QFN
),BOARD_QFN
=1,BOARD_BGA
=1) \
463 $(if
$(NAND_TYPE
),NAND_TYPE
=$(NAND_TYPE
)) \
464 HAVE_DRAM_OBJ_FILE
=yes \
465 $(if
$(DDR3_FLYBY
),DDR3_FLYBY
=1) \
466 $(if
$(DRAM_USE_COMB
),DRAM_USE_COMB
=1) \
467 $(if
$(USE_UBI
),UBI
=1 $(if
$(findstring mt7622
,$(PLAT
)),OVERRIDE_UBI_START_ADDR
=0x80000)) \
470 define Package
/trusted-firmware-a
/install
471 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
472 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
473 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/$(PLAT
)/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
476 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))