blob: 06be28ee62156571b210c199a8bad9c7ec680b77 [file] [log] [blame]
Brad Bishopbec4ebc2022-08-03 09:55:16 -04001# Corstone1000 64-bit machines specific TFA support
2
3COMPATIBLE_MACHINE = "(corstone1000)"
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/files/corstone1000:"
Andrew Geissler80d41842023-09-11 08:36:15 -04006
7SRC_URI:append = " \
Brad Bishopbec4ebc2022-08-03 09:55:16 -04008 file://0001-Fix-FF-A-version-in-SPMC-manifest.patch \
Andrew Geissler80d41842023-09-11 08:36:15 -04009 file://0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch \
10 file://0003-psci-SMCCC_ARCH_FEATURES-discovery-through-PSCI_FEATURES.patch \
11 "
12
13#Sets TF-A version to 2.8.0
14SRCREV_tfa = "9881bb93a3bc0a3ea37e9f093e09ab4b360a9e48"
15PV = "2.8.0"
Patrick Williams520786c2023-06-25 16:20:36 -050016
Brad Bishopbec4ebc2022-08-03 09:55:16 -040017TFA_DEBUG = "1"
18TFA_UBOOT ?= "1"
19TFA_MBEDTLS = "1"
20TFA_BUILD_TARGET = "bl2 bl31 fip"
21
22# Enabling Secure-EL1 Payload Dispatcher (SPD)
23TFA_SPD = "spmd"
24# Cortex-A35 supports Armv8.0-A (no S-EL2 execution state).
25# So, the SPD SPMC component should run at the S-EL1 execution state
26TFA_SPMD_SPM_AT_SEL2 = "0"
27
28# BL2 loads BL32 (optee). So, optee needs to be built first:
29DEPENDS += "optee-os"
30
31EXTRA_OEMAKE:append = " \
32 ARCH=aarch64 \
33 TARGET_PLATFORM=${TFA_TARGET_PLATFORM} \
34 ENABLE_STACK_PROTECTOR=strong \
35 ENABLE_PIE=1 \
Andrew Geissler80d41842023-09-11 08:36:15 -040036 BL2_AT_EL3=1 \
Brad Bishopbec4ebc2022-08-03 09:55:16 -040037 CREATE_KEYS=1 \
38 GENERATE_COT=1 \
39 TRUSTED_BOARD_BOOT=1 \
Andrew Geissler2daf84b2023-03-31 09:57:23 -050040 ARM_GPT_SUPPORT=1 \
41 PSA_FWU_SUPPORT=1 \
42 NR_OF_IMAGES_IN_FW_BANK=4 \
Brad Bishopbec4ebc2022-08-03 09:55:16 -040043 COT=tbbr \
44 ARM_ROTPK_LOCATION=devel_rsa \
45 ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
46 BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
47 LOG_LEVEL=50 \
48 "