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
)/trusted-firmware-a.mk
17 include $(INCLUDE_DIR
)/package.mk
19 define Trusted-Firmware-A
/Default
21 BUILD_SUBTARGET
:=cortexa53
22 TFA_IMAGE
:=flash-image.bin uart-images.tgz.bin
29 define Trusted-Firmware-A
/espressobin-512mb
30 NAME
:=Marvell ESPRESSObin
(512MB
)
31 DEPENDS
:=+u-boot-espressobin
32 BUILD_DEVICES
:=globalscale_espressobin
35 CLOCKSPRESET
:=CPU_1000_DDR_800
39 define Trusted-Firmware-A
/espressobin-v3-v5-1gb-1cs
40 NAME
:=Marvell ESPRESSObin V3-V5
(1GB
1CS
)
41 DEPENDS
:=+u-boot-espressobin
42 BUILD_DEVICES
:=globalscale_espressobin
45 CLOCKSPRESET
:=CPU_1000_DDR_800
49 define Trusted-Firmware-A
/espressobin-v3-v5-1gb-2cs
50 NAME
:=Marvell ESPRESSObin V3-V5
(1GB
, 2CS
)
51 DEPENDS
:=+u-boot-espressobin
52 BUILD_DEVICES
:=globalscale_espressobin
55 CLOCKSPRESET
:=CPU_1000_DDR_800
59 define Trusted-Firmware-A
/espressobin-v3-v5-2gb
60 NAME
:=Marvell ESPRESSObin V3-V5
(2GB
)
61 DEPENDS
:=+u-boot-espressobin
62 BUILD_DEVICES
:=globalscale_espressobin
65 CLOCKSPRESET
:=CPU_1000_DDR_800
69 define Trusted-Firmware-A
/espressobin-v7-1gb
70 NAME
:=Marvell ESPRESSObin V7
(1GB
)
71 DEPENDS
:=+u-boot-espressobin
72 BUILD_DEVICES
:=globalscale_espressobin-v7
75 CLOCKSPRESET
:=CPU_1000_DDR_800
79 define Trusted-Firmware-A
/espressobin-v7-2gb
80 NAME
:=Marvell ESPRESSObin V7
(2GB
)
81 DEPENDS
:=+u-boot-espressobin
82 BUILD_DEVICES
:=globalscale_espressobin-v7
85 CLOCKSPRESET
:=CPU_1000_DDR_800
89 define Trusted-Firmware-A
/udpu
92 BUILD_DEVICES
:=methode_udpu
95 CLOCKSPRESET
:=CPU_1000_DDR_800
102 espressobin-v3-v5-1gb-1cs \
103 espressobin-v3-v5-1gb-2cs \
104 espressobin-v3-v5-2gb \
110 CROSS_CM3
=$(STAGING_DIR_IMAGE
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)/bin
/arm-none-eabi- \
111 BL33
=$(STAGING_DIR_IMAGE
)/$(UBOOT
)-u-boot.bin \
112 MV_DDR_PATH
=$(STAGING_DIR_IMAGE
)/$(MV_DDR_NAME
) \
113 WTP
=$(STAGING_DIR_IMAGE
)/$(A3700_UTILS_NAME
) \
114 WTMI_IMG
=$(STAGING_DIR_IMAGE
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
)/wtmi_app.bin \
115 CRYPTOPP_PATH
=$(STAGING_DIR_IMAGE
)/$(CRYPTOPP_NAME
) \
118 DDR_TOPOLOGY
=$(DDR_TOPOLOGY
) \
119 CLOCKSPRESET
=$(CLOCKSPRESET
) \
120 A3700_UTILS_COMMIT_ID
=$(A3700_UTILS_RELEASE
) \
121 MV_DDR_COMMIT_ID
=$(MV_DDR_RELEASE
) \
126 A3700_UTILS_NAME
:=a3700-utils
127 A3700_UTILS_RELEASE
:=1d977157
128 A3700_UTILS_SOURCE
=$(A3700_UTILS_NAME
)-$(A3700_UTILS_RELEASE
).
tar.bz2
130 define Download
/a3700-utils
131 FILE
:=$(A3700_UTILS_SOURCE
)
133 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/A3700-utils-marvell.git
134 VERSION
:=1d977157e37151b272f88f2406a245c833fb2d8c
135 MIRROR_HASH
:=322821ec8c04afea260254e927c59cd1ec0bd84e7ec6507cc1f155f18afb8eb9
136 SUBDIR
:=$(A3700_UTILS_NAME
)
139 CRYPTOPP_NAME
:=cryptopp
140 CRYPTOPP_RELEASE
:=f210224
141 CRYPTOPP_SOURCE
=$(CRYPTOPP_NAME
)-$(CRYPTOPP_RELEASE
).
tar.bz2
143 define Download
/cryptopp
144 FILE
:=$(CRYPTOPP_SOURCE
)
146 URL
:=https
://github.com
/weidai11
/cryptopp.git
147 VERSION
:=f2102243e6fdd48c0b2a393a0993cca228f20573
148 MIRROR_HASH
:=74ec9e48ee04b9f2d9a1d8c4f2392ed0ab52780d7af0f70405d7bbb23d1504fa
149 SUBDIR
:=$(CRYPTOPP_NAME
)
152 MV_DDR_NAME
:=mv-ddr-marvell
153 MV_DDR_RELEASE
:=d5acc10c
154 MV_DDR_SOURCE
:=$(MV_DDR_NAME
)-$(MV_DDR_RELEASE
).
tar.bz2
156 define Download
/mv-ddr-marvell
157 FILE
:=$(MV_DDR_SOURCE
)
159 URL
:=https
://github.com
/MarvellEmbeddedProcessors
/mv-ddr-marvell.git
160 VERSION
:=d5acc10c287e40cc2feeb28710b92e45c93c702c
161 MIRROR_HASH
:=c149ab737935b5fb822f48da8e2d7fba4388f48e645f9f6da857bee20f0333ea
162 SUBDIR
:=$(MV_DDR_NAME
)
165 MOX_BB_NAME
:=mox-boot-builder
166 MOX_BB_RELEASE
:=v2022.06
.11
167 MOX_BB_SOURCE
:=$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
).
tar.bz2
169 define Download
/mox-boot-builder
170 FILE
:=$(MOX_BB_SOURCE
)
171 URL
:=https
://gitlab.nic.cz
/turris
/mox-boot-builder
/-/archive
/$(MOX_BB_RELEASE
)
172 HASH
:=75e7661c38f4f5e6d8910dd789d6d9ffd8652455548b68c98e5bf45eaab5b6eb
175 CM3_GCC_NAME
:=gcc-arm
176 CM3_GCC_RELEASE
:=10.2-2020.11
177 CM3_GCC_VERSION
:=$(HOST_ARCH
)-arm-none-eabi
178 CM3_GCC_SOURCE
=$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
).
tar.xz
180 define Download
/cm3-gcc
181 FILE
:=$(CM3_GCC_SOURCE
)
182 URL
:=https
://developer.arm.com
/-/media
/Files
/downloads
/gnu-a
/$(CM3_GCC_RELEASE
)/binrel
183 ifeq ($(HOST_ARCH
),aarch64
)
184 HASH
:=1a42eecafa03dc6f32b8ae49ffcd15114dc818efbd72292fa6bab58233940bb9
186 HASH
:=bf7ee185936d22d787b80c8da573f72ead5675695331fb8b590f0133ef1f6bb9
192 $(STAGING_DIR_IMAGE
)/$(CRYPTOPP_NAME
) \
193 $(STAGING_DIR_IMAGE
)/$(A3700_UTILS_NAME
) \
194 $(STAGING_DIR_IMAGE
)/$(MV_DDR_NAME
) \
195 $(STAGING_DIR_IMAGE
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
196 $(STAGING_DIR_IMAGE
)/$(CM3_GCC_NAME
)-$(CM3_GCC_RELEASE
)-$(CM3_GCC_VERSION
)
201 $(eval
$(call Download
,a3700-utils
))
202 $(eval
$(call Download
,mv-ddr-marvell
))
203 $(eval
$(call Download
,mox-boot-builder
))
204 $(eval
$(call Download
,cryptopp
))
205 $(eval
$(call Download
,cm3-gcc
))
207 $(call Build
/Prepare
/Default
,)
209 mkdir
-p
$(STAGING_DIR_IMAGE
)
210 $(TAR
) -C
$(STAGING_DIR_IMAGE
) -xf
$(DL_DIR
)/$(CRYPTOPP_SOURCE
)
211 $(TAR
) -C
$(STAGING_DIR_IMAGE
) -xf
$(DL_DIR
)/$(A3700_UTILS_SOURCE
)
212 $(call PatchDir
/Default
,$(STAGING_DIR_IMAGE
)/$(A3700_UTILS_NAME
),.
/patches-a3700-utils
)
213 $(TAR
) -C
$(STAGING_DIR_IMAGE
) -xf
$(DL_DIR
)/$(MV_DDR_SOURCE
)
214 $(call PatchDir
/Default
,$(STAGING_DIR_IMAGE
)/$(MV_DDR_NAME
),.
/patches-mv-ddr-marvell
)
215 $(TAR
) -C
$(STAGING_DIR_IMAGE
) -xf
$(DL_DIR
)/$(MOX_BB_SOURCE
)
216 $(call PatchDir
/Default
,$(STAGING_DIR_IMAGE
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
),.
/patches-mox-boot-builder
)
217 $(TAR
) -C
$(STAGING_DIR_IMAGE
) -xf
$(DL_DIR
)/$(CM3_GCC_SOURCE
)
222 CROSS_CM3
=$(STAGING_DIR_IMAGE
)/$(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
$(STAGING_DIR_IMAGE
)/$(MOX_BB_NAME
)-$(MOX_BB_RELEASE
) \
227 $(call Build
/Compile
/Default
)
230 $(eval
$(call BuildPackage
/Trusted-Firmware-A
))