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
11 PKG_RELEASE
:=$(AUTORELEASE
)
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
103 espressobin-v3-v5-1gb-1cs \
104 espressobin-v3-v5-1gb-2cs \
105 espressobin-v3-v5-2gb \
111 CROSS_CM3
=$(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
112 BL33
=$(STAGING_DIR_IMAGE
)/$(UBOOT
)-u-boot.bin \
113 MV_DDR_PATH
=$(BUILD_DIR
)/$(MV_DDR_NAME
) \
114 WTP
=$(BUILD_DIR
)/$(A3700_UTILS_NAME
) \
115 WTMI_IMG
=$(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
)/wtmi_app.bin \
116 CRYPTOPP_PATH
=$(BUILD_DIR
)/$(CRYPTOPP_NAME
) \
119 DDR_TOPOLOGY
=$(DDR_TOPOLOGY
) \
120 CLOCKSPRESET
=$(CLOCKSPRESET
) \
121 A3700_UTILS_COMMIT_ID
=$(A3700_UTILS_RELEASE
) \
122 MV_DDR_COMMIT_ID
=$(MV_DDR_RELEASE
) \
127 A3700_UTILS_NAME
:=a3700-utils
128 A3700_UTILS_RELEASE
:=1d977157
129 A3700_UTILS_SOURCE
=$(A3700_UTILS_NAME
)-$(A3700_UTILS_RELEASE
).
tar.bz2
131 define Download
/a3700-utils
132 FILE
:=$(A3700_UTILS_SOURCE
)
134 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/A3700-utils-marvell.git
135 VERSION
:=1d977157e37151b272f88f2406a245c833fb2d8c
136 MIRROR_HASH
:=322821ec8c04afea260254e927c59cd1ec0bd84e7ec6507cc1f155f18afb8eb9
137 SUBDIR
:=$(A3700_UTILS_NAME
)
140 CRYPTOPP_NAME
:=cryptopp
141 CRYPTOPP_RELEASE
:=f210224
142 CRYPTOPP_SOURCE
=$(CRYPTOPP_NAME
)-$(CRYPTOPP_RELEASE
).
tar.bz2
144 define Download
/cryptopp
145 FILE
:=$(CRYPTOPP_SOURCE
)
147 URL
:=https
://github.com
/weidai11
/cryptopp.git
148 VERSION
:=f2102243e6fdd48c0b2a393a0993cca228f20573
149 MIRROR_HASH
:=74ec9e48ee04b9f2d9a1d8c4f2392ed0ab52780d7af0f70405d7bbb23d1504fa
150 SUBDIR
:=$(CRYPTOPP_NAME
)
153 MV_DDR_NAME
:=mv-ddr-marvell
154 MV_DDR_RELEASE
:=d5acc10c
155 MV_DDR_SOURCE
:=$(MV_DDR_NAME
)-$(MV_DDR_RELEASE
).
tar.bz2
157 define Download
/mv-ddr-marvell
158 FILE
:=$(MV_DDR_SOURCE
)
160 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/mv-ddr-marvell.git
161 VERSION
:=d5acc10c287e40cc2feeb28710b92e45c93c702c
162 MIRROR_HASH
:=c149ab737935b5fb822f48da8e2d7fba4388f48e645f9f6da857bee20f0333ea
163 SUBDIR
:=$(MV_DDR_NAME
)
166 MOX_BB_NAME
:=mox-boot-builder
167 MOX_BB_RELEASE
:=v2022.06
.11
168 MOX_BB_SOURCE
:=$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
).
tar.bz2
170 define Download
/mox-boot-builder
171 FILE
:=$(MOX_BB_SOURCE
)
172 URL
:=https
://gitlab.nic.cz
/turris
/mox-boot-builder
/-/archive
/$(MOX_BB_RELEASE
)
173 HASH
:=75e7661c38f4f5e6d8910dd789d6d9ffd8652455548b68c98e5bf45eaab5b6eb
176 CM3_GCC_NAME
:=gcc-arm
177 CM3_GCC_RELEASE
:=11.2-2022.02
178 CM3_GCC_VERSION
:=$(HOST_ARCH
)-arm-none-eabi
179 CM3_GCC_SOURCE
=$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
).
tar.xz
181 define Download
/cm3-gcc
182 FILE
:=$(CM3_GCC_SOURCE
)
183 URL
:=https
://developer.arm.com
/-/media
/Files
/downloads
/gnu
/$(CM3_GCC_RELEASE
)/binrel
184 ifeq ($(HOST_ARCH
),aarch64
)
185 HASH
:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f
187 HASH
:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326
193 $(BUILD_DIR
)/$(CRYPTOPP_NAME
) \
194 $(BUILD_DIR
)/$(A3700_UTILS_NAME
) \
195 $(BUILD_DIR
)/$(MV_DDR_NAME
) \
196 $(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
197 $(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)
202 $(eval
$(call Download
,a3700-utils
))
203 $(eval
$(call Download
,mv-ddr-marvell
))
204 $(eval
$(call Download
,mox-boot-builder
))
205 $(eval
$(call Download
,cryptopp
))
206 $(eval
$(call Download
,cm3-gcc
))
208 $(call Build
/Prepare
/Default
,)
210 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CRYPTOPP_SOURCE
)
211 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(A3700_UTILS_SOURCE
)
212 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(A3700_UTILS_NAME
),.
/patches-a3700-utils
)
213 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MV_DDR_SOURCE
)
214 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MV_DDR_NAME
),.
/patches-mv-ddr-marvell
)
215 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(MOX_BB_SOURCE
)
216 $(call PatchDir
/Default
,$(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
),.
/patches-mox-boot-builder
)
217 $(TAR
) -C
$(BUILD_DIR
) -xf
$(DL_DIR
)/$(CM3_GCC_SOURCE
)
222 CROSS_CM3
=$(BUILD_DIR
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
223 WTMI_VERSION
=$(MOX_BB_RELEASE
) \
224 CRYPTOPP_PATH
=$PWD/cryptopp
/ \
225 -C
$(BUILD_DIR
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
227 $(call Build
/Compile
/Default
)
230 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))