scripts: xtensa-build-all: Add support for building TGL and signing with MEU

Add support for building TGL FW and signing with MEU tool. Signing
with rimage is not supported atm.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
Ranjani Sridharan 2020-07-10 19:46:13 -07:00 committed by Liam Girdwood
parent dfd2336bb2
commit 88b69cc2e5
1 changed files with 26 additions and 5 deletions

View File

@ -45,12 +45,13 @@ usage: xtensa-build.sh [options] platform(s)
-v Verbose Makefile log -v Verbose Makefile log
-j n Set number of make build jobs. Jobs=#cores when no flag. \ -j n Set number of make build jobs. Jobs=#cores when no flag. \
Infinte when not specified. Infinte when not specified.
-m path to MEU tool. Switches signing step to use MEU instead of rimage.
Supported platforms ${SUPPORTED_PLATFORMS[*]} Supported platforms ${SUPPORTED_PLATFORMS[*]}
EOF EOF
} }
# parse the args # parse the args
while getopts "rudj:ckvo:a" OPTION; do while getopts "rudj:ckvao:m:" OPTION; do
case "$OPTION" in case "$OPTION" in
r) BUILD_ROM=yes ;; r) BUILD_ROM=yes ;;
u) BUILD_FORCE_UP=yes ;; u) BUILD_FORCE_UP=yes ;;
@ -61,17 +62,28 @@ while getopts "rudj:ckvo:a" OPTION; do
o) OVERRIDE_CONFIG=$OPTARG ;; o) OVERRIDE_CONFIG=$OPTARG ;;
v) BUILD_VERBOSE='VERBOSE=1' ;; v) BUILD_VERBOSE='VERBOSE=1' ;;
a) PLATFORMS=("${SUPPORTED_PLATFORMS[@]}") ;; a) PLATFORMS=("${SUPPORTED_PLATFORMS[@]}") ;;
m) MEU_TOOL_PATH=$OPTARG ;;
*) print_usage; exit 1 ;; *) print_usage; exit 1 ;;
esac esac
done done
shift $((OPTIND-1)) shift $((OPTIND-1))
#default signing tool
SIGNING_TOOL=RIMAGE
if [ -n "${OVERRIDE_CONFIG}" ] if [ -n "${OVERRIDE_CONFIG}" ]
then then
OVERRIDE_CONFIG="src/arch/xtensa/configs/override/$OVERRIDE_CONFIG.config" OVERRIDE_CONFIG="src/arch/xtensa/configs/override/$OVERRIDE_CONFIG.config"
[ -f "${OVERRIDE_CONFIG}" ] || die 'Invalid override config file %s\n' "${OVERRIDE_CONFIG}" [ -f "${OVERRIDE_CONFIG}" ] || die 'Invalid override config file %s\n' "${OVERRIDE_CONFIG}"
fi fi
if [ -n "${MEU_TOOL_PATH}" ]
then
[ -d "${MEU_TOOL_PATH}" ] || die 'Invalid MEU TOOL PATH %s\n' "${MEU_TOOL_PATH}"
MEU_PATH_OPTION=-DMEU_PATH="${MEU_TOOL_PATH}"
SIGNING_TOOL=MEU
fi
# parse platform args # parse platform args
for arg in "$@"; do for arg in "$@"; do
platform=none platform=none
@ -219,10 +231,15 @@ do
tgl) tgl)
PLATFORM="tigerlake" PLATFORM="tigerlake"
ARCH="xtensa-smp" ARCH="xtensa-smp"
XTENSA_CORE="X6H3CNL_2017_8" XTENSA_CORE="cavs2x_LX6HiFi3_2017_8"
HOST="xtensa-cnl-elf" HOST="xtensa-cnl-elf"
XTENSA_TOOLS_VERSION="RG-2017.8-linux" XTENSA_TOOLS_VERSION="RG-2017.8-linux"
HAVE_ROM='yes' HAVE_ROM='yes'
# default key for TGL
if [ -z "$PRIVATE_KEY_OPTION" ]
then
PRIVATE_KEY_OPTION="-D${SIGNING_TOOL}_PRIVATE_KEY=$pwd/keys/otc_private_key_3k.pem"
fi
;; ;;
jsl) jsl)
PLATFORM="jasperlake" PLATFORM="jasperlake"
@ -306,6 +323,8 @@ do
( set -x # log the main commands and their parameters ( set -x # log the main commands and their parameters
cmake -DTOOLCHAIN="$TOOLCHAIN" \ cmake -DTOOLCHAIN="$TOOLCHAIN" \
-DROOT_DIR="$ROOT" \ -DROOT_DIR="$ROOT" \
-DMEU_OPENSSL="${MEU_OPENSSL}" \
"${MEU_PATH_OPTION}" \
"${PRIVATE_KEY_OPTION}" \ "${PRIVATE_KEY_OPTION}" \
.. ..
@ -344,13 +363,15 @@ do
make overrideconfig make overrideconfig
fi fi
if [ 'tgl' != "${platform}" ]; then # TGL needs MEU tool for signing
make bin -j "${BUILD_JOBS}" ${BUILD_VERBOSE} if [ 'tgl' = "${platform}" ] && [ "${SIGNING_TOOL}" = "RIMAGE" ]
else # FIXME: finish gcc support for tgl then # build unsigned FW binary
make sof -j "${BUILD_JOBS}" ${BUILD_VERBOSE} make sof -j "${BUILD_JOBS}" ${BUILD_VERBOSE}
if [ "$BUILD_ROM" = "yes" ]; then if [ "$BUILD_ROM" = "yes" ]; then
make rom_dump ${BUILD_VERBOSE} make rom_dump ${BUILD_VERBOSE}
fi fi
else # build signed FW binary
make bin -j "${BUILD_JOBS}" ${BUILD_VERBOSE}
fi fi
cd "$WORKDIR" cd "$WORKDIR"