TF-A-STM32MP-SSP: integration for v2.0.0 (v2.2-stm32mp-ssp-r1)
Change-Id: I5299ae4f408e9a320330b90c85d13df4e9046b59
This commit is contained in:
parent
b698195170
commit
730fb4e12c
|
|
@ -0,0 +1,112 @@
|
||||||
|
#
|
||||||
|
# Archiver Configuration
|
||||||
|
#
|
||||||
|
SRC_URI_append = " file://README.HOW_TO.txt "
|
||||||
|
|
||||||
|
inherit archiver
|
||||||
|
ARCHIVER_MODE[src] = "original"
|
||||||
|
COPYLEFT_LICENSE_INCLUDE_append = " BSD-3* "
|
||||||
|
|
||||||
|
inherit archiver_stm32mp_clean
|
||||||
|
|
||||||
|
archiver_create_makefile_for_sdk() {
|
||||||
|
. ${T}/tfaconfig_env
|
||||||
|
|
||||||
|
# Init internal var for tfa_config_oemake: should be 'config,extraoemake'
|
||||||
|
for config in ${TF_A_CONFIG}; do
|
||||||
|
tf_a_config_oemake="${tf_a_config_oemake} ${config},\"$(eval echo \$TF_A_CONFIG_${config})\""
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p ${ARCHIVER_OUTDIR}
|
||||||
|
cat << EOF > ${ARCHIVER_OUTDIR}/Makefile.sdk
|
||||||
|
#remove default variable
|
||||||
|
LDFLAGS=
|
||||||
|
CFLAGS=
|
||||||
|
CPPFLAGS=
|
||||||
|
CC=
|
||||||
|
CPP=
|
||||||
|
AS=
|
||||||
|
AR=
|
||||||
|
LD=
|
||||||
|
NM=
|
||||||
|
|
||||||
|
LOCAL_PATH=\$(PWD)
|
||||||
|
|
||||||
|
EXTRA_OEMAKE=${EXTRA_OEMAKE}
|
||||||
|
|
||||||
|
# Set default config
|
||||||
|
ELF_DEBUG_ENABLE ?= ${ELF_DEBUG_ENABLE}
|
||||||
|
TF_A_CONFIG ?= ${TF_A_CONFIG}
|
||||||
|
|
||||||
|
# Set specific OEMAKE config
|
||||||
|
TF_A_CONFIG_OEMAKE = ${tf_a_config_oemake}
|
||||||
|
# Set default TFA_DEVICETREE
|
||||||
|
TFA_DEVICETREE ?= ${TF_A_DEVICETREE}
|
||||||
|
|
||||||
|
#Set default TF_A_ENABLE_DEBUG_WRAPPER
|
||||||
|
TF_A_ENABLE_DEBUG_WRAPPER ?= ${TF_A_ENABLE_DEBUG_WRAPPER}
|
||||||
|
|
||||||
|
help:
|
||||||
|
@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
|
||||||
|
|
||||||
|
all: tf
|
||||||
|
|
||||||
|
host_tools:
|
||||||
|
@\$(MAKE) --no-print-directory -C \$(LOCAL_PATH)/tools/stm32image
|
||||||
|
|
||||||
|
tf: host_tools
|
||||||
|
for config in \$(TF_A_CONFIG) ; do \\
|
||||||
|
# Init any extraoemake \\
|
||||||
|
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 \\
|
||||||
|
\$(MAKE) \$(EXTRA_OEMAKE) -C \$(LOCAL_PATH) DTB_FILE_NAME=\$\$dt.dtb BUILD_PLAT=\$(LOCAL_PATH)/../build/\$\$config \$\$add_extraoemake ; \\
|
||||||
|
# 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 ; \\
|
||||||
|
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"
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
require tf-a-stm32mp-common_${PV}.inc
|
||||||
|
require tf-a-stm32mp-common.inc
|
||||||
|
|
||||||
|
SUMMARY = "Trusted Firmware-A SSP for STM32MP1"
|
||||||
|
LICENSE = "BSD-3-Clause"
|
||||||
|
|
||||||
|
PROVIDES += "virtual/trusted-firmware-a-ssp"
|
||||||
|
|
||||||
|
TFA_SHARED_SOURCES = "0"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0100-st-update-ssp-v2.2-r2.0.0.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
TF_A_BASENAME = "tf-a-ssp"
|
||||||
|
TF_A_CONFIG = "ssp"
|
||||||
|
TF_A_CONFIG_ssp = " STM32MP_SSP=1 "
|
||||||
|
|
||||||
|
# Configure stm32mp1 make settings
|
||||||
|
EXTRA_OEMAKE += 'PLAT=stm32mp1'
|
||||||
|
EXTRA_OEMAKE += 'ARCH=aarch32'
|
||||||
|
EXTRA_OEMAKE += 'ARM_ARCH_MAJOR=7'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_UART_PROGRAMMER=1'
|
||||||
|
EXTRA_OEMAKE += 'STM32MP_USB_PROGRAMMER=1'
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------
|
||||||
|
# Configure archiver use
|
||||||
|
# ---------------------------------
|
||||||
|
include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'tf-a-stm32mp-ssp-archiver.inc','')}
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue