From f8e79562f95d07bd9935c9f176334313de6b6a34 Mon Sep 17 00:00:00 2001 From: Arunachalam Ganapathy Date: Tue, 12 Jan 2021 15:20:49 +0000 Subject: [PATCH] arm-bsp/tc0: Enable spmd and SEL2 SPMC with optee as SEL1 SP - Set SPD to spmd with SEL2 SPMC. Set optee as SP - Assign SP layout and spmc manifest file that corresponds to optee - Move TF-A version from 2.3 to 2.4 Signed-off-by: Arunachalam Ganapathy Change-Id: I3da3bf7f95ba42716b731f92e2cdfb928b1ab77f Signed-off-by: Jon Mason --- meta-arm-bsp/conf/machine/tc0.conf | 3 +-- .../trusted-firmware-a-tc0.inc | 19 +++++++++++++------ .../trusted-firmware-a_2.3.bbappend | 1 - .../trusted-firmware-a_2.4.bbappend | 1 + 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/meta-arm-bsp/conf/machine/tc0.conf b/meta-arm-bsp/conf/machine/tc0.conf index 6c366da6..eda33241 100644 --- a/meta-arm-bsp/conf/machine/tc0.conf +++ b/meta-arm-bsp/conf/machine/tc0.conf @@ -26,9 +26,8 @@ UBOOT_SIGN_KEYNAME = "dev_key" UBOOT_SIGN_KEYDIR = "${DEPLOY_DIR_IMAGE}/keys" FIT_GENERATE_KEYS = "1" -# Trusted firmware A v2.3 PREFERRED_PROVIDER_virtual/trusted-firmware-a ?= "trusted-firmware-a" -PREFERRED_VERSION_trusted-firmware-a ?= "2.3%" +PREFERRED_VERSION_trusted-firmware-a ?= "2.4%" PREFERRED_PROVIDER_virtual/kernel ?= "linux-arm64-ack" PREFERRED_VERSION_linux-arm64-ack ?= "5.4" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc0.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc0.inc index 8d989376..bb12ba41 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc0.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc0.inc @@ -1,10 +1,8 @@ -# TCO specific TFA configuration +# TC0 specific TFA configuration -# Intermediate SHA with 2.3 baseline version -SRCREV_tfa = "16796a25fefc4ecf780211bf554d3b8dc5436fa4" - -# This is incorporated into the SRCREV above -SRC_URI_remove = "file://0001-fdts-a5ds-Fix-for-the-system-timer-issue.patch" +# Intermediate SHA with 2.4 baseline version, required for OP-TEE SP +SRCREV_tfa = "b153ce0391012e9228b807815a65fa0dc514cf77" +PV = "2.4+git${SRCPV}" DEPENDS += "scp-firmware" @@ -17,6 +15,15 @@ TFA_INSTALL_TARGET = "bl1 fip" TFA_MBEDTLS = "1" TFA_DEBUG = "1" +TFA_SPD = "spmd" +TFA_SPMD_SPM_AT_SEL2 = "1" + +# Set optee as SP. Set spmc manifest and sp layout file to optee +DEPENDS += "optee-os" + +TFA_SP_LAYOUT_FILE = "${RECIPE_SYSROOT}/lib/firmware/sp_layout.json" +TFA_ARM_SPMC_MANIFEST_DTS = "plat/arm/board/tc0/fdts/tc0_spmc_optee_sp_manifest.dts" + EXTRA_OEMAKE += "SCP_BL2=${RECIPE_SYSROOT}/firmware/scp_ramfw.bin" EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.3.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.3.bbappend index f1908f88..0535278a 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.3.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.3.bbappend @@ -1,7 +1,6 @@ # Machine specific TFAs MACHINE_TFA_REQUIRE ?= "" -MACHINE_TFA_REQUIRE_tc0 = "trusted-firmware-a-tc0.inc" MACHINE_TFA_REQUIRE_corstone500 = "trusted-firmware-a-corstone500.inc" MACHINE_TFA_REQUIRE_juno = "trusted-firmware-a-juno.inc" MACHINE_TFA_REQUIRE_corstone700 = "trusted-firmware-a-corstone700.inc" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.4.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.4.bbappend index 944dd7a0..8087f39d 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.4.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.4.bbappend @@ -4,5 +4,6 @@ MACHINE_TFA_REQUIRE ?= "" MACHINE_TFA_REQUIRE_fvp-base = "trusted-firmware-a-fvp.inc" MACHINE_TFA_REQUIRE_fvp-base-arm32 = "trusted-firmware-a-fvp-arm32.inc" MACHINE_TFA_REQUIRE_n1sdp = "trusted-firmware-a-n1sdp.inc" +MACHINE_TFA_REQUIRE_tc0 = "trusted-firmware-a-tc0.inc" require ${MACHINE_TFA_REQUIRE}