arm-trusted-firmware-mediatek: don't try to install absent files
[openwrt/staging/rmilecki.git] / package / boot / arm-trusted-firmware-mediatek / Makefile
1 #
2 # Copyright (C) 2017 Hauke Mehrtens
3 # Copyright (C) 2021 Daniel Golle
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=arm-trusted-firmware-mediatek
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE_PROTO:=git
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
19
20 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
21
22 PKG_LICENSE_FILES:=LICENCE.mediatek
23
24 BLOBS_TARBALL:=tfa-mtk-files-for-2020-11-09.tgz
25 BROMIMAGE_EXEC:=bromimage-x64
26
27 include $(INCLUDE_DIR)/trusted-firmware-a.mk
28 include $(INCLUDE_DIR)/package.mk
29
30 PKG_LICENSE+=proprietary
31
32 define Download/tfa-files
33 URL:=@OPENWRT
34 URL_FILE:=$(BLOBS_TARBALL)
35 FILE:=$(BLOBS_TARBALL)
36 HASH:=689b097e4531d3eeca0c477675ab3dc3cace6ba4ed8a339116a9ede6537839d7
37 endef
38
39 define Trusted-Firmware-A/Default
40 BUILD_TARGET:=mediatek
41 BUILD_SUBTARGET:=mt7622
42 PLAT:=mt7622
43 TFA_IMAGE:=bl2.img bl31.bin
44 BOOT_DEVICE:=
45 DDR_BLOB:=
46 endef
47
48 define Trusted-Firmware-A/mt7622-nor-1ddr
49 NAME:=MediaTek MT7622 (SPI-NOR, 1x DDR3)
50 BOOT_DEVICE:=nor
51 DDR_BLOB:=1
52 endef
53
54 define Trusted-Firmware-A/mt7622-nor-2ddr
55 NAME:=MediaTek MT7622 (SPI-NOR, 2x DDR3)
56 BOOT_DEVICE:=nor
57 DDR_BLOB:=2
58 endef
59
60 define Trusted-Firmware-A/mt7622-snand-1ddr
61 NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3)
62 BOOT_DEVICE:=snand
63 DDR_BLOB:=1
64 endef
65
66 define Trusted-Firmware-A/mt7622-snand-2ddr
67 NAME:=MediaTek MT7622 (SPI-SNAND, 2x DDR3)
68 BOOT_DEVICE:=snand
69 DDR_BLOB:=2
70 endef
71
72 define Trusted-Firmware-A/mt7622-emmc-1ddr
73 NAME:=MediaTek MT7622 (eMMC, 1x DDR3)
74 BOOT_DEVICE:=emmc
75 DDR_BLOB:=1
76 endef
77
78 define Trusted-Firmware-A/mt7622-emmc-2ddr
79 NAME:=MediaTek MT7622 (eMMC, 2x DDR3)
80 BOOT_DEVICE:=emmc
81 DDR_BLOB:=2
82 endef
83
84 define Trusted-Firmware-A/mt7622-sdmmc-1ddr
85 NAME:=MediaTek MT7622 (SDcard, 1x DDR3)
86 BOOT_DEVICE:=sdmmc
87 DDR_BLOB:=1
88 endef
89
90 define Trusted-Firmware-A/mt7622-sdmmc-2ddr
91 NAME:=MediaTek MT7622 (SDcard, 2x DDR3)
92 BOOT_DEVICE:=sdmmc
93 DDR_BLOB:=2
94 endef
95
96 TFA_TARGETS:= \
97 mt7622-nor-1ddr \
98 mt7622-nor-2ddr \
99 mt7622-snand-1ddr \
100 mt7622-snand-2ddr \
101 mt7622-emmc-1ddr \
102 mt7622-emmc-2ddr \
103 mt7622-sdmmc-1ddr \
104 mt7622-sdmmc-2ddr
105
106 TFA_MAKE_FLAGS += BOOT_DEVICE=$(BOOT_DEVICE) all
107
108 define Build/Prepare
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
117 endef
118
119 define Build/Configure
120 $(call Build/Configure/Default)
121 # replace DRAM calib blobs if needed (variant '2' is shipped upstream)
122 ifeq ($(DDR_BLOB),1)
123 $(TAR) -vxzf $(DL_DIR)/$(BLOBS_TARBALL) --wildcards \
124 -C $(PKG_BUILD_DIR)/plat/mediatek/mt7622/drivers/dram/release \
125 --strip-components=1 */*.o
126 endif
127 endef
128
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 endef
134
135 $(eval $(call BuildPackage/Trusted-Firmware-A))