TF-A-STM32MP: update to v2.0.0 (v2.2-stm32mp-r1)
Change-Id: If6d1e5b3b9fdfc81e8fe77ca2a338b9b124f5209
This commit is contained in:
1 parent
a16cd6da88
commit
b698195170
10 files changed
+26544
-39996
No files matched your search
@@ -18,100 +18,103 @@ archiver_create_makefile_for_sdk() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p ${ARCHIVER_OUTDIR}
|
mkdir -p ${ARCHIVER_OUTDIR}
|
||||||
#remove default variable
|
cat << EOF > ${ARCHIVER_OUTDIR}/Makefile.sdk
|
||||||
echo "LDFLAGS=" > ${ARCHIVER_OUTDIR}/Makefile.sdk
|
#remove default variable
|
||||||
echo "CFLAGS=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
LDFLAGS=
|
||||||
echo "CPPFLAGS=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
CFLAGS=
|
||||||
echo "CC=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
CPPFLAGS=
|
||||||
echo "CPP=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
CC=
|
||||||
echo "AS=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
CPP=
|
||||||
echo "AR=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
AS=
|
||||||
echo "LD=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
AR=
|
||||||
echo "NM=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
LD=
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
NM=
|
||||||
|
|
||||||
echo "LOCAL_PATH=\$(PWD)" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
LOCAL_PATH=\$(PWD)
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
echo "EXTRA_OEMAKE=${EXTRA_OEMAKE}" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
EXTRA_OEMAKE=${EXTRA_OEMAKE}
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
EXTRA_OEMAKE_SERIAL=$(subst STM32MP_SDMMC=1 STM32MP_EMMC=1 STM32MP_SPI_NOR=1 STM32MP_RAW_NAND=1 STM32MP_SPI_NAND=1,,${EXTRA_OEMAKE}) STM32MP_UART_PROGRAMMER=1 STM32MP_USB_PROGRAMMER=1
|
||||||
|
|
||||||
# Set default config
|
# Set default config
|
||||||
echo "ELF_DEBUG_ENABLE ?= ${ELF_DEBUG_ENABLE}" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
ELF_DEBUG_ENABLE ?= ${ELF_DEBUG_ENABLE}
|
||||||
echo "TF_A_CONFIG ?= ${TF_A_CONFIG}" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
TF_A_CONFIG ?= ${TF_A_CONFIG} serialboot
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
# Set specific OEMAKE config
|
|
||||||
echo "TF_A_CONFIG_OEMAKE = ${tf_a_config_oemake}" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
# Set default TFA_DEVICETREE with configured TF_A_DEVICETREE
|
# Set specific OEMAKE config
|
||||||
if [ -n "${TF_A_DEVICETREE}" ]; then
|
TF_A_CONFIG_OEMAKE = ${tf_a_config_oemake} serialboot,"AARCH32_SP=sp_min"
|
||||||
echo "TFA_DEVICETREE ?= ${TF_A_DEVICETREE}" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
# Set default TFA_DEVICETREE
|
||||||
else
|
TFA_DEVICETREE ?= ${TF_A_DEVICETREE}
|
||||||
echo "TFA_DEVICETREE ?=" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
fi
|
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
echo "help:" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
#Set default TF_A_ENABLE_DEBUG_WRAPPER
|
||||||
echo " @echo" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
TF_A_ENABLE_DEBUG_WRAPPER ?= ${TF_A_ENABLE_DEBUG_WRAPPER}
|
||||||
echo " @echo \"Available targets:\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \" all : build TF-A binaries for defined config(s)\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \" clean : clean build directories from generated files\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \"TF-A configuration:\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \" TF_A_CONFIG = \$(TF_A_CONFIG)\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \" TFA_DEVICETREE = \$(TFA_DEVICETREE)\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo \" ELF_DEBUG_ENABLE = '\$(ELF_DEBUG_ENABLE)' ('1' to export elf files)\"" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " @echo" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
echo "all: tf" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
help:
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
@echo
|
||||||
|
@echo "Available targets:"
|
||||||
|
@echo " all : build TF-A binaries for defined config(s)"
|
||||||
|
@echo " clean : clean build directories from generated files"
|
||||||
|
@echo
|
||||||
|
@echo "TF-A configuration:"
|
||||||
|
@echo " TF_A_CONFIG = \$(TF_A_CONFIG)"
|
||||||
|
@echo " TFA_DEVICETREE = \$(TFA_DEVICETREE)"
|
||||||
|
@echo " ELF_DEBUG_ENABLE = '\$(ELF_DEBUG_ENABLE)' ('1' to export elf files)"
|
||||||
|
@echo " TF_A_ENABLE_DEBUG_WRAPPER = '\$(TF_A_ENABLE_DEBUG_WRAPPER)' ('1' to generate tf-a for debugging)"
|
||||||
|
@echo
|
||||||
|
|
||||||
echo "host_tools:" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
all: tf
|
||||||
echo " @\$(MAKE) --no-print-directory -C \$(LOCAL_PATH)/tools/stm32image" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
echo "tf: host_tools" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
host_tools:
|
||||||
echo " for config in \$(TF_A_CONFIG) ; do \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
@\$(MAKE) --no-print-directory -C \$(LOCAL_PATH)/tools/stm32image
|
||||||
# Init any extraoemake
|
|
||||||
echo " add_extraoemake= ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " for fullconfig in \$(TF_A_CONFIG_OEMAKE) ; do \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " extraconfig=\$\$(echo \$\$fullconfig | cut -d',' -f1) ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " if [ \"\$\$extraconfig\" = \"\$\$config\" ]; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " add_extraoemake=\$\$(echo \$\$fullconfig | cut -d',' -f2) ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " done ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " mkdir -p \$(LOCAL_PATH)/../build/\$\$config ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " if test -n \"\$(TFA_DEVICETREE)\" ; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " for dt in \$(TFA_DEVICETREE) ; do \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " \$(MAKE) \$(EXTRA_OEMAKE) -C \$(LOCAL_PATH) DTB_FILE_NAME=\$\$dt.dtb BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
# Copy binary file with explicit name
|
|
||||||
echo " cp -f \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-\$\$dt.${TF_A_SUFFIX} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-\$\$dt-\$\$config.${TF_A_SUFFIX} ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " done ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " else \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " \$(MAKE) \$(EXTRA_OEMAKE) -C \$(LOCAL_PATH) BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
# Copy binary file with explicit name
|
|
||||||
echo " tf_version=\$\$(find \$(LOCAL_PATH)/../build/\$\$config -name ${TF_A_BASENAME}*.${TF_A_SUFFIX} -exec basename {} \; | sed \"s/\.${TF_A_SUFFIX}//\") ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " cp -f \$(LOCAL_PATH)/../build/\$\$config/\$\$tf_version.${TF_A_SUFFIX} \$(LOCAL_PATH)/../build/\$\$config/\$\$tf_version-\$\$config.${TF_A_SUFFIX} ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
# Copy elf files with explicit name
|
|
||||||
echo " if [ \"\$(ELF_DEBUG_ENABLE)\" = \"1\" ] ; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " if [ -f \$(LOCAL_PATH)/../build/\$\$config/${BL1_ELF} ] ; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " cp -f \$(LOCAL_PATH)/../build/\$\$config/${BL1_ELF} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-${BL1_BASENAME}-\$\$config.${TF_A_ELF_SUFFIX} ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " if [ -f \$(LOCAL_PATH)/../build/\$\$config/${BL2_ELF} ] ; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " cp -f \$(LOCAL_PATH)/../build/\$\$config/${BL2_ELF} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-${BL2_BASENAME}-\$\$config.${TF_A_ELF_SUFFIX} ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " if [ -f \$(LOCAL_PATH)/../build/\$\$config/${BL32_ELF} ] ; then \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " cp -f \$(LOCAL_PATH)/../build/\$\$config/${BL32_ELF} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-${BL32_BASENAME}-\$\$config.${TF_A_ELF_SUFFIX} ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " fi ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo " done" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
echo "" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
|
||||||
|
|
||||||
echo "clean:" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
tf: host_tools
|
||||||
echo " @for config in \$(TF_A_CONFIG) ; do \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
for config in \$(TF_A_CONFIG) ; do \\
|
||||||
echo " rm -rf \$(LOCAL_PATH)/../build/\$\$config ; \\" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
# Init any extraoemake \\
|
||||||
echo " done" >> ${ARCHIVER_OUTDIR}/Makefile.sdk
|
add_extraoemake= ; \\
|
||||||
|
for fullconfig in \$(TF_A_CONFIG_OEMAKE) ; do \\
|
||||||
|
extraconfig=\$\$(echo \$\$fullconfig | cut -d',' -f1) ; \\
|
||||||
|
if [ "\$\$extraconfig" = "\$\$config" ]; then \\
|
||||||
|
add_extraoemake=\$\$(echo \$\$fullconfig | cut -d',' -f2) ; \\
|
||||||
|
fi ; \\
|
||||||
|
done ; \\
|
||||||
|
mkdir -p \$(LOCAL_PATH)/../build/\$\$config ; \\
|
||||||
|
if test -n "\$(TFA_DEVICETREE)" ; then \\
|
||||||
|
for dt in \$(TFA_DEVICETREE) ; do \\
|
||||||
|
if [ "\$(TF_A_CONFIG)" != "serialboot" ]; then \\
|
||||||
|
\$(MAKE) \$(EXTRA_OEMAKE) -C \$(LOCAL_PATH) DTB_FILE_NAME=\$\$dt.dtb BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake ; \\
|
||||||
|
else \\
|
||||||
|
\$(MAKE) \$(EXTRA_OEMAKE_SERIAL) -C \$(LOCAL_PATH) DTB_FILE_NAME=\$\$dt.dtb BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake ; \\
|
||||||
|
fi \\
|
||||||
|
# Copy binary file with explicit name \\
|
||||||
|
cp -f \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-\$\$dt.${TF_A_SUFFIX} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-\$\$dt-\$\$config.${TF_A_SUFFIX} ; \\
|
||||||
|
if [ "\$(TF_A_ENABLE_DEBUG_WRAPPER)" = "1" ]; then \\
|
||||||
|
# Generate wrapper for debugging \\
|
||||||
|
stm32wrapper4dbg -s \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-\$\$dt.${TF_A_SUFFIX} -d \$(LOCAL_PATH)/../build/\$\$config/debug-${TF_A_BASENAME}-\$\$dt-\$\$config.${TF_A_SUFFIX} ; \\
|
||||||
|
fi \\
|
||||||
|
done ; \\
|
||||||
|
else \\
|
||||||
|
\$(MAKE) \$(EXTRA_OEMAKE) -C \$(LOCAL_PATH) BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake; \\
|
||||||
|
tf_version=\$\$(find \$(LOCAL_PATH)/../build/\$\$config -name ${TF_A_BASENAME}*.${TF_A_SUFFIX} -exec basename {} \; | sed "s/\.${TF_A_SUFFIX}//") ; \\
|
||||||
|
# Copy binary file with explicit name \\
|
||||||
|
cp -f \$(LOCAL_PATH)/../build/\$\$config/\$\$tf_version.${TF_A_SUFFIX} \$(LOCAL_PATH)/../build/\$\$config/\$\$tf_version-\$\$config.${TF_A_SUFFIX} ; \\
|
||||||
|
if [ "\$(TF_A_ENABLE_DEBUG_WRAPPER)" = "1" ]; then \\
|
||||||
|
# Generate wrapper for debugging \\
|
||||||
|
stm32wrapper4dbg -s \$(LOCAL_PATH)/../build/\$\$config/\$\$tf_version.${TF_A_SUFFIX} \$(LOCAL_PATH)/../build/\$\$config/debug-\$\$tf_version-\$\$config.${TF_A_SUFFIX} ; \\
|
||||||
|
fi \\
|
||||||
|
fi ; \\
|
||||||
|
# Copy elf files with explicit name \\
|
||||||
|
if [ "\$(ELF_DEBUG_ENABLE)" = "1" ] ; then \\
|
||||||
|
if [ -f \$(LOCAL_PATH)/../build/\$\$config/${BL2_ELF} ] ; then \\
|
||||||
|
cp -f \$(LOCAL_PATH)/../build/\$\$config/${BL2_ELF} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-${BL2_BASENAME}-\$\$config.${TF_A_ELF_SUFFIX} ; \\
|
||||||
|
fi ; \\
|
||||||
|
if [ -f \$(LOCAL_PATH)/../build/\$\$config/${BL32_ELF} ] ; then \\
|
||||||
|
cp -f \$(LOCAL_PATH)/../build/\$\$config/${BL32_ELF} \$(LOCAL_PATH)/../build/\$\$config/${TF_A_BASENAME}-${BL32_BASENAME}-\$\$config.${TF_A_ELF_SUFFIX} ; \\
|
||||||
|
fi ; \\
|
||||||
|
fi ; \\
|
||||||
|
done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@for config in \$(TF_A_CONFIG) ; do \\
|
||||||
|
rm -rf \$(LOCAL_PATH)/../build/\$\$config ; \\
|
||||||
|
done
|
||||||
|
EOF
|
||||||
}
|
}
|
||||||
do_ar_original[prefuncs] += "tfaconfig_env archiver_create_makefile_for_sdk"
|
do_ar_original[prefuncs] += "tfaconfig_env archiver_create_makefile_for_sdk"
|
||||||
@@ -11,6 +11,13 @@ B = "${WORKDIR}/build"
|
|||||||
EXTERNALSRC_BUILD_pn-${PN} = "${WORKDIR}/build"
|
EXTERNALSRC_BUILD_pn-${PN} = "${WORKDIR}/build"
|
||||||
|
|
||||||
DEPENDS += "dtc-native"
|
DEPENDS += "dtc-native"
|
||||||
|
DEPENDS_append = " ${@bb.utils.contains('TF_A_ENABLE_DEBUG_WRAPPER', '1', 'stm32wrapper4dbg-native', '', d)}"
|
||||||
|
|
||||||
|
# Extra make settings
|
||||||
|
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
|
||||||
|
# Debug support
|
||||||
|
EXTRA_OEMAKE += 'DEBUG=1'
|
||||||
|
EXTRA_OEMAKE += 'LOG_LEVEL=40'
|
||||||
|
|
||||||
# Define default TF-A namings
|
# Define default TF-A namings
|
||||||
TF_A_BASENAME ?= "tf-a"
|
TF_A_BASENAME ?= "tf-a"
|
||||||
@@ -32,21 +39,15 @@ BL32_NAME ?= "bl32/bl32"
|
|||||||
BL32_ELF = "${BL32_NAME}.${TF_A_ELF_SUFFIX}"
|
BL32_ELF = "${BL32_NAME}.${TF_A_ELF_SUFFIX}"
|
||||||
BL32_BASENAME = "${@os.path.basename(d.getVar("BL32_NAME"))}"
|
BL32_BASENAME = "${@os.path.basename(d.getVar("BL32_NAME"))}"
|
||||||
|
|
||||||
# Extra make settings
|
|
||||||
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
|
|
||||||
EXTRA_OEMAKE += 'PLAT=stm32mp1'
|
|
||||||
EXTRA_OEMAKE += 'ARCH=aarch32'
|
|
||||||
EXTRA_OEMAKE += 'ARM_ARCH_MAJOR=7'
|
|
||||||
|
|
||||||
# Debug support
|
|
||||||
EXTRA_OEMAKE += 'DEBUG=1'
|
|
||||||
EXTRA_OEMAKE += "LOG_LEVEL=40"
|
|
||||||
|
|
||||||
# Set default TF-A config
|
# Set default TF-A config
|
||||||
TF_A_CONFIG ?= ""
|
TF_A_CONFIG ?= ""
|
||||||
|
|
||||||
|
#Enable the wrapper for debug
|
||||||
|
TF_A_ENABLE_DEBUG_WRAPPER ??= "1"
|
||||||
|
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
# Enable use of work-shared folder
|
# Enable use of work-shared folder
|
||||||
|
TFA_SHARED_SOURCES ??= "1"
|
||||||
STAGING_TFA_DIR = "${TMPDIR}/work-shared/${MACHINE}/tfa-source"
|
STAGING_TFA_DIR = "${TMPDIR}/work-shared/${MACHINE}/tfa-source"
|
||||||
# Make sure to move ${S} to STAGING_TFA_DIR. We can't just
|
# Make sure to move ${S} to STAGING_TFA_DIR. We can't just
|
||||||
# create the symlink in advance as the git fetcher can't cope with
|
# create the symlink in advance as the git fetcher can't cope with
|
||||||
@@ -60,25 +61,26 @@ base_do_unpack_append () {
|
|||||||
if d.getVar('STAGING_TFA_DIR', d):
|
if d.getVar('STAGING_TFA_DIR', d):
|
||||||
d.setVar('STAGING_TFA_DIR', '${S}')
|
d.setVar('STAGING_TFA_DIR', '${S}')
|
||||||
|
|
||||||
# Copy/Paste from kernel class with adaptation to TFA var
|
shared = d.getVar("TFA_SHARED_SOURCES")
|
||||||
s = d.getVar("S")
|
if shared and oe.types.boolean(shared):
|
||||||
if s[-1] == '/':
|
# Copy/Paste from kernel class with adaptation to TFA var
|
||||||
# drop trailing slash, so that os.symlink(tfasrc, s) doesn't use s as directory name and fail
|
s = d.getVar("S")
|
||||||
s=s[:-1]
|
if s[-1] == '/':
|
||||||
tfasrc = d.getVar("STAGING_TFA_DIR")
|
# drop trailing slash, so that os.symlink(tfasrc, s) doesn't use s as directory name and fail
|
||||||
if s != tfasrc:
|
s=s[:-1]
|
||||||
bb.utils.mkdirhier(tfasrc)
|
tfasrc = d.getVar("STAGING_TFA_DIR")
|
||||||
bb.utils.remove(tfasrc, recurse=True)
|
if s != tfasrc:
|
||||||
if d.getVar("EXTERNALSRC"):
|
bb.utils.mkdirhier(tfasrc)
|
||||||
# With EXTERNALSRC S will not be wiped so we can symlink to it
|
bb.utils.remove(tfasrc, recurse=True)
|
||||||
os.symlink(s, tfasrc)
|
if d.getVar("EXTERNALSRC"):
|
||||||
else:
|
# With EXTERNALSRC S will not be wiped so we can symlink to it
|
||||||
import shutil
|
os.symlink(s, tfasrc)
|
||||||
shutil.move(s, tfasrc)
|
else:
|
||||||
os.symlink(tfasrc, s)
|
import shutil
|
||||||
|
shutil.move(s, tfasrc)
|
||||||
|
os.symlink(tfasrc, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Manage to export any specific setting for defined configs
|
# Manage to export any specific setting for defined configs
|
||||||
python tfaconfig_env () {
|
python tfaconfig_env () {
|
||||||
if d.getVar('TF_A_CONFIG'):
|
if d.getVar('TF_A_CONFIG'):
|
||||||
@@ -106,13 +108,20 @@ do_compile() {
|
|||||||
for dt in ${TF_A_DEVICETREE}; do
|
for dt in ${TF_A_DEVICETREE}; do
|
||||||
oe_runmake -C ${S} DTB_FILE_NAME=${dt}.dtb BUILD_PLAT=${B}/${config} ${add_extraoemake}
|
oe_runmake -C ${S} DTB_FILE_NAME=${dt}.dtb BUILD_PLAT=${B}/${config} ${add_extraoemake}
|
||||||
cp ${B}/${config}/${TF_A_BASENAME}-${dt}.${TF_A_SUFFIX} ${B}/${config}/${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX}
|
cp ${B}/${config}/${TF_A_BASENAME}-${dt}.${TF_A_SUFFIX} ${B}/${config}/${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX}
|
||||||
|
if [ "${TF_A_ENABLE_DEBUG_WRAPPER}" = "1" ]; then
|
||||||
|
stm32wrapper4dbg -s ${B}/${config}/${TF_A_BASENAME}-${dt}.${TF_A_SUFFIX} -d ${B}/${config}/debug-${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
oe_runmake -C ${S} BUILD_PLAT=${B}/${config} ${add_extraoemake}
|
oe_runmake -C ${S} BUILD_PLAT=${B}/${config} ${add_extraoemake}
|
||||||
|
tf_a_binary_basename=$(find ${B}/${config} -name "${TF_A_BASENAME}-*.${TF_A_SUFFIX}" -exec basename {} \; | sed 's|\.'"${TF_A_SUFFIX}"'||g')
|
||||||
|
if [ "${TF_A_ENABLE_DEBUG_WRAPPER}" = "1" ]; then
|
||||||
|
stm32wrapper4dbg -s ${B}/${config}/${tf_a_binary_basename}.${TF_A_SUFFIX} -d ${B}/${config}/debug-${tf_a_binary_basename}.${TF_A_SUFFIX}
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}/arm-trusted-firmware"
|
||||||
do_deploy() {
|
do_deploy() {
|
||||||
install -d ${DEPLOYDIR}
|
install -d ${DEPLOYDIR}
|
||||||
|
|
||||||
@@ -120,11 +129,21 @@ do_deploy() {
|
|||||||
if [ -n "${TF_A_DEVICETREE}" ]; then
|
if [ -n "${TF_A_DEVICETREE}" ]; then
|
||||||
for dt in ${TF_A_DEVICETREE}; do
|
for dt in ${TF_A_DEVICETREE}; do
|
||||||
install -m 644 ${B}/${config}/${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX} ${DEPLOYDIR}
|
install -m 644 ${B}/${config}/${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX} ${DEPLOYDIR}
|
||||||
|
if [ "${TF_A_ENABLE_DEBUG_WRAPPER}" = "1" ]; then
|
||||||
|
install -d ${DEPLOYDIR}/debug
|
||||||
|
install -m 644 ${B}/${config}/debug-${TF_A_BASENAME}-${dt}-${config}.${TF_A_SUFFIX} ${DEPLOYDIR}/debug
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
# Get tf-a binary basename to copy
|
# Get tf-a binary basename to copy
|
||||||
tf_a_binary_basename=$(find ${B}/${config} -name "${TF_A_BASENAME}-*.${TF_A_SUFFIX}" -exec basename {} \; | sed 's|\.'"${TF_A_SUFFIX}"'||g')
|
tf_a_binary_basename=$(find ${B}/${config} -name "${TF_A_BASENAME}-*.${TF_A_SUFFIX}" -exec basename {} \; | sed 's|\.'"${TF_A_SUFFIX}"'||g')
|
||||||
install -m 644 ${B}/${config}/${tf_a_binary_basename}.${TF_A_SUFFIX} ${DEPLOYDIR}/${tf_a_binary_basename}-${config}.${TF_A_SUFFIX}
|
for f in ${tf_a_binary_basename}; do
|
||||||
|
install -m 644 ${B}/${config}/${f}.${TF_A_SUFFIX} ${DEPLOYDIR}/${f}-${config}.${TF_A_SUFFIX}
|
||||||
|
if [ "${TF_A_ENABLE_DEBUG_WRAPPER}" = "1" ]; then
|
||||||
|
install -d ${DEPLOYDIR}/debug
|
||||||
|
install -m 644 ${B}/${config}/debug-${f}.${TF_A_SUFFIX} ${DEPLOYDIR}/debug/debug-${f}-${config}.${TF_A_SUFFIX}
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
FILESEXTRAPATHS_prepend_stm32mpcommon := "${THISDIR}/tf-a-stm32mp:"
|
||||||
|
|
||||||
|
SECTION = "bootloaders"
|
||||||
|
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/ARM-software/arm-trusted-firmware.git;protocol=https;nobranch=1"
|
||||||
|
SRCREV = "a04808c16cfc126d9fe572ae7c4b5a3d39de5796"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0001-st-update-v2.2-r2.0.0.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
TF_VERSION = "2.2"
|
||||||
|
PV = "${TF_VERSION}.r1"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
# ---------------------------------
|
||||||
|
# Configure devupstream class usage
|
||||||
|
# ---------------------------------
|
||||||
|
#BBCLASSEXTEND = "devupstream:target"
|
||||||
|
|
||||||
|
#SRC_URI_class-devupstream = "git://github.com/STMicroelectronics/arm-trusted-firmware.git;protocol=https;name=tfa;branch=v2.0-stm32mp"
|
||||||
|
#SRCREV_class-devupstream = "d0233623681124a85b069f97a447d7edb1cc1c02"
|
||||||
|
#SRCREV_FORMAT_class-devupstream = "tfa"
|
||||||
|
#PV_class-devupstream = "${TF_VERSION}+github+${SRCPV}"
|
||||||
|
# ---------------------------------
|
||||||
|
# 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)}"
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
require tf-a-stm32mp-common_${PV}.inc
|
||||||
|
require tf-a-stm32mp-common.inc
|
||||||
|
|
||||||
|
SUMMARY = "Trusted Firmware-A for STM32MP1 as serial boot loader"
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
|
||||||
|
|
||||||
|
PROVIDES += "virtual/trusted-firmware-a-serialboot"
|
||||||
|
|
||||||
|
TFA_SHARED_SOURCES = "0"
|
||||||
|
|
||||||
|
# Configure stm32mp1 make settings
|
||||||
|
EXTRA_OEMAKE += 'PLAT=stm32mp1'
|
||||||
|
EXTRA_OEMAKE += 'ARCH=aarch32'
|
||||||
|
EXTRA_OEMAKE += 'ARM_ARCH_MAJOR=7'
|
||||||
|
# Configure all serial boot supports
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_UART_PROGRAMMER=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_USB_PROGRAMMER=1'
|
||||||
|
|
||||||
|
# Disable the wrapper for debug
|
||||||
|
TF_A_ENABLE_DEBUG_WRAPPER ?= "0"
|
||||||
+26303
-26975
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -16,17 +16,17 @@ For tf-a build you need to install:
|
|||||||
Fedora: sudo yum install git
|
Fedora: sudo yum install git
|
||||||
|
|
||||||
If you have never configured you git configuration:
|
If you have never configured you git configuration:
|
||||||
$> git config --global user.name "your_name"
|
$ git config --global user.name "your_name"
|
||||||
$> git config --global user.email "your_email@example.com"
|
$ git config --global user.email "your_email@example.com"
|
||||||
|
|
||||||
2. Initialise cross-compilation via SDK:
|
2. Initialise cross-compilation via SDK:
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
Source SDK environment:
|
Source SDK environment:
|
||||||
$> source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
|
$ source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
|
||||||
|
|
||||||
To verify if your cross-compilation environment have put in place:
|
To verify if your cross-compilation environment have put in place:
|
||||||
$> set | grep CROSS
|
$ set | grep CROSS
|
||||||
CROSS_COMPILE=arm-openstlinux_weston-linux-gnueabi-
|
CROSS_COMPILE=arm-ostl-linux-gnueabi-
|
||||||
|
|
||||||
Warning: the environment are valid only on the shell session where you have
|
Warning: the environment are valid only on the shell session where you have
|
||||||
sourced the sdk environment.
|
sourced the sdk environment.
|
||||||
@@ -35,48 +35,46 @@ sourced the sdk environment.
|
|||||||
------------------------
|
------------------------
|
||||||
If you have the tarball and the list of patch then you must extract the tarball
|
If you have the tarball and the list of patch then you must extract the tarball
|
||||||
and apply the patch.
|
and apply the patch.
|
||||||
$> tar xfz <tf-a source>.tar.gz
|
$> tar xfz ##BP##-##PR##.tar.gz
|
||||||
or
|
|
||||||
$> tar xfj <tf-a source>.tar.bz2
|
|
||||||
or
|
|
||||||
$> tar xfJ <tf-a source>.tar.xz
|
|
||||||
A new directory containing tf-a standard source code will be created, go into it:
|
A new directory containing tf-a standard source code will be created, go into it:
|
||||||
$> cd <directory to tf-a source code>
|
$> cd ##BP##
|
||||||
|
|
||||||
NB: if there is no git management on source code and you would like to have a
|
NB: if there is no git management on source code and you would like to have a
|
||||||
git management on the code see section 4 [Management of tf-a source code]
|
git management on the code see section 4 [Management of tf-a source code]
|
||||||
if there is some patch, please apply it on source code
|
if there is some patch, please apply it on source code
|
||||||
$> for p in `ls -1 <path to patch>/*.patch`; do patch -p1 < $p; done
|
$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
|
||||||
|
|
||||||
4. Management of tf-a source code:
|
4. Management of tf-a source code:
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
If you like to have a better management of change made on tf-a source, you
|
If you like to have a better management of change made on tf-a source, you
|
||||||
can use git:
|
can use git:
|
||||||
$> cd <directory to tf-a source code>
|
$ cd <directory to tf-a source code>
|
||||||
$> test -d .git || git init . && git add . && git commit -m "tf-a source code" && git gc
|
$ test -d .git || git init . && git add . && git commit -m "tf-a source code" && git gc
|
||||||
$> git checkout -b WORKING
|
$ git checkout -b WORKING
|
||||||
$> for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||||
|
|
||||||
NB: you can use directly the source from the community:
|
NB: you can use directly the source from the community:
|
||||||
URL: git://github.com/ARM-software/arm-trusted-firmware.git
|
URL: git://github.com/ARM-software/arm-trusted-firmware.git
|
||||||
Branch: ##GIT_BRANCH##
|
Branch: ##GIT_BRANCH##
|
||||||
Revision: ##GIT_SRCREV##
|
Revision: ##GIT_SRCREV##
|
||||||
|
|
||||||
$> git clone git://github.com/ARM-software/arm-trusted-firmware.git -b ##GIT_BRANCH##
|
$ git clone git://github.com/ARM-software/arm-trusted-firmware.git -b ##GIT_BRANCH##
|
||||||
$> cd <directory to tf-a source code>
|
$ cd <directory to tf-a source code>
|
||||||
$> git checkout -b WORKING ##GIT_SRCREV##
|
$ git checkout -b WORKING ##GIT_SRCREV##
|
||||||
$> for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
|
||||||
|
|
||||||
5. Build tf-a source code:
|
5. Build tf-a source code:
|
||||||
--------------------------------
|
--------------------------------
|
||||||
To compile tf-a source code
|
To compile tf-a source code
|
||||||
$> cd <directory to tf-a source code>
|
|
||||||
$> make -f $PWD/../Makefile.sdk all
|
$> make -f $PWD/../Makefile.sdk all
|
||||||
or for a specific config :
|
or for a specific config :
|
||||||
$> make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157c-ev1 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
|
$ make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157c-ev1 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
|
||||||
|
|
||||||
NB: TFA_DEVICETREE flag must be set to switch to correct board configuration.
|
NB: TFA_DEVICETREE flag must be set to switch to correct board configuration.
|
||||||
|
|
||||||
|
Files generated should be as follow:
|
||||||
|
#> ../build/*/tf-a-*.stm32
|
||||||
|
|
||||||
6. Update software on board:
|
6. Update software on board:
|
||||||
----------------------------
|
----------------------------
|
||||||
6.1. partitioning of binaries:
|
6.1. partitioning of binaries:
|
||||||
@@ -90,11 +88,11 @@ Copy the binary (tf-a-*.stm32) on the dedicated partition, on SDCARD/USB disk
|
|||||||
the partition "fsbl1" are the partition 1:
|
the partition "fsbl1" are the partition 1:
|
||||||
- SDCARD: /dev/mmcblkXp1 (where X is the instance number)
|
- SDCARD: /dev/mmcblkXp1 (where X is the instance number)
|
||||||
- SDCARD via USB reader: /dev/sdX1 (where X is the instance number)
|
- SDCARD via USB reader: /dev/sdX1 (where X is the instance number)
|
||||||
$> dd if=<tf-a binary> of=/dev/<device partition> bs=1M conv=fdatasync
|
$ dd if=<tf-a binary> of=/dev/<device partition> bs=1M conv=fdatasync
|
||||||
|
|
||||||
FAQ: to found the partition associated to a specific label, just plug the
|
FAQ: to found the partition associated to a specific label, just plug the
|
||||||
SDCARD/USB disk on your PC and call the following command:
|
SDCARD/USB disk on your PC and call the following command:
|
||||||
$> ls -l /dev/disk/by-partlabel/
|
$ ls -l /dev/disk/by-partlabel/
|
||||||
total 0
|
total 0
|
||||||
lrwxrwxrwx 1 root root 10 Jan 17 17:38 bootfs -> ../../mmcblk0p4
|
lrwxrwxrwx 1 root root 10 Jan 17 17:38 bootfs -> ../../mmcblk0p4
|
||||||
lrwxrwxrwx 1 root root 10 Jan 17 17:38 fsbl1 -> ../../mmcblk0p1 ➔ FSBL (TF-A)
|
lrwxrwxrwx 1 root root 10 Jan 17 17:38 fsbl1 -> ../../mmcblk0p1 ➔ FSBL (TF-A)
|
||||||
@@ -117,4 +115,4 @@ lrwxrwxrwx 1 root root 10 Jan 17 17:38 userfs -> ../../mmcblk0p6
|
|||||||
For SDCARD: ums 0 mmc 0
|
For SDCARD: ums 0 mmc 0
|
||||||
For USB disk: ums 0 usb 0
|
For USB disk: ums 0 usb 0
|
||||||
|
|
||||||
* Follow section 6.2 to put tf-a-*.stm32 on SDCARD/USB disk
|
* Follow section 6.2 to put tf-a-*.stm32 on SDCARD/USB disk
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
SUMMARY = "Trusted Firmware-A for STM32MP1"
|
|
||||||
SECTION = "bootloaders"
|
|
||||||
LICENSE = "BSD-3-Clause"
|
|
||||||
LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
|
|
||||||
|
|
||||||
SRC_URI = "https://github.com/ARM-software/arm-trusted-firmware/archive/v${PV}.tar.gz"
|
|
||||||
SRC_URI[md5sum] = "21038abbf572c273fa87d296bcd5dad2"
|
|
||||||
SRC_URI[sha256sum] = "7d699a1683bb7a5909de37b6eb91b6e38db32cd6fc5ae48a08eb0718d6504ae4"
|
|
||||||
|
|
||||||
SRC_URI += " \
|
|
||||||
file://0001-st-update-r1.patch \
|
|
||||||
file://0002-st-update-r1.1.0.patch \
|
|
||||||
file://0003-st-update-r1.2.0.patch \
|
|
||||||
"
|
|
||||||
|
|
||||||
TF_VERSION = "2.0"
|
|
||||||
PV = "${TF_VERSION}"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/arm-trusted-firmware-${PV}"
|
|
||||||
|
|
||||||
require tf-a-stm32mp-common.inc
|
|
||||||
|
|
||||||
# ---------------------------------
|
|
||||||
# Configure archiver use
|
|
||||||
# ---------------------------------
|
|
||||||
include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'tf-a-stm32mp-archiver.inc','')}
|
|
||||||
|
|
||||||
# ---------------------------------
|
|
||||||
# Configure devupstream class usage
|
|
||||||
# ---------------------------------
|
|
||||||
BBCLASSEXTEND = "devupstream:target"
|
|
||||||
|
|
||||||
SRC_URI_class-devupstream = "git://github.com/STMicroelectronics/arm-trusted-firmware.git;protocol=https;name=tfa;branch=v2.0-stm32mp"
|
|
||||||
SRCREV_class-devupstream = "5148fa0d1272cdf714ba0d7f0c38e0f72fa27020"
|
|
||||||
SRCREV_FORMAT_class-devupstream = "tfa"
|
|
||||||
PV_class-devupstream = "${TF_VERSION}+github+${SRCPV}"
|
|
||||||
# ---------------------------------
|
|
||||||
# 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)}"
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
require tf-a-stm32mp-common_${PV}.inc
|
||||||
|
require tf-a-stm32mp-common.inc
|
||||||
|
|
||||||
|
SUMMARY = "Trusted Firmware-A for STM32MP1"
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
|
||||||
|
PROVIDES += "virtual/trusted-firmware-a"
|
||||||
|
|
||||||
|
# Configure stm32mp1 make settings
|
||||||
|
EXTRA_OEMAKE += 'PLAT=stm32mp1'
|
||||||
|
EXTRA_OEMAKE += 'ARCH=aarch32'
|
||||||
|
EXTRA_OEMAKE += 'ARM_ARCH_MAJOR=7'
|
||||||
|
# Configure default mode (All supported device type)
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_SDMMC=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_EMMC=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_SPI_NOR=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_RAW_NAND=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_SPI_NAND=1'
|
||||||
|
|
||||||
|
# Enable the wrapper for debug
|
||||||
|
TF_A_ENABLE_DEBUG_WRAPPER ?= "1"
|
||||||
|
|
||||||
|
# ---------------------------------
|
||||||
|
# Configure archiver use
|
||||||
|
# ---------------------------------
|
||||||
|
include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'tf-a-stm32mp-archiver.inc','')}
|
||||||
Reference in new issue
Block a user