xilinx: zynqmp: Generate different u-boot.itb for MULTI_DTB_FIT

When MULTI_DTB_FIT is enabled fit-dtb.blob fit image is created which
contain all DTBs listed by CONFIG_OF_LIST. And with DTB_RELESELECT there is
a need to handle it as one file with DTBs in it not as separate DTBs in
u-boot.its/itb.
That's why extend mkimage_fit_atf.sh to generate u-boot.itb correctly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
Michal Simek 2021-08-19 12:02:57 +02:00
parent f28a22d55a
commit e69213611e

View File

@ -111,6 +111,51 @@ cat << __TEE
__TEE
fi
MULTI_DTB=`awk '/CONFIG_MULTI_DTB_FIT / { print $3 }' include/generated/autoconf.h`
if [ 1"$MULTI_DTB" -eq 11 ]; then
cat << __FDT_IMAGE_EOF
fdt_1 {
description = "Multi DTB fit image";
data = /incbin/("fit-dtb.blob");
type = "flat_dt";
arch = "arm64";
compression = "none";
$DTB_LOAD
hash {
algo = "md5";
};
};
};
configurations {
default = "config_1";
__FDT_IMAGE_EOF
if [ ! -f $BL31 ]; then
cat << __CONF_SECTION1_EOF
config_1 {
description = "Multi DTB without TF-A";
firmware = "uboot";
loadables = "fdt_1";
};
__CONF_SECTION1_EOF
else
cat << __CONF_SECTION1_EOF
config_1 {
description = "Multi DTB with TF-A";
firmware = "atf";
loadables = "uboot", "fdt_1";
};
__CONF_SECTION1_EOF
fi
cat << __ITS_EOF
};
};
__ITS_EOF
else
DEFAULT=1
cnt=1
for dtname in $DT
@ -181,3 +226,5 @@ cat << __ITS_EOF
};
};
__ITS_EOF
fi