aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc')
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
new file mode 100644
index 00000000..c5c4e385
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
@@ -0,0 +1,51 @@
+# specify BIF common attribute for FSBL
+BIF_COMMON_ATTR ?= ""
+
+# specify BIF partition attributes required for BOOT.bin
+# For details on ordering, see:
+# https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842019/Zynq+UltraScale+FSBL#ZynqUltraScale%2BFSBL-IsthereanyorderinwhichIhavetospecifybitstreaminBIFfile(forbootimagecreation)%3F
+#
+# The loading rules:
+# From the 2017.1 release, bistreams should be loaded bfore ATF...
+# ...preferably immediately after the FSBL and PMUFW.
+#
+# While the first few components must be fsbl and pmufw per:
+# https://www.xilinx.com/support/documentation/sw_manuals/xilinx2021_2/ug1283-bootgen-user-guide.pdf
+#
+# This combination restricts the boot order to be:
+# FSBL & PMUFW -> Bitstream (if available) -> ATF -> Device Tree (if available) -> Second Stage Bootloader
+#
+BIF_FSBL_ATTR ??= "fsbl pmufw"
+BIF_BITSTREAM_ATTR ??= ""
+BIF_ATF_ATTR ??= "arm-trusted-firmware"
+BIF_DEVICETREE_ATTR ??= "device-tree"
+BIF_SSBL_ATTR ??= "u-boot-xlnx"
+BIF_PARTITION_ATTR ??= "${BIF_FSBL_ATTR} ${BIF_BITSTREAM_ATTR} ${BIF_ATF_ATTR} ${BIF_DEVICETREE_ATTR} ${BIF_SSBL_ATTR}"
+
+# specify BIF partition attributes for FSBL
+# bootloader is FSBL. Location where FSBL binary is present and dependency to build FSBL
+BIF_PARTITION_ATTR[fsbl] ?= "bootloader, destination_cpu=a53-0"
+BIF_PARTITION_IMAGE[fsbl] ?= "${RECIPE_SYSROOT}/boot/fsbl.elf"
+
+# specify BIF partition attributes for PMU Firmware
+# destination cpu for PMU. Location where PMU binary is present and dependency to build PMU Firmware
+BIF_PARTITION_ATTR[pmufw] ?= "destination_cpu=pmu"
+BIF_PARTITION_IMAGE[pmufw] ?= "${RECIPE_SYSROOT}/boot/pmufw.elf"
+
+# specify BIF partition attributes for ATF
+# destination cpu for ATF, security levels. Location where ATF binary is present (dependency is not required as ATF is always built for ZU+, see zcu102-zynqmp.conf)
+BIF_PARTITION_ATTR[arm-trusted-firmware] ?= "destination_cpu=a53-0,exception_level=el-3,trustzone"
+BIF_PARTITION_IMAGE[arm-trusted-firmware] ?= "${RECIPE_SYSROOT}/boot/arm-trusted-firmware.elf"
+
+# specify BIF partition attributes for u-boot
+# destination cpu for u-boot, security levels. Location where u-boot binary is present (dependency is not required as u-boot is always built for ZU+, see zcu102-zynqmp.conf)
+BIF_PARTITION_ATTR[u-boot-xlnx] ?= "destination_cpu=a53-0,exception_level=el-2"
+BIF_PARTITION_IMAGE[u-boot-xlnx] ?= "${RECIPE_SYSROOT}/boot/u-boot.elf"
+
+# specify BIF partition attributes for dtb
+BIF_PARTITION_ATTR[device-tree] ?= "destination_cpu=a53-0,load=0x100000"
+BIF_PARTITION_IMAGE[device-tree] ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
+
+# enable bitstream-Note this is not enabled by default (missing in BIF_PARTITION_ATTR)
+BIF_PARTITION_ATTR[bitstream] ?= "destination_device=pl"
+BIF_PARTITION_IMAGE[bitstream] ?= "${RECIPE_SYSROOT}/boot/bitstream/download-${MACHINE}.bit"