xref: /OK3568_Linux_fs/buildroot/board/stmicroelectronics/common/stm32mp157/post-image.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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