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