stm-st-stm32mp: optee-os: sync optee-os-stm32mp2 recipe with v4.0.0
This commit removes all outdated OPTEE-OS recipes and synchronizes the Digi custom .bbappend with the latest v4.0.0 from the ST BSP release, based on the openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for Yocto 5.0 (scarthgap). https://onedigi.atlassian.net/browse/DEL-9381 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
parent
8b0aada42d
commit
13a12520fe
|
|
@ -25,7 +25,6 @@ FIP_BL31_ENABLE = "1"
|
||||||
# optee-os
|
# optee-os
|
||||||
# =========================================================================
|
# =========================================================================
|
||||||
PREFERRED_PROVIDER_virtual/optee-os = "optee-os-stm32mp"
|
PREFERRED_PROVIDER_virtual/optee-os = "optee-os-stm32mp"
|
||||||
PREFERRED_VERSION_optee-os-stm32mp ?= "3.19%"
|
|
||||||
|
|
||||||
PREFERRED_VERSION_gcnano-driver-stm32mp ?= "6.4.15%"
|
PREFERRED_VERSION_gcnano-driver-stm32mp ?= "6.4.15%"
|
||||||
PREFERRED_VERSION_gcnano-userland-multi-binary-stm32mp ?= "6.4.15%"
|
PREFERRED_VERSION_gcnano-userland-multi-binary-stm32mp ?= "6.4.15%"
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,10 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=TEE Supplicant
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=root
|
|
||||||
EnvironmentFile=-/etc/default/tee-supplicant
|
|
||||||
ExecStart=/usr/sbin/tee-supplicant $OPTARGS
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=basic.target
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
SUMMARY = "OPTEE Client"
|
|
||||||
HOMEPAGE = "https://github.com/OP-TEE/optee_client"
|
|
||||||
|
|
||||||
LICENSE = "BSD-2-Clause"
|
|
||||||
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
|
|
||||||
|
|
||||||
inherit python3native systemd cmake
|
|
||||||
|
|
||||||
SRC_URI = "git://github.com/OP-TEE/optee_client.git;protocol=https;branch=master \
|
|
||||||
file://tee-supplicant.service \
|
|
||||||
"
|
|
||||||
|
|
||||||
SRCREV = "06db73b3f3fdb8d23eceaedbc46c49c0b45fd1e2"
|
|
||||||
|
|
||||||
PV = "3.16.0+git${SRCPV}"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
|
|
||||||
|
|
||||||
EXTRA_OECMAKE = " \
|
|
||||||
-DCFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee' \
|
|
||||||
-DCFG_WERROR=OFF \
|
|
||||||
-DCFG_TEE_CLIENT_LOG_LEVEL=2 \
|
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
|
||||||
"
|
|
||||||
|
|
||||||
# If TF file based encryption is enabled, move the TEE_FS_PARENT_PATH out of the rootfs
|
|
||||||
EXTRA_OECMAKE += "${@oe.utils.vartrue('TRUSTFENCE_FILE_BASED_ENCRYPT', '-DCFG_TEE_FS_PARENT_PATH=/mnt/data/tee', '', d)}"
|
|
||||||
|
|
||||||
do_install:append() {
|
|
||||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
|
||||||
install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
FILES:${PN} += "${systemd_system_unitdir}"
|
|
||||||
|
|
@ -1,172 +0,0 @@
|
||||||
FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
|
|
||||||
|
|
||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
||||||
|
|
||||||
PROVIDES += "virtual/optee-os"
|
|
||||||
RPROVIDES:${PN} += "virtual/optee-os virtual/systemd-bootconf"
|
|
||||||
|
|
||||||
CVE_PRODUCT = "op-tee:op-tee_os"
|
|
||||||
|
|
||||||
#############################################################
|
|
||||||
#inherit external-dt scp-firmware
|
|
||||||
|
|
||||||
# Enable use of scp-firmware shared folder
|
|
||||||
STAGING_SCPFW_DIR = "${TMPDIR}/work-shared/${MACHINE}/scp-firmware"
|
|
||||||
|
|
||||||
do_compile[depends] += "scp-firmware:do_configure"
|
|
||||||
|
|
||||||
|
|
||||||
STAGING_EXTDT_DIR = "${TMPDIR}/work-shared/${MACHINE}/external-dt"
|
|
||||||
#############################################################
|
|
||||||
|
|
||||||
B = "${WORKDIR}/build"
|
|
||||||
# Configure build dir for externalsrc class usage through devtool
|
|
||||||
EXTERNALSRC_BUILD:pn-${PN} = "${WORKDIR}/build"
|
|
||||||
|
|
||||||
DEPENDS += "dtc-native"
|
|
||||||
DEPENDS += "python3-pycryptodomex-native"
|
|
||||||
DEPENDS += "python3-pyelftools-native"
|
|
||||||
DEPENDS += "libgcc python3-cryptography-native"
|
|
||||||
DEPENDS += "python3-pillow-native"
|
|
||||||
|
|
||||||
inherit deploy python3native
|
|
||||||
|
|
||||||
OPTEEMACHINE ?= "${MACHINE}"
|
|
||||||
OPTEEOUTPUTMACHINE ?= "${MACHINE}"
|
|
||||||
|
|
||||||
# Default log level
|
|
||||||
ST_OPTEE_DEBUG_LOG_LEVEL ??= "2"
|
|
||||||
|
|
||||||
# default core debug
|
|
||||||
ST_OPTEE_CORE_DEBUG ??= "y"
|
|
||||||
ST_OPTEE_CORE_DEBUG:stm32mp15common ?= "n"
|
|
||||||
|
|
||||||
EXTRA_OEMAKE = "PLATFORM=${OPTEEMACHINE}"
|
|
||||||
EXTRA_OEMAKE += "CROSS_COMPILE_core=${HOST_PREFIX}"
|
|
||||||
EXTRA_OEMAKE += "CROSS_COMPILE_ta_arm64=${HOST_PREFIX}"
|
|
||||||
EXTRA_OEMAKE += "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'ARCH=arm CFG_ARM64_core=y', 'ARCH=arm CFG_ARM32_core=y CROSS_COMPILE_ta_arm32=${HOST_PREFIX}', d)}"
|
|
||||||
EXTRA_OEMAKE += "NOWERROR=1"
|
|
||||||
EXTRA_OEMAKE += "LDFLAGS="
|
|
||||||
# Set external-dt support
|
|
||||||
EXTRA_OEMAKE += "${@bb.utils.contains('EXTERNAL_DT_ENABLED', '1', 'CFG_EXT_DTS=${STAGING_EXTDT_DIR}/optee', '', d)}"
|
|
||||||
# Set scp-firmware support
|
|
||||||
EXTRA_OEMAKE += "CFG_SCP_FIRMWARE=${STAGING_SCPFW_DIR} CFG_SCPFW_LOG_LEVEL=5 CFG_WERROR=n"
|
|
||||||
|
|
||||||
# debug and trace
|
|
||||||
EXTRA_OEMAKE += "${@bb.utils.contains('ST_OPTEE_DEBUG_TRACE', '1', 'CFG_TEE_CORE_LOG_LEVEL=${ST_OPTEE_DEBUG_LOG_LEVEL} CFG_TEE_CORE_DEBUG=${ST_OPTEE_CORE_DEBUG}', '', d)}"
|
|
||||||
|
|
||||||
# OPTEE in sysram
|
|
||||||
EXTRA_OEMAKE:append:stm32mp15common = " ${@bb.utils.contains('ST_OPTEE_IN_SYSRAM', '1', 'CFG_STM32MP1_OPTEE_IN_SYSRAM=y', '', d)}"
|
|
||||||
|
|
||||||
# SCP firmware
|
|
||||||
#EXTRA_OEMAKE_SCP_FIRMWARE ??= ""
|
|
||||||
EXTRA_OEMAKE_SCP_FIRMWARE:stm32mp15common ??= ""
|
|
||||||
EXTRA_OEMAKE_SCP_FIRMWARE:stm32mp13common ??= "${@bb.utils.contains('ENABLE_SCMI_SCPFW', '1', 'CFG_SCMI_SCPFW=y', 'CFG_SCMI_SCPFW=n', d)}"
|
|
||||||
EXTRA_OEMAKE_SCP_FIRMWARE:stm32mp25common ??= "CFG_SCMI_SCPFW=y"
|
|
||||||
EXTRA_OEMAKE += " ${EXTRA_OEMAKE_SCP_FIRMWARE}"
|
|
||||||
|
|
||||||
OPTEE_ARCH:armv7a = "arm32"
|
|
||||||
OPTEE_ARCH:armv7ve = "arm32"
|
|
||||||
OPTEE_ARCH:aarch64 = "arm64"
|
|
||||||
|
|
||||||
do_configure:prepend(){
|
|
||||||
chmod 755 ${S}/scripts/bin_to_c.py
|
|
||||||
}
|
|
||||||
|
|
||||||
do_compile() {
|
|
||||||
export CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST}"
|
|
||||||
export OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules/
|
|
||||||
if [ -n "${OPTEE_CONF}" ]; then
|
|
||||||
for conf in ${OPTEE_CONF}; do
|
|
||||||
# Configure SOC switch
|
|
||||||
soc_extra=""
|
|
||||||
for soc in ${STM32MP_SOC_NAME}; do
|
|
||||||
if [ "$(echo ${conf} | grep -c ${soc})" -eq 1 ]; then
|
|
||||||
soc_extra="$(echo CFG_${soc} | awk '{print toupper($0)}')=y"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
oe_runmake -C ${S} O=${B}/${conf} CFG_EMBED_DTB_SOURCE_FILE=${conf}.dts ${soc_extra}
|
|
||||||
done
|
|
||||||
else
|
|
||||||
oe_runmake -C ${S} O=${B}/out
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
do_install:stm32mp1common() {
|
|
||||||
#install TA devkit
|
|
||||||
install -d ${D}${includedir}/optee/export-user_ta/
|
|
||||||
|
|
||||||
if [ -n "${OPTEE_CONF}" ]; then
|
|
||||||
for conf in ${OPTEE_CONF}; do
|
|
||||||
for f in ${B}/${conf}/export-ta_${OPTEE_ARCH}/* ; do
|
|
||||||
cp -aRf $f ${D}${includedir}/optee/export-user_ta/
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
do_install:stm32mp2common() {
|
|
||||||
#install TA devkit
|
|
||||||
install -d ${D}${includedir}/optee/export-user_ta_arm32/
|
|
||||||
install -d ${D}${includedir}/optee/export-user_ta_arm64/
|
|
||||||
|
|
||||||
if [ -n "${OPTEE_CONF}" ]; then
|
|
||||||
for conf in ${OPTEE_CONF}; do
|
|
||||||
if [ -d ${B}/${conf}/export-ta_arm32 ]; then
|
|
||||||
for f in ${B}/${conf}/export-ta_arm32/* ; do
|
|
||||||
cp -aRf $f ${D}${includedir}/optee/export-user_ta_arm32/
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
if [ -d ${B}/${conf}/export-ta_arm64 ]; then
|
|
||||||
for f in ${B}/${conf}/export-ta_arm64/* ; do
|
|
||||||
cp -aRf $f ${D}${includedir}/optee/export-user_ta_arm64/
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Configure optee binaries
|
|
||||||
OPTEE_HEADER = "tee-header_v2"
|
|
||||||
OPTEE_PAGEABLE = "tee-pageable_v2"
|
|
||||||
OPTEE_PAGER = "tee-pager_v2"
|
|
||||||
OPTEE_SUFFIX = "bin"
|
|
||||||
# Output the ELF generated
|
|
||||||
ELF_DEBUG_ENABLE ?= ""
|
|
||||||
OPTEE_ELF = "tee"
|
|
||||||
OPTEE_ELF_SUFFIX = "elf"
|
|
||||||
|
|
||||||
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}/optee"
|
|
||||||
do_deploy() {
|
|
||||||
install -d ${DEPLOYDIR}/debug
|
|
||||||
if [ -n "${OPTEE_CONF}" ]; then
|
|
||||||
for conf in ${OPTEE_CONF}; do
|
|
||||||
install -m 644 ${B}/${conf}/core/${OPTEE_HEADER}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_HEADER}-${conf}.${OPTEE_SUFFIX}
|
|
||||||
install -m 644 ${B}/${conf}/core/${OPTEE_PAGER}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_PAGER}-${conf}.${OPTEE_SUFFIX}
|
|
||||||
install -m 644 ${B}/${conf}/core/${OPTEE_PAGEABLE}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_PAGEABLE}-${conf}.${OPTEE_SUFFIX}
|
|
||||||
if [ -n "${ELF_DEBUG_ENABLE}" ]; then
|
|
||||||
install -m 644 ${B}/${conf}/core/${OPTEE_ELF}.${OPTEE_ELF_SUFFIX} ${DEPLOYDIR}/debug/${OPTEE_ELF}-${conf}.${OPTEE_ELF_SUFFIX}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
install -m 644 ${B}/core/${OPTEE_HEADER}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_HEADER}.${OPTEE_SUFFIX}
|
|
||||||
install -m 644 ${B}/core/${OPTEE_PAGER}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_PAGER}.${OPTEE_SUFFIX}
|
|
||||||
install -m 644 ${B}/core/${OPTEE_PAGEABLE}.${OPTEE_SUFFIX} ${DEPLOYDIR}/${OPTEE_PAGEABLE}.${OPTEE_SUFFIX}
|
|
||||||
if [ -n "${ELF_DEBUG_ENABLE}" ]; then
|
|
||||||
install -m 644 ${B}/core/${OPTEE_ELF}.${OPTEE_ELF_SUFFIX} ${DEPLOYDIR}/debug/${OPTEE_ELF}.${OPTEE_ELF_SUFFIX}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
addtask deploy before do_build after do_compile
|
|
||||||
|
|
||||||
FILES:${PN} = "${nonarch_base_libdir}/firmware/"
|
|
||||||
FILES:${PN}-dev = "/usr/include/optee"
|
|
||||||
|
|
||||||
INSANE_SKIP:${PN}-dev = "staticdev"
|
|
||||||
|
|
||||||
INHIBIT_PACKAGE_STRIP = "1"
|
|
||||||
# ---------------------------------------------------------------------
|
|
||||||
# Avoid QA Issue: contains reference to TMPDIR [buildpaths]
|
|
||||||
INSANE_SKIP:${PN} += "buildpaths"
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
SUMMARY = "OPTEE TA development kit for stm32mp"
|
|
||||||
LICENSE = "BSD-2-Clause & BSD-3-Clause"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
|
|
||||||
|
|
||||||
# Select internal or Github OPTEE repo
|
|
||||||
OPTEE_URI_STASH = "${DIGI_MTK_GIT}/emp/optee_os.git;protocol=ssh"
|
|
||||||
OPTEE_URI_GITHUB = "${DIGI_GITHUB_GIT}/optee_os.git;protocol=https"
|
|
||||||
OPTEE_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${OPTEE_URI_STASH}', '${OPTEE_URI_GITHUB}', d)}"
|
|
||||||
|
|
||||||
SRCBRANCH = "3.19.0/stm/master"
|
|
||||||
SRCREV = "${AUTOREV}"
|
|
||||||
|
|
||||||
SRC_URI = " \
|
|
||||||
${OPTEE_GIT_URI};branch=${SRCBRANCH};name=os \
|
|
||||||
file://fonts.tar.gz;subdir=git;name=fonts \
|
|
||||||
"
|
|
||||||
|
|
||||||
SRC_URI[fonts.sha256sum] = "4941e8bb6d8ac377838e27b214bf43008c496a24a8f897e0b06433988cbd53b2"
|
|
||||||
|
|
||||||
OPTEE_VERSION = "3.19.0"
|
|
||||||
OPTEE_SUBVERSION = "stm32mp"
|
|
||||||
OPTEE_RELEASE = "beta-r1"
|
|
||||||
|
|
||||||
PV = "${OPTEE_VERSION}-${OPTEE_SUBVERSION}-${OPTEE_RELEASE}"
|
|
||||||
|
|
||||||
ARCHIVER_ST_BRANCH = "${OPTEE_VERSION}-${OPTEE_SUBVERSION}"
|
|
||||||
ARCHIVER_ST_REVISION = "${PV}"
|
|
||||||
ARCHIVER_COMMUNITY_BRANCH = "master"
|
|
||||||
ARCHIVER_COMMUNITY_REVISION = "${OPTEE_VERSION}"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
OPTEEMACHINE ?= "stm32mp1"
|
|
||||||
OPTEEMACHINE:stm32mp1common = "stm32mp1"
|
|
||||||
OPTEEMACHINE:stm32mp2common = "stm32mp2"
|
|
||||||
|
|
||||||
OPTEEOUTPUTMACHINE ?= "stm32mp1"
|
|
||||||
OPTEEOUTPUTMACHINE:stm32mp1common = "stm32mp1"
|
|
||||||
OPTEEOUTPUTMACHINE:stm32mp2common = "stm32mp2"
|
|
||||||
|
|
||||||
# Enable OPTEE_DEBUG_TRACE; If set to 0, LOG_LEVEL defaults to 3 on optee code
|
|
||||||
ST_OPTEE_DEBUG_TRACE = "1"
|
|
||||||
# Log level
|
|
||||||
ST_OPTEE_DEBUG_LOG_LEVEL = "0"
|
|
||||||
|
|
||||||
# The package is empty but must be generated to avoid apt-get installation issue
|
|
||||||
ALLOW_EMPTY:${PN} = "1"
|
|
||||||
|
|
||||||
require optee-os-stm32mp2-common.inc
|
|
||||||
|
|
||||||
# Specific for revA board
|
|
||||||
EXTRA_OEMAKE_REVA:stm32mp25revabcommon:append = " CFG_STM32MP25x_REVA=y "
|
|
||||||
EXTRA_OEMAKE += " ${EXTRA_OEMAKE_REVA}"
|
|
||||||
|
|
||||||
# ---------------------------------
|
|
||||||
# Configure archiver use
|
|
||||||
# ---------------------------------
|
|
||||||
include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'optee-os-stm32mp-archiver.inc','')}
|
|
||||||
|
|
||||||
# ---------------------------------
|
|
||||||
# Configure default preference to manage dynamic selection between tarball and github
|
|
||||||
# ---------------------------------
|
|
||||||
STM32MP_SOURCE_SELECTION ?= "tarball"
|
|
||||||
|
|
||||||
DEFAULT_PREFERENCE = "${@bb.utils.contains('STM32MP_SOURCE_SELECTION', 'github', '-1', '1', d)}"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(ccmp2)"
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (C) 2022, Digi International Inc.
|
# Copyright (C) 2022-2024, Digi International Inc.
|
||||||
#
|
#
|
||||||
|
|
||||||
# Select internal or Github OPTEE repo
|
# Select internal or Github OPTEE repo
|
||||||
|
|
@ -7,7 +7,7 @@ OPTEE_URI_STASH = "${DIGI_MTK_GIT}/emp/optee_os.git;protocol=ssh"
|
||||||
OPTEE_URI_GITHUB = "${DIGI_GITHUB_GIT}/optee_os.git;protocol=https"
|
OPTEE_URI_GITHUB = "${DIGI_GITHUB_GIT}/optee_os.git;protocol=https"
|
||||||
OPTEE_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${OPTEE_URI_STASH}', '${OPTEE_URI_GITHUB}', d)}"
|
OPTEE_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${OPTEE_URI_STASH}', '${OPTEE_URI_GITHUB}', d)}"
|
||||||
|
|
||||||
SRCBRANCH = "3.16.0/stm/master"
|
SRCBRANCH = "4.0.0/stm/master"
|
||||||
SRCREV = "${AUTOREV}"
|
SRCREV = "${AUTOREV}"
|
||||||
|
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
Loading…
Reference in New Issue