summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-zynqmp
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2020-03-23 14:40:52 +0100
committerMichal Simek <michal.simek@xilinx.com>2020-04-06 12:52:45 +0200
commitb8c3d3f45fb3cfd164ecec2f34ab7fcb5985bcfc (patch)
tree0245173507d306dc34e48c95a914168cdda4a41d /arch/arm/mach-zynqmp
parent3d037524756ef2dce6a072975d6a73a5a89d414c (diff)
downloadu-boot-b8c3d3f45fb3cfd164ecec2f34ab7fcb5985bcfc.tar.gz
u-boot-b8c3d3f45fb3cfd164ecec2f34ab7fcb5985bcfc.tar.xz
u-boot-b8c3d3f45fb3cfd164ecec2f34ab7fcb5985bcfc.zip
arm64: zynqmp: Add support for u-boot.itb generation without ATF
If ATF doesn't exist generate u-boot.itb without it and let U-Boot run in EL3. Still keep warning to let user know that ATF/BL31 is missing. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/mach-zynqmp')
-rwxr-xr-xarch/arm/mach-zynqmp/mkimage_fit_atf.sh23
1 files changed, 18 insertions, 5 deletions
diff --git a/arch/arm/mach-zynqmp/mkimage_fit_atf.sh b/arch/arm/mach-zynqmp/mkimage_fit_atf.sh
index 1e770ba111..92e31849f8 100755
--- a/arch/arm/mach-zynqmp/mkimage_fit_atf.sh
+++ b/arch/arm/mach-zynqmp/mkimage_fit_atf.sh
@@ -29,11 +29,8 @@ else
fi
if [ ! -f $BL31 ]; then
- echo "WARNING: BL31 file $BL31 NOT found, resulting binary is non-functional" >&2
+ echo "WARNING: BL31 file $BL31 NOT found, U-Boot will run in EL3" >&2
BL31=/dev/null
- # But U-Boot proper could be loaded in EL3 by specifying
- # firmware = "uboot";
- # instead of "atf" in config node
fi
cat << __HEADER_EOF
@@ -58,6 +55,10 @@ cat << __HEADER_EOF
algo = "md5";
};
};
+__HEADER_EOF
+
+if [ -f $BL31 ]; then
+cat << __ATF
atf {
description = "ARM Trusted Firmware";
data = /incbin/("$BL31");
@@ -71,7 +72,8 @@ cat << __HEADER_EOF
algo = "md5";
};
};
-__HEADER_EOF
+__ATF
+fi
DEFAULT=1
cnt=1
@@ -106,6 +108,15 @@ __CONF_HEADER_EOF
cnt=1
for dtname in $DT
do
+if [ ! -f $BL31 ]; then
+cat << __CONF_SECTION1_EOF
+ config_$cnt {
+ description = "$(basename $dtname .dtb)";
+ firmware = "uboot";
+ fdt = "fdt_$cnt";
+ };
+__CONF_SECTION1_EOF
+else
cat << __CONF_SECTION1_EOF
config_$cnt {
description = "$(basename $dtname .dtb)";
@@ -114,6 +125,8 @@ cat << __CONF_SECTION1_EOF
fdt = "fdt_$cnt";
};
__CONF_SECTION1_EOF
+fi
+
cnt=$((cnt+1))
done