2 # Copyright (C) 2017 Hauke Mehrtens
3 # Copyright (C) 2021 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
12 PKG_RELEASE
:=$(AUTORELEASE
)
15 PKG_SOURCE_URL
=https
://github.com
/mtk-openwrt
/arm-trusted-firmware.git
16 PKG_SOURCE_DATE
:=2020-11-09
17 PKG_SOURCE_VERSION
:=03017334ccd8c0fac12e7db36749b95b9a7d745f
18 PKG_MIRROR_HASH
:=b211b2f9143d4debc7ad8dc959cb606888af20af790855dd66c87e451b6a1bc7
20 PKG_MAINTAINER
:=Daniel Golle
<daniel@makrotopia.org
>
22 PKG_LICENSE_FILES
:=LICENCE.mediatek
24 BLOBS_TARBALL
:=tfa-mtk-files-for-2020-11-09.tgz
25 BROMIMAGE_EXEC
:=bromimage-x64
27 include $(INCLUDE_DIR
)/trusted-firmware-a.mk
28 include $(INCLUDE_DIR
)/package.mk
30 PKG_LICENSE
+=proprietary
32 define Download
/tfa-files
34 URL_FILE
:=$(BLOBS_TARBALL
)
35 FILE
:=$(BLOBS_TARBALL
)
36 HASH
:=689b097e4531d3eeca0c477675ab3dc3cace6ba4ed8a339116a9ede6537839d7
39 define Trusted-Firmware-A
/Default
40 BUILD_TARGET
:=mediatek
41 BUILD_SUBTARGET
:=mt7622
43 TFA_IMAGE
:=bl2.img bl31.bin
48 define Trusted-Firmware-A
/mt7622-nor-1ddr
49 NAME
:=MediaTek MT7622
(SPI-NOR
, 1x DDR3
)
54 define Trusted-Firmware-A
/mt7622-nor-2ddr
55 NAME
:=MediaTek MT7622
(SPI-NOR
, 2x DDR3
)
60 define Trusted-Firmware-A
/mt7622-snand-1ddr
61 NAME
:=MediaTek MT7622
(SPI-NAND
, 1x DDR3
)
66 define Trusted-Firmware-A
/mt7622-snand-2ddr
67 NAME
:=MediaTek MT7622
(SPI-SNAND
, 2x DDR3
)
72 define Trusted-Firmware-A
/mt7622-emmc-1ddr
73 NAME
:=MediaTek MT7622
(eMMC
, 1x DDR3
)
78 define Trusted-Firmware-A
/mt7622-emmc-2ddr
79 NAME
:=MediaTek MT7622
(eMMC
, 2x DDR3
)
84 define Trusted-Firmware-A
/mt7622-sdmmc-1ddr
85 NAME
:=MediaTek MT7622
(SDcard
, 1x DDR3
)
90 define Trusted-Firmware-A
/mt7622-sdmmc-2ddr
91 NAME
:=MediaTek MT7622
(SDcard
, 2x DDR3
)
106 TFA_MAKE_FLAGS
+= BOOT_DEVICE
=$(BOOT_DEVICE
) all
109 $(call Build
/Prepare
/Default
)
110 $(eval
$(call Download
,tfa-files
))
111 # replace 'bromimage' tool by static version
112 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
113 -O
"*/$(BROMIMAGE_EXEC)" > $(PKG_BUILD_DIR
)/tools
/mediatek
/bromimage
/bromimage
114 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
115 -C
$(PKG_BUILD_DIR
) \
116 --strip-components
=1 */LICENCE.mediatek
119 define Build
/Configure
120 $(call Build
/Configure
/Default
)
121 # replace DRAM calib blobs if needed (variant '2' is shipped upstream)
123 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
124 -C
$(PKG_BUILD_DIR
)/plat
/mediatek
/mt7622
/drivers
/dram
/release \
125 --strip-components
=1 */*.o
129 define Package
/trusted-firmware-a
/install
130 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
131 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/mt7622
/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
132 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/mt7622
/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
133 ifeq ($(BOOT_DEVICE
),emmc
)
134 $(INSTALL_DATA
) $(DL_DIR
)/mt7622-header_emmc.bin
$(STAGING_DIR_IMAGE
)/
136 ifeq ($(BOOT_DEVICE
),sdmmc
)
137 $(INSTALL_DATA
) $(DL_DIR
)/mt7622-header_sdmmc.bin
$(STAGING_DIR_IMAGE
)/
141 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))