1# Corstone1000 64-bit machines specific TFA support
2
3COMPATIBLE_MACHINE = "(corstone1000)"
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/files/corstone1000:"
6
7SRC_URI:append = " \
8	file://0001-Fix-FF-A-version-in-SPMC-manifest.patch \
9	"
10
11TFA_DEBUG = "1"
12TFA_UBOOT ?= "1"
13TFA_MBEDTLS = "1"
14TFA_BUILD_TARGET = "bl2 bl31 fip"
15
16# Enabling Secure-EL1 Payload Dispatcher (SPD)
17TFA_SPD = "spmd"
18# Cortex-A35 supports Armv8.0-A (no S-EL2 execution state).
19# So, the SPD SPMC component should run at the S-EL1 execution state
20TFA_SPMD_SPM_AT_SEL2 = "0"
21
22# BL2 loads BL32 (optee). So, optee needs to be built first:
23DEPENDS += "optee-os"
24
25EXTRA_OEMAKE:append = " \
26                        ARCH=aarch64 \
27                        TARGET_PLATFORM=${TFA_TARGET_PLATFORM} \
28                        ENABLE_STACK_PROTECTOR=strong \
29                        ENABLE_PIE=1 \
30                        BL2_AT_EL3=1 \
31                        CREATE_KEYS=1 \
32                        GENERATE_COT=1 \
33                        TRUSTED_BOARD_BOOT=1 \
34                        COT=tbbr \
35                        ARM_ROTPK_LOCATION=devel_rsa  \
36                        ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
37                        BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
38                        LOG_LEVEL=50 \
39                        "
40
41# trigger TF-M build so TF-A binaries get signed
42do_deploy[depends]+= "virtual/trusted-firmware-m:do_prepare_recipe_sysroot"
43