1ac13d5f3SPatrick Williams# FVP specific TFA parameters
2ac13d5f3SPatrick Williams
3ac13d5f3SPatrick Williams#
4ac13d5f3SPatrick Williams# Armv8-A Base Platform FVP
5ac13d5f3SPatrick Williams#
6ac13d5f3SPatrick Williams
7*edff4923SAndrew GeisslerFILESEXTRAPATHS:prepend := "${THISDIR}/files/:${THISDIR}/files/fvp-base"
8ac13d5f3SPatrick Williams
9*edff4923SAndrew GeisslerSRC_URI:append = " \
10*edff4923SAndrew Geissler    file://optee_spmc_maifest.dts;subdir=git/plat/arm/board/fvp/fdts \
11*edff4923SAndrew Geissler"
12*edff4923SAndrew Geissler
13*edff4923SAndrew Geissler# OP-TEE SPMC related configuration
14*edff4923SAndrew GeisslerSPMC_IS_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', '0' \
15*edff4923SAndrew Geissler                 if d.getVar('SEL2_SPMC') == '1' else '1', '0', d)}"
16*edff4923SAndrew Geissler# Configure the SPMC manifest file.
17*edff4923SAndrew GeisslerTFA_ARM_SPMC_MANIFEST_DTS = "${@oe.utils.conditional('SPMC_IS_OPTEE', '1', \
18*edff4923SAndrew Geissler                '${S}/plat/arm/board/fvp/fdts/optee_spmc_maifest.dts', '', d)}"
19*edff4923SAndrew GeisslerEXTRA_OEMAKE += "${@bb.utils.contains('MACHINE_FEATURES','arm-ffa', \
20*edff4923SAndrew Geissler                'ARM_SPMC_MANIFEST_DTS=${TFA_ARM_SPMC_MANIFEST_DTS}' \
21*edff4923SAndrew Geissler                    if d.getVar('TFA_ARM_SPMC_MANIFEST_DTS') else '', '', d)}"
22*edff4923SAndrew Geissler
23*edff4923SAndrew Geissler# Set OP-TEE SPMC specific TF-A config settings
24*edff4923SAndrew GeisslerTFA_SPMD_SPM_AT_SEL2 := '0'
25*edff4923SAndrew GeisslerTFA_SPD := "${@oe.utils.conditional('SPMC_IS_OPTEE', '1', 'spmd', \
26*edff4923SAndrew Geissler            d.getVar('TFA_SPD'), d)}"
27*edff4923SAndrew GeisslerDEPENDS += " ${@oe.utils.conditional('SPMC_IS_OPTEE', '1', 'optee-os', '', d)}"
28*edff4923SAndrew Geissler
29*edff4923SAndrew Geissler# Configure measured boot if the attestation SP is deployed.
30*edff4923SAndrew GeisslerTFA_MB_FLAGS += " \
31*edff4923SAndrew Geissler    ARM_ROTPK_LOCATION=devel_rsa \
32*edff4923SAndrew Geissler    EVENT_LOG_LEVEL=20 \
33*edff4923SAndrew Geissler    GENERATE_COT=1 \
34*edff4923SAndrew Geissler    MBOOT_EL_HASH_ALG=sha256 \
35*edff4923SAndrew Geissler    MEASURED_BOOT=1 \
36*edff4923SAndrew Geissler    ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
37*edff4923SAndrew Geissler    TRUSTED_BOARD_BOOT=1 \
38*edff4923SAndrew Geissler"
39*edff4923SAndrew GeisslerEXTRA_OEMAKE += "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation',\
40*edff4923SAndrew Geissler                 '${TFA_MB_FLAGS}','', d)}"
41*edff4923SAndrew Geissler
42*edff4923SAndrew Geissler# Add OP-TEE as BL32.
43*edff4923SAndrew GeisslerBL32 = "${@oe.utils.conditional('SPMC_IS_OPTEE', '1',\
44*edff4923SAndrew Geissler        '${RECIPE_SYSROOT}/${nonarch_base_libdir}/firmware/tee-pager_v2.bin',\
45*edff4923SAndrew Geissler        '', d)}"
46*edff4923SAndrew GeisslerEXTRA_OEMAKE += "${@oe.utils.conditional('SPMC_IS_OPTEE', '1', \
47*edff4923SAndrew Geissler                ' BL32=${BL32}', '', d)}"
48*edff4923SAndrew Geissler
49*edff4923SAndrew Geissler# Generic configuration
50ac13d5f3SPatrick WilliamsCOMPATIBLE_MACHINE = "fvp-base"
51ac13d5f3SPatrick WilliamsTFA_PLATFORM = "fvp"
52*edff4923SAndrew Geissler# Disable debug build if measured boot is enabled.
53*edff4923SAndrew GeisslerTFA_DEBUG := "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', '0',\
54*edff4923SAndrew Geissler              d.getVar('TFA_DEBUG'), d)}"
55*edff4923SAndrew Geissler# Add mbedtls if measured boot is enabled
56*edff4923SAndrew GeisslerTFA_MBEDTLS := "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation',\
57*edff4923SAndrew Geissler               '1', d.getVar('TFA_MBEDTLS'), d)}"
58ac13d5f3SPatrick WilliamsTFA_UBOOT ?= "1"
59ac13d5f3SPatrick WilliamsTFA_BUILD_TARGET = "bl1 bl2 bl31 dtbs fip"
60ac13d5f3SPatrick Williams
61*edff4923SAndrew GeisslerEXTRA_OEMAKE += "FVP_DT_PREFIX=fvp-base-gicv3-psci-1t FVP_USE_GIC_DRIVER=FVP_GICV3"
62ac13d5f3SPatrick Williams
63ac13d5f3SPatrick Williams# Our fvp-base machine explicitly has v8.4 cores
64ac13d5f3SPatrick WilliamsEXTRA_OEMAKE += "ARM_ARCH_MAJOR=8 ARM_ARCH_MINOR=4"
65