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 Download
/mt7622-header-emmc
40 URL
:=https
://raw.githubusercontent.com
/frank-w
/BPI-R64-ATF
/a36efa5f7435b8079479d13b562fedc0aa0d42f0
41 URL_FILE
:=header_emmc.bin
42 FILE
:=mt7622-header_emmc.bin
43 HASH
:=0a09c55d90c5fc375c59468a4331555f77cbc3e1dd107ca83b5b8c9625f38d8c
46 define Download
/mt7622-header-sdmmc
47 URL
:=https
://raw.githubusercontent.com
/frank-w
/BPI-R64-ATF
/a36efa5f7435b8079479d13b562fedc0aa0d42f0
48 URL_FILE
:=header_sdmmc.bin
49 FILE
:=mt7622-header_sdmmc.bin
50 HASH
:=242908c04e25289d25ba9fab61a1930425af173051c43d275d1ac9877d6accb1
53 define Trusted-Firmware-A
/Default
54 BUILD_TARGET
:=mediatek
55 BUILD_SUBTARGET
:=mt7622
57 TFA_IMAGE
:=bl2.img bl31.bin
62 define Trusted-Firmware-A
/mt7622-nor-1ddr
63 NAME
:=MediaTek MT7622
(SPI-NOR
, 1x DDR3
)
68 define Trusted-Firmware-A
/mt7622-nor-2ddr
69 NAME
:=MediaTek MT7622
(SPI-NOR
, 2x DDR3
)
74 define Trusted-Firmware-A
/mt7622-snand-1ddr
75 NAME
:=MediaTek MT7622
(SPI-NAND
, 1x DDR3
)
80 define Trusted-Firmware-A
/mt7622-snand-2ddr
81 NAME
:=MediaTek MT7622
(SPI-SNAND
, 2x DDR3
)
86 define Trusted-Firmware-A
/mt7622-emmc-1ddr
87 NAME
:=MediaTek MT7622
(eMMC
, 1x DDR3
)
92 define Trusted-Firmware-A
/mt7622-emmc-2ddr
93 NAME
:=MediaTek MT7622
(eMMC
, 2x DDR3
)
98 define Trusted-Firmware-A
/mt7622-sdmmc-1ddr
99 NAME
:=MediaTek MT7622
(SDcard
, 1x DDR3
)
104 define Trusted-Firmware-A
/mt7622-sdmmc-2ddr
105 NAME
:=MediaTek MT7622
(SDcard
, 2x DDR3
)
120 TFA_MAKE_FLAGS
+= BOOT_DEVICE
=$(BOOT_DEVICE
) all
123 $(call Build
/Prepare
/Default
)
124 ifeq ($(BOOT_DEVICE
),emmc
)
125 $(eval
$(call Download
,mt7622-header-emmc
))
127 ifeq ($(BOOT_DEVICE
),sdmmc
)
128 $(eval
$(call Download
,mt7622-header-sdmmc
))
130 $(eval
$(call Download
,tfa-files
))
131 # replace 'bromimage' tool by static version
132 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
133 -O
"*/$(BROMIMAGE_EXEC)" > $(PKG_BUILD_DIR
)/tools
/mediatek
/bromimage
/bromimage
134 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
135 -C
$(PKG_BUILD_DIR
) \
136 --strip-components
=1 */LICENCE.mediatek
139 define Build
/Configure
140 $(call Build
/Configure
/Default
)
141 # replace DRAM calib blobs if needed (variant '2' is shipped upstream)
143 $(TAR
) -vxzf
$(DL_DIR
)/$(BLOBS_TARBALL
) --wildcards \
144 -C
$(PKG_BUILD_DIR
)/plat
/mediatek
/mt7622
/drivers
/dram
/release \
145 --strip-components
=1 */*.o
149 define Package
/trusted-firmware-a
/install
150 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
151 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/mt7622
/release
/bl2.img
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl2.img
152 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/build
/mt7622
/release
/bl31.bin
$(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-bl31.bin
153 ifeq ($(BOOT_DEVICE
),emmc
)
154 $(INSTALL_DATA
) $(DL_DIR
)/mt7622-header_emmc.bin
$(STAGING_DIR_IMAGE
)/
156 ifeq ($(BOOT_DEVICE
),sdmmc
)
157 $(INSTALL_DATA
) $(DL_DIR
)/mt7622-header_sdmmc.bin
$(STAGING_DIR_IMAGE
)/
161 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))