ARCHIVER: Update for fip build and release information

Change-Id: I8ddd8c61ff7488ce40f87a160f603de32425386a
This commit is contained in:
Lionel VITTE committed 2021-11-16 17:56:04 +01:00
1 parent cc43f8cd6e
commit fef27aed02
12 files changed
+210 -66

No files matched your search

@@ -27,7 +27,11 @@ TF_A_ENABLE_DEBUG_WRAPPER ?= ${TF_A_ENABLE_DEBUG_WRAPPER}
ENABLE_FIP ?= ${@bb.utils.contains('MACHINE_FEATURES', 'fip', '1', '', d)}
# Set default TF-A config
ifeq (\$(ENABLE_FIP), 1)
TF_A_CONFIG ?= ${TF_A_CONFIG}
else
TF_A_CONFIG ?= ${BOOTSCHEME_LABELS} ${TF_A_CONFIG_4LEGACY}
endif
# Default TF-A overall settings to null
TF_A_BINARY ?=
@@ -35,6 +39,8 @@ TF_A_DEVICETREE ?=
TF_A_MAKE_TARGET ?=
TF_A_EXTRA_OPTFLAGS ?=
ifeq (\$(ENABLE_FIP), 1)
EOF
unset i
for config in ${TF_A_CONFIG}; do
@@ -49,6 +55,46 @@ TF_A_MAKE_TARGET_$config ?= $(echo ${TF_A_MAKE_TARGET} | cut -d',' -f${i})
EOF
done
cat << EOF >> ${ARCHIVER_OUTDIR}/Makefile.sdk
else
EOF
for bootscheme in ${BOOTSCHEME_LABELS}; do
unset i
for config in ${TF_A_CONFIG}; do
i=$(expr $i + 1)
if [ "$bootscheme" = "$config" ]; then
cat << EOF >> ${ARCHIVER_OUTDIR}/Makefile.sdk
# Init default config settings
TF_A_DEVICETREE_$config ?= $(echo ${TF_A_DEVICETREE} | cut -d',' -f${i})
TF_A_EXTRA_OPTFLAGS_$config ?= $(echo ${TF_A_EXTRA_OPTFLAGS} | cut -d',' -f${i}) ${TF_A_EXTRACONF_LEGACY}
TF_A_BINARY_$config ?= $(echo ${TF_A_BINARIES} | cut -d',' -f${i})
TF_A_MAKE_TARGET_$config ?=
EOF
fi
done
done
cat << EOF >> ${ARCHIVER_OUTDIR}/Makefile.sdk
TF_A_DEVICETREE_$(echo ${TF_A_CONFIG_4LEGACY} | xargs) ?=
TF_A_EXTRA_OPTFLAGS_$(echo ${TF_A_CONFIG_4LEGACY} | xargs) ?=
TF_A_BINARY_$(echo ${TF_A_CONFIG_4LEGACY} | xargs) ?=
TF_A_MAKE_TARGET_$(echo ${TF_A_CONFIG_4LEGACY} | xargs) ?=
ifeq (\$(TF_A_DEVICETREE_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)),)
\$(error "Please, define the variable TF_A_DEVICETREE_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)")
endif
ifeq (\$(TF_A_EXTRA_OPTFLAGS_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)),)
\$(error "Please, define the variable TF_A_EXTRA_OPTFLAGS_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)")
endif
ifeq (\$(TF_A_BINARY_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)),)
\$(error "Please, define the variable TF_A_BINARY_$(echo ${TF_A_CONFIG_4LEGACY} | xargs)")
endif
endif
# Reset default variables
LDFLAGS =
CFLAGS =
@@ -84,7 +130,7 @@ tf-\$(1): \$2
DTB_FILE_NAME=\$(dt).dtb \\
\$(if \$(TF_A_EXTRA_OPTFLAGS),\$(TF_A_EXTRA_OPTFLAGS),\$(TF_A_EXTRA_OPTFLAGS_\$(1))) \\
\$(if \$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET),\$(TF_A_MAKE_TARGET_\$(1))) \\
\$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(shell echo \$(dt) | grep -c \$(soc)),\$(shell echo \$(soc) | tr a-z A-Z)=1,)) ; \\
\$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),\$(shell echo \$(soc) | tr a-z A-Z)=1,)) ; \\
)
endef
@@ -102,13 +148,13 @@ deploy-\$(1): tf-\$(1)
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL32_BASENAME}.${BL32_SUFFIX} ] ; then \\
mkdir -p \$(BL32_DEPLOYDIR) ; \\
cp -f \$(BLD_PATH)/\$(1)/${BL32_BASENAME}.${BL32_SUFFIX} \$(BL32_DEPLOYDIR)/\$(2)-${BL32_BASENAME}\$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(shell echo \$(dt) | grep -c \$(soc)),-\$(soc),)).${BL32_SUFFIX} ; \\
cp -f \$(BLD_PATH)/\$(1)/${BL32_BASENAME}.${BL32_SUFFIX} \$(BL32_DEPLOYDIR)/\$(2)-${BL32_BASENAME}\$(strip \$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),-\$(soc),))).${BL32_SUFFIX} ; \\
if [ -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} ]; then \\
cp -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${BL32_BASENAME}.${DT_SUFFIX} \$(BL32_DEPLOYDIR)/ ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/${BL32_ELF} ]; then \\
mkdir -p \$(BL32_DEPLOYDIR)/debug ; \\
mv -f \$(BLD_PATH)/\$(1)/${BL32_ELF} \$(BL32_DEPLOYDIR)/debug/\$(2)-${BL32_BASENAME}\$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(shell echo \$(dt) | grep -c \$(soc)),-\$(soc),)).${TF_A_ELF_SUFFIX} ; \\
mv -f \$(BLD_PATH)/\$(1)/${BL32_ELF} \$(BL32_DEPLOYDIR)/debug/\$(2)-${BL32_BASENAME}\$(strip \$(foreach soc,${STM32MP_SOC_NAME},\$(if \$(findstring \$(soc),\$(dt)),-\$(soc),))).${TF_A_ELF_SUFFIX} ; \\
fi ; \\
fi ; \\
if [ -f \$(BLD_PATH)/\$(1)/fdts/\$(dt)-${FWCONFIG_NAME}.${DT_SUFFIX} ]; then \\
@@ -124,6 +170,12 @@ deploy-\$(1): tf-\$(1)
)
endef
# Set dependencies list for building all
DEPS = \$(addprefix deploy-,\$(TF_A_CONFIG))
ifeq (\$(ENABLE_FIP), 1)
DEPS += fip
endif
help:
@echo
@echo "TF-A configuration:"
@@ -160,7 +212,7 @@ endif
@echo " clean : clean build directories from generated files"
@echo
all: \$(addprefix deploy-,\$(TF_A_CONFIG)) \$(if \$(ENABLE_FIP),fip)
all: \$(DEPS)
host_tools:
@\$(MAKE) --no-print-directory -C \$(SRC_PATH)/tools/stm32image
@@ -47,20 +47,32 @@ git management on the code see section 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
can use git:
have 3 solutions to use git:
4.1 Get STMicroelectronics TF-A source from GitHub
URL: https://github.com/STMicroelectronics/arm-trusted-firmware.git
Branch: ##ARCHIVER_ST_BRANCH##
Revision: ##ARCHIVER_ST_REVISION##
$ git clone https://github.com/STMicroelectronics/arm-trusted-firmware.git
$ git checkout -b WORKING ##ARCHIVER_ST_REVISION##
4.2 Create Git from tarball
$ cd <directory to tf-a source code>
$ test -d .git || git init . && git add . && git commit -m "tf-a source code" && git gc
$ git checkout -b WORKING
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
NB: you can use directly the source from the community:
URL: git://github.com/ARM-software/arm-trusted-firmware.git
Branch: ##GIT_BRANCH##
Revision: ##GIT_SRCREV##
4.3 Get Git from community and apply STMicroelectronics patches
$ git clone git://github.com/ARM-software/arm-trusted-firmware.git -b ##GIT_BRANCH##
URL: git://github.com/ARM-software/arm-trusted-firmware.git
Branch: ##ARCHIVER_COMMUNITY_BRANCH##
Revision: ##ARCHIVER_COMMUNITY_REVISION##
$ git clone git://github.com/ARM-software/arm-trusted-firmware.git
$ cd <directory to tf-a source code>
$ git checkout -b WORKING ##GIT_SRCREV##
$ git checkout -b WORKING ##ARCHIVER_COMMUNITY_REVISION##
$ for p in `ls -1 <path to patch>/*.patch`; do git am $p; done
5. Build tf-a source code:
@@ -72,9 +84,9 @@ Since OpenSTLinux has activated FIP by default, so the FIP_artifacts should be s
To compile tf-a source code
$> make -f $PWD/../Makefile.sdk all
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 TF_A_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: TF_A_DEVICETREE flag must be set to switch to correct board configuration.
The generated FIP images are available in $FIP_DEPLOYDIR_ROOT/fip
@@ -16,8 +16,15 @@ SRC_URI += " \
file://0001-st-update-v2.4-r1.0.0.patch \
"
TF_VERSION = "2.4"
PV = "${TF_VERSION}.r1"
TF_A_VERSION = "v2.4"
TF_A_SUBVERSION = "stm32mp"
TF_A_RELEASE = "r1"
PV = "${TF_A_VERSION}-${TF_A_SUBVERSION}-${TF_A_RELEASE}"
ARCHIVER_ST_BRANCH = "${TF_A_VERSION}-${TF_A_SUBVERSION}"
ARCHIVER_ST_REVISION = "${PV}"
ARCHIVER_COMMUNITY_BRANCH = "master"
ARCHIVER_COMMUNITY_REVISION = "${TF_A_VERSION}"
S = "${WORKDIR}/git"
@@ -39,7 +46,7 @@ include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'tf-a-stm32mp-
# ---------------------------------
BBCLASSEXTEND = "devupstream:target"
SRC_URI_class-devupstream = "git://github.com/STMicroelectronics/arm-trusted-firmware.git;protocol=https;branch=v${TF_VERSION}-stm32mp"
SRC_URI_class-devupstream = "git://github.com/STMicroelectronics/arm-trusted-firmware.git;protocol=https;branch=${ARCHIVER_ST_BRANCH}"
SRCREV_class-devupstream = "40572e4067f205691a4dca3b5fdabe3a40c69594"
# ---------------------------------