1*4882a593Smuzhiyun#!/usr/bin/env bash 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in 5*4882a593Smuzhiyun# BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES in ${BR_CONFIG}, 6*4882a593Smuzhiyun# then prints the corresponding file name for the genimage 7*4882a593Smuzhiyun# configuration file 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyunatf_image() 10*4882a593Smuzhiyun{ 11*4882a593Smuzhiyun local ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun if grep -Eq "DTB_FILE_NAME=stm32mp157c-dk2.dtb" <<< ${ATF_VARIABLES}; then 14*4882a593Smuzhiyun echo "tf-a-stm32mp157c-dk2.stm32" 15*4882a593Smuzhiyun elif grep -Eq "DTB_FILE_NAME=stm32mp157a-dk1.dtb" <<< ${ATF_VARIABLES}; then 16*4882a593Smuzhiyun echo "tf-a-stm32mp157a-dk1.stm32" 17*4882a593Smuzhiyun elif grep -Eq "DTB_FILE_NAME=stm32mp157a-avenger96.dtb" <<< ${ATF_VARIABLES}; then 18*4882a593Smuzhiyun echo "tf-a-stm32mp157a-avenger96.stm32" 19*4882a593Smuzhiyun fi 20*4882a593Smuzhiyun} 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunmain() 23*4882a593Smuzhiyun{ 24*4882a593Smuzhiyun local ATFBIN="$(atf_image)" 25*4882a593Smuzhiyun local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" 26*4882a593Smuzhiyun local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun sed -e "s/%ATFBIN%/${ATFBIN}/" \ 29*4882a593Smuzhiyun board/stmicroelectronics/common/stm32mp157/genimage.cfg.template > ${GENIMAGE_CFG} 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun support/scripts/genimage.sh -c ${GENIMAGE_CFG} 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun rm -f ${GENIMAGE_CFG} 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun exit $? 36*4882a593Smuzhiyun} 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunmain $@ 39