ARCHIVER: Update for fip build and release information
Change-Id: I8ddd8c61ff7488ce40f87a160f603de32425386a
This commit is contained in:
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"
|
||||
|
||||
# ---------------------------------
|
||||
|
||||
Reference in new issue
Block a user