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
)-$(MOX_BB_RELEASE
)/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
:=1d977157
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
:=1d977157e37151b272f88f2406a245c833fb2d8c
149 MIRROR_HASH
:=322821ec8c04afea260254e927c59cd1ec0bd84e7ec6507cc1f155f18afb8eb9
150 SUBDIR
:=$(A3700_UTILS_NAME
)
153 CRYPTOPP_NAME
:=cryptopp
154 CRYPTOPP_RELEASE
:=f210224
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
:=f2102243e6fdd48c0b2a393a0993cca228f20573
162 MIRROR_HASH
:=74ec9e48ee04b9f2d9a1d8c4f2392ed0ab52780d7af0f70405d7bbb23d1504fa
163 SUBDIR
:=$(CRYPTOPP_NAME
)
166 MV_DDR_NAME
:=mv-ddr-marvell
167 MV_DDR_RELEASE
:=d5acc10c
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
:=d5acc10c287e40cc2feeb28710b92e45c93c702c
175 MIRROR_HASH
:=c149ab737935b5fb822f48da8e2d7fba4388f48e645f9f6da857bee20f0333ea
176 SUBDIR
:=$(MV_DDR_NAME
)
179 MOX_BB_NAME
:=mox-boot-builder
180 MOX_BB_RELEASE
:=v2022.06
.11
181 MOX_BB_SOURCE
:=$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
).
tar.bz2
183 define Download
/mox-boot-builder
184 FILE
:=$(MOX_BB_SOURCE
)
185 URL
:=https
://gitlab.nic.cz
/turris
/mox-boot-builder
/-/archive
/$(MOX_BB_RELEASE
)
186 HASH
:=75e7661c38f4f5e6d8910dd789d6d9ffd8652455548b68c98e5bf45eaab5b6eb
189 CM3_GCC_NAME
:=gcc-arm
190 CM3_GCC_RELEASE
:=11.2-2022.02
191 CM3_GCC_VERSION
:=$(HOST_ARCH
)-arm-none-eabi
192 CM3_GCC_SOURCE
=$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
).
tar.xz
194 define Download
/cm3-gcc
195 FILE
:=$(CM3_GCC_SOURCE
)
196 URL
:=https
://developer.arm.com
/-/media
/Files
/downloads
/gnu
/$(CM3_GCC_RELEASE
)/binrel
197 ifeq ($(HOST_ARCH
),aarch64
)
198 HASH
:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f
200 HASH
:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326
206 $(BUILD_DIR
)/$(CRYPTOPP_NAME
) \
207 $(BUILD_DIR
)/$(A3700_UTILS_NAME
) \
208 $(BUILD_DIR
)/$(MV_DDR_NAME
) \
209 $(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
210 $(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)
215 $(eval
$(call Download
,a3700-utils
))
216 $(eval
$(call Download
,mv-ddr-marvell
))
217 $(eval
$(call Download
,mox-boot-builder
))
218 $(eval
$(call Download
,cryptopp
))
219 $(eval
$(call Download
,cm3-gcc
))
221 $(call Build
/Prepare
/Default
,)
223 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CRYPTOPP_SOURCE
)
224 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(A3700_UTILS_SOURCE
)
225 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(A3700_UTILS_NAME
),.
/patches-a3700-utils
)
226 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MV_DDR_SOURCE
)
227 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MV_DDR_NAME
),.
/patches-mv-ddr-marvell
)
228 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MOX_BB_SOURCE
)
229 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
),.
/patches-mox-boot-builder
)
230 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CM3_GCC_SOURCE
)
235 CROSS_CM3
=$(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
236 WTMI_VERSION
=$(MOX_BB_RELEASE
) \
237 CRYPTOPP_PATH
=$PWD/cryptopp
/ \
238 -C
$(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
240 $(call Build
/Compile
/Default
)
243 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))