2 # Copyright (C) 2019 Sartura Ltd.
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
12 PKG_HASH
:=53422dc649153838e03820330ba17cb10afe3e330ecde0db11e4d5f1361a33e6
14 PKG_MAINTAINER
:=Vladimir Vid
<vladimir.vid@sartura.hr
>
16 include $(INCLUDE_DIR
)/kernel.mk
17 include $(INCLUDE_DIR
)/trusted-firmware-a.mk
18 include $(INCLUDE_DIR
)/package.mk
20 define Trusted-Firmware-A
/Default
22 BUILD_SUBTARGET
:=cortexa53
23 TFA_IMAGE
:=flash-image.bin uart-images.tgz.bin
30 define Trusted-Firmware-A
/espressobin-512mb
31 NAME
:=Marvell ESPRESSObin
(512MB
)
32 DEPENDS
:=+u-boot-espressobin
33 BUILD_DEVICES
:=globalscale_espressobin
36 CLOCKSPRESET
:=CPU_1000_DDR_800
40 define Trusted-Firmware-A
/espressobin-v3-v5-1gb-1cs
41 NAME
:=Marvell ESPRESSObin V3-V5
(1GB
1CS
)
42 DEPENDS
:=+u-boot-espressobin
43 BUILD_DEVICES
:=globalscale_espressobin
46 CLOCKSPRESET
:=CPU_1000_DDR_800
50 define Trusted-Firmware-A
/espressobin-v3-v5-1gb-2cs
51 NAME
:=Marvell ESPRESSObin V3-V5
(1GB
, 2CS
)
52 DEPENDS
:=+u-boot-espressobin
53 BUILD_DEVICES
:=globalscale_espressobin
56 CLOCKSPRESET
:=CPU_1000_DDR_800
60 define Trusted-Firmware-A
/espressobin-v3-v5-2gb
61 NAME
:=Marvell ESPRESSObin V3-V5
(2GB
)
62 DEPENDS
:=+u-boot-espressobin
63 BUILD_DEVICES
:=globalscale_espressobin
66 CLOCKSPRESET
:=CPU_1000_DDR_800
70 define Trusted-Firmware-A
/espressobin-v7-1gb
71 NAME
:=Marvell ESPRESSObin V7
(1GB
)
72 DEPENDS
:=+u-boot-espressobin
73 BUILD_DEVICES
:=globalscale_espressobin-v7
76 CLOCKSPRESET
:=CPU_1000_DDR_800
80 define Trusted-Firmware-A
/espressobin-v7-2gb
81 NAME
:=Marvell ESPRESSObin V7
(2GB
)
82 DEPENDS
:=+u-boot-espressobin
83 BUILD_DEVICES
:=globalscale_espressobin-v7
86 CLOCKSPRESET
:=CPU_1000_DDR_800
90 define Trusted-Firmware-A
/udpu
93 BUILD_DEVICES
:=methode_udpu
96 CLOCKSPRESET
:=CPU_1000_DDR_800
100 define Trusted-Firmware-A
/edpu
102 DEPENDS
:=+u-boot-eDPU
103 BUILD_DEVICES
:=methode_edpu
106 CLOCKSPRESET
:=CPU_1000_DDR_800
113 espressobin-v3-v5-1gb-1cs \
114 espressobin-v3-v5-1gb-2cs \
115 espressobin-v3-v5-2gb \
122 CROSS_CM3
=$(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
123 BL33
=$(STAGING_DIR_IMAGE
)/$(UBOOT
)-u-boot.bin \
124 MV_DDR_PATH
=$(BUILD_DIR
)/$(MV_DDR_NAME
) \
125 WTP
=$(BUILD_DIR
)/$(A3700_UTILS_NAME
) \
126 WTMI_IMG
=$(BUILD_DIR
)/$(MOX_BB_NAME
)/wtmi_app.bin \
127 CRYPTOPP_PATH
=$(BUILD_DIR
)/$(CRYPTOPP_NAME
) \
128 HOST_LDFLAGS
="$(HOST_LDFLAGS)" \
129 HOST_CPPFLAGS
="$(HOST_CPPFLAGS)" \
132 DDR_TOPOLOGY
=$(DDR_TOPOLOGY
) \
133 CLOCKSPRESET
=$(CLOCKSPRESET
) \
134 A3700_UTILS_COMMIT_ID
=$(A3700_UTILS_RELEASE
) \
135 MV_DDR_COMMIT_ID
=$(MV_DDR_RELEASE
) \
140 A3700_UTILS_NAME
:=a3700-utils
141 A3700_UTILS_RELEASE
:=a3e1c67
142 A3700_UTILS_SOURCE
=$(A3700_UTILS_NAME
)-$(A3700_UTILS_RELEASE
).
tar.bz2
144 define Download
/a3700-utils
145 FILE
:=$(A3700_UTILS_SOURCE
)
147 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/A3700-utils-marvell.git
148 VERSION
:=a3e1c67bb378e1d8a938e1b826cb602af83628d2
149 MIRROR_HASH
:=0e6b8ef6423dcb52a5e282669a8aeebc6eea2d45a7c3a2c9a2fc7a749b3275a7
150 SUBDIR
:=$(A3700_UTILS_NAME
)
153 CRYPTOPP_NAME
:=cryptopp
154 CRYPTOPP_RELEASE
:=4d0cad5
155 CRYPTOPP_SOURCE
=$(CRYPTOPP_NAME
)-$(CRYPTOPP_RELEASE
).
tar.bz2
157 define Download
/cryptopp
158 FILE
:=$(CRYPTOPP_SOURCE
)
160 URL
:=https
://github.com
/weidai11
/cryptopp.git
161 VERSION
:=4d0cad5401d1a2c998b314bc89288c9620d3021d
162 MIRROR_HASH
:=74ec9e48ee04b9f2d9a1d8c4f2392ed0ab52780d7af0f70405d7bbb23d1504fa
163 SUBDIR
:=$(CRYPTOPP_NAME
)
166 MV_DDR_NAME
:=mv-ddr-marvell
167 MV_DDR_RELEASE
:=541616b
168 MV_DDR_SOURCE
:=$(MV_DDR_NAME
)-$(MV_DDR_RELEASE
).
tar.bz2
170 define Download
/mv-ddr-marvell
171 FILE
:=$(MV_DDR_SOURCE
)
173 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/mv-ddr-marvell.git
174 VERSION
:=541616bc5d25a0167c9901546255c55973e2c0f0
175 MIRROR_HASH
:=9e86a986c7400ed1a72165a88150b6c494ebd87303b16314b43e5785e3f13068
176 SUBDIR
:=$(MV_DDR_NAME
)
179 MOX_BB_NAME
:=mox-boot-builder
180 MOX_BB_RELEASE
:=604f8f51
181 MOX_BB_SOURCE
:=$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
).
tar.bz2
183 define Download
/mox-boot-builder
184 FILE
:=$(MOX_BB_SOURCE
)
187 URL
:=https
://gitlab.nic.cz
/turris
/mox-boot-builder.git
188 VERSION
:=604f8f51d97b4e59fa6d1e579101daa194d6ed2d
189 MIRROR_HASH
:=b09337a7dde140f57e40133b6e7b7e1eb338e7cea9b15a3af6874824462f15f7
190 SUBDIR
:=$(MOX_BB_NAME
)
193 CM3_GCC_NAME
:=gcc-arm
194 CM3_GCC_RELEASE
:=11.2-2022.02
195 CM3_GCC_VERSION
:=$(HOST_ARCH
)-arm-none-eabi
196 CM3_GCC_SOURCE
=$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
).
tar.xz
198 define Download
/cm3-gcc
199 FILE
:=$(CM3_GCC_SOURCE
)
200 URL
:=https
://developer.arm.com
/-/media
/Files
/downloads
/gnu
/$(CM3_GCC_RELEASE
)/binrel
201 ifeq ($(HOST_ARCH
),aarch64
)
202 HASH
:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f
204 HASH
:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326
210 $(BUILD_DIR
)/$(CRYPTOPP_NAME
) \
211 $(BUILD_DIR
)/$(A3700_UTILS_NAME
) \
212 $(BUILD_DIR
)/$(MV_DDR_NAME
) \
213 $(BUILD_DIR
)/$(MOX_BB_NAME
) \
214 $(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)
219 $(eval
$(call Download
,a3700-utils
))
220 $(eval
$(call Download
,mv-ddr-marvell
))
221 $(eval
$(call Download
,mox-boot-builder
))
222 $(eval
$(call Download
,cryptopp
))
223 $(eval
$(call Download
,cm3-gcc
))
225 $(call Build
/Prepare
/Default
,)
227 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CRYPTOPP_SOURCE
)
228 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(A3700_UTILS_SOURCE
)
229 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(A3700_UTILS_NAME
),.
/patches-a3700-utils
)
230 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MV_DDR_SOURCE
)
231 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MV_DDR_NAME
),.
/patches-mv-ddr-marvell
)
232 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MOX_BB_SOURCE
)
233 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MOX_BB_NAME
),.
/patches-mox-boot-builder
)
234 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CM3_GCC_SOURCE
)
239 CROSS_CM3
=$(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
240 WTMI_VERSION
=$(MOX_BB_RELEASE
) \
241 CRYPTOPP_PATH
=$PWD/cryptopp
/ \
242 -C
$(BUILD_DIR
)/$(MOX_BB_NAME
) \
244 $(call Build
/Compile
/Default
)
247 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))