summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp
diff options
context:
space:
mode:
authorJaewon Lee <jaewon.lee@xilinx.com>2021-06-21 14:46:06 -0700
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2021-09-27 21:34:01 -0700
commit2bb2224aa7446f64b9843752c41cab3fc8ded6fa (patch)
tree6bc2a3fff080ab0ec858130c06b95e2250514362 /meta-xilinx-bsp
parente0718bdb5b141438b6f21911a48f00f6e470736f (diff)
downloadmeta-xilinx-2bb2224aa7446f64b9843752c41cab3fc8ded6fa.tar.gz
Enabling bootbin wiring for decoupling flow for zynqmp and versal
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Diffstat (limited to 'meta-xilinx-bsp')
-rw-r--r--meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc4
-rw-r--r--meta-xilinx-bsp/recipes-bsp/base-pdi/base-pdi_1.0.bb30
-rw-r--r--meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-versal.inc63
-rw-r--r--meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc27
-rw-r--r--meta-xilinx-bsp/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb24
-rw-r--r--meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb9
-rw-r--r--meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb18
-rw-r--r--meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb18
-rw-r--r--meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb18
-rw-r--r--meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb18
10 files changed, 98 insertions, 131 deletions
diff --git a/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
index 64279467..5060887b 100644
--- a/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
+++ b/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
@@ -81,7 +81,7 @@ do_compile() {
81 81
82do_install() { 82do_install() {
83 install -d ${D}/boot 83 install -d ${D}/boot
84 install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}-${SRCPV}.elf 84 install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}.elf
85} 85}
86 86
87do_deploy() { 87do_deploy() {
@@ -100,4 +100,4 @@ do_deploy() {
100 ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub 100 ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub
101} 101}
102addtask deploy before do_build after do_compile 102addtask deploy before do_build after do_compile
103FILES_${PN} += "/boot/${PN}-${SRCPV}.elf" 103FILES_${PN} += "/boot/${PN}.elf"
diff --git a/meta-xilinx-bsp/recipes-bsp/base-pdi/base-pdi_1.0.bb b/meta-xilinx-bsp/recipes-bsp/base-pdi/base-pdi_1.0.bb
new file mode 100644
index 00000000..8b77fd51
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-bsp/base-pdi/base-pdi_1.0.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "Recipe to deploy base pdi"
2
3LICENSE = "CLOSED"
4
5PROVIDES = "virtual/base-pdi"
6
7COMPATIBLE_MACHINE = "^$"
8COMPATIBLE_MACHINE_versal = "versal"
9
10PACKAGE_ARCH ?= "${MACHINE_ARCH}"
11
12do_compile[noexec] = "1"
13
14PDI_PATH ?= ""
15SRC_URI += "${@['file://'+d.getVar('PDI_PATH'),''][d.getVar('PDI_PATH') == '']}"
16
17#base install will just take from PDI_PATH variable
18#will need to bbappend to this in meta-xilinx-tools to use xsct to extract pdi from xsa and install
19do_install() {
20
21 if [ -f ${WORKDIR}/${PDI_PATH} ];then
22 install -d ${D}/boot
23 install -m 0644 ${WORKDIR}/${PDI_PATH} ${D}/boot/base-design.pdi
24 else
25 bbfatal "No base pdi supplied"
26 fi
27}
28SYSROOT_DIRS += "/boot"
29
30FILES_${PN} += "/boot/*"
diff --git a/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-versal.inc b/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-versal.inc
index e10339dd..a9c58aa2 100644
--- a/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-versal.inc
+++ b/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-versal.inc
@@ -1,46 +1,35 @@
1#Extra args for versal 1#Extra args for versal
2BOOTGEN_EXTRA_ARGS += "-dump bh" 2BOOTGEN_EXTRA_ARGS += "-dump bh"
3 3
4#Add pdi dependency for versal
5DEPENDS += "virtual/base-pdi"
6
7# specify BIF common attribute for FSBL 4# specify BIF common attribute for FSBL
8BIF_COMMON_ATTR ?= "" 5BIF_COMMON_ATTR ?= ""
9 6
10# specify BIF partition attributes required for BOOT.bin 7# specify BIF partition attributes required for BOOT.bin
11BIF_PARTITION_ATTR ?= "pdi plm psm dtb atf u-boot" 8BIF_PARTITION_ATTR ?= "base-pdi plmfw psmfw device-tree arm-trusted-firmware u-boot-xlnx"
12 9
13# specify BIF partition attributes for pdi 10# specify BIF partition attributes for base-pdi
14BIF_PARTITION_ATTR[pdi] ?= "type=bootimage" 11BIF_PARTITION_ATTR[base-pdi] ?= "type=bootimage"
15BIF_PARTITION_IMAGE[pdi] ?= "${RECIPE_SYSROOT}/boot/base-design.pdi" 12BIF_PARTITION_IMAGE[base-pdi] ?= "${RECIPE_SYSROOT}/boot/base-design.pdi"
16BIF_PARTITION_DEPENDS[pdi] ?= "virtual/base-pdi:do_populate_sysroot" 13
17 14# specify BIF partition attributes for plmfw
18# specify BIF partition attributes for plm 15BIF_PARTITION_ATTR[plmfw] ?= "type=bootloader"
19PLM_IMAGE_NAME ??= "plm-${MACHINE}" 16BIF_PARTITION_IMAGE[plmfw] ?= "${RECIPE_SYSROOT}/boot/plmfw.elf"
20BIF_PARTITION_ATTR[plm] ?= "type=bootloader" 17
21BIF_PARTITION_IMAGE[plm] ?= "${DEPLOY_DIR_IMAGE}/${PLM_IMAGE_NAME}.elf" 18# specify BIF partition attributes for psmfw
22BIF_PARTITION_DEPENDS[plm] ?= "virtual/plm:do_deploy" 19BIF_PARTITION_ATTR[psmfw] ?= "core=psm"
23 20BIF_PARTITION_IMAGE[psmfw] ?= "${RECIPE_SYSROOT}/boot/psmfw.elf"
24# specify BIF partition attributes for psm 21
25PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}" 22# specify BIF partition attributes for device-tree
26BIF_PARTITION_ATTR[psm] ?= "core=psm" 23BIF_PARTITION_ATTR[device-tree] ?= "type=raw, load=0x1000"
27BIF_PARTITION_IMAGE[psm] ?= "${DEPLOY_DIR_IMAGE}/${PSM_FIRMWARE_IMAGE_NAME}.elf" 24BIF_PARTITION_IMAGE[device-tree] ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
28BIF_PARTITION_DEPENDS[psm] ?= "virtual/psm-firmware:do_deploy" 25BIF_PARTITION_ID[device-tree] ?= "0x1c000000"
29
30# specify BIF partition attributes for dtb
31BIF_PARTITION_ATTR[dtb] ?= "type=raw, load=0x1000"
32BIF_PARTITION_IMAGE[dtb] ?= "${DEPLOY_DIR_IMAGE}/system.dtb"
33BIF_PARTITION_DEPENDS[dtb] ?= "virtual/dtb:do_deploy"
34BIF_PARTITION_ID[dtb] ?= "0x1c000000"
35 26
36# specify BIF partition attributes for u-boot 27# specify BIF partition attributes for u-boot
37BIF_PARTITION_ATTR[u-boot] ?= "core=a72-0, exception_level = el-2" 28BIF_PARTITION_ATTR[u-boot-xlnx] ?= "core=a72-0, exception_level = el-2"
38BIF_PARTITION_IMAGE[u-boot] ?= "${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf" 29BIF_PARTITION_IMAGE[u-boot-xlnx] ?= "${RECIPE_SYSROOT}/boot/u-boot.elf"
39BIF_PARTITION_DEPENDS[u-boot] ?= "virtual/bootloader:do_deploy u-boot-zynq-scr:do_deploy" 30BIF_PARTITION_ID[u-boot-xlnx] ?= "0x1c000000"
40BIF_PARTITION_ID[u-boot] ?= "0x1c000000" 31
41 32# specify BIF partition attributes for arm-trusted-firmware
42# specify BIF partition attributes for atf 33BIF_PARTITION_ATTR[arm-trusted-firmware] ?= "core=a72-0, exception_level = el-3, trustzone"
43BIF_PARTITION_ATTR[atf] ?= "core=a72-0, exception_level = el-3, trustzone" 34BIF_PARTITION_IMAGE[arm-trusted-firmware] ?= "${RECIPE_SYSROOT}/boot/arm-trusted-firmware.elf"
44BIF_PARTITION_IMAGE[atf] ?= "${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf" 35BIF_PARTITION_ID[arm-trusted-firmware] ?= "0x1c000000"
45BIF_PARTITION_DEPENDS[atf] ?= "virtual/arm-trusted-firmware:do_deploy"
46BIF_PARTITION_ID[atf] ?= "0x1c000000"
diff --git a/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc b/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
index cd2026ad..4eb404c1 100644
--- a/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
+++ b/meta-xilinx-bsp/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc
@@ -2,39 +2,32 @@
2BIF_COMMON_ATTR ?= "" 2BIF_COMMON_ATTR ?= ""
3 3
4# specify BIF partition attributes required for BOOT.bin 4# specify BIF partition attributes required for BOOT.bin
5BIF_PARTITION_ATTR ?= "fsbl pmu atf u-boot" 5BIF_PARTITION_ATTR = "fsbl pmufw arm-trusted-firmware device-tree u-boot-xlnx"
6 6
7# specify BIF partition attributes for FSBL 7# specify BIF partition attributes for FSBL
8# bootloader is FSBL. Location where FSBL binary is present and dependency to build FSBL 8# bootloader is FSBL. Location where FSBL binary is present and dependency to build FSBL
9BIF_PARTITION_ATTR[fsbl] ?= "bootloader, destination_cpu=a53-0" 9BIF_PARTITION_ATTR[fsbl] ?= "bootloader, destination_cpu=a53-0"
10BIF_PARTITION_IMAGE[fsbl] ?= "${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf" 10BIF_PARTITION_IMAGE[fsbl] ?= "${RECIPE_SYSROOT}/boot/fsbl.elf"
11BIF_PARTITION_DEPENDS[fsbl] ?= "virtual/fsbl:do_deploy"
12 11
13# specify BIF partition attributes for PMU Firmware 12# specify BIF partition attributes for PMU Firmware
14# destination cpu for PMU. Location where PMU binary is present and dependency to build PMU Firmware 13# destination cpu for PMU. Location where PMU binary is present and dependency to build PMU Firmware
15PMU_FIRMWARE_IMAGE_NAME ??= "pmu-firmware-${MACHINE}" 14BIF_PARTITION_ATTR[pmufw] ?= "destination_cpu=pmu"
16BIF_PARTITION_ATTR[pmu] ?= "destination_cpu=pmu" 15BIF_PARTITION_IMAGE[pmufw] ?= "${RECIPE_SYSROOT}/boot/pmufw.elf"
17BIF_PARTITION_IMAGE[pmu] ?= "${DEPLOY_DIR_IMAGE}/${PMU_FIRMWARE_IMAGE_NAME}.elf"
18BIF_PARTITION_DEPENDS[pmu] ?= "virtual/pmu-firmware:do_deploy"
19 16
20# specify BIF partition attributes for ATF 17# specify BIF partition attributes for ATF
21# 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) 18# 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)
22BIF_PARTITION_ATTR[atf] ?= "destination_cpu=a53-0,exception_level=el-3,trustzone" 19BIF_PARTITION_ATTR[arm-trusted-firmware] ?= "destination_cpu=a53-0,exception_level=el-3,trustzone"
23BIF_PARTITION_IMAGE[atf] ?= "${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf" 20BIF_PARTITION_IMAGE[arm-trusted-firmware] ?= "${RECIPE_SYSROOT}/boot/arm-trusted-firmware.elf"
24BIF_PARTITION_DEPENDS[atf] ?= "arm-trusted-firmware:do_deploy"
25 21
26# specify BIF partition attributes for u-boot 22# specify BIF partition attributes for u-boot
27# 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) 23# 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)
28BIF_PARTITION_ATTR[u-boot] ?= "destination_cpu=a53-0,exception_level=el-2" 24BIF_PARTITION_ATTR[u-boot-xlnx] ?= "destination_cpu=a53-0,exception_level=el-2"
29BIF_PARTITION_IMAGE[u-boot] ?= "${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf" 25BIF_PARTITION_IMAGE[u-boot-xlnx] ?= "${RECIPE_SYSROOT}/boot/u-boot.elf"
30BIF_PARTITION_DEPENDS[u-boot] ?= "virtual/bootloader:do_deploy"
31 26
32# specify BIF partition attributes for dtb 27# specify BIF partition attributes for dtb
33BIF_PARTITION_ATTR[dtb] ?= "load=0x100000" 28BIF_PARTITION_ATTR[device-tree] ?= "destination_cpu=a53-0,load=0x100000"
34BIF_PARTITION_IMAGE[dtb] ?= "${DEPLOY_DIR_IMAGE}/system.dtb" 29BIF_PARTITION_IMAGE[device-tree] ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
35BIF_PARTITION_DEPENDS[dtb] ?= "virtual/dtb:do_deploy"
36 30
37# enable bitstream-Note this is not enabled by default (missing in BIF_PARTITION_ATTR) 31# enable bitstream-Note this is not enabled by default (missing in BIF_PARTITION_ATTR)
38BIF_PARTITION_ATTR[bitstream] ?= "destination_device=pl" 32BIF_PARTITION_ATTR[bitstream] ?= "destination_device=pl"
39BIF_PARTITION_IMAGE[bitstream] ?= "${DEPLOY_DIR_IMAGE}/download-${MACHINE}.bit" 33BIF_PARTITION_IMAGE[bitstream] ?= "${DEPLOY_DIR_IMAGE}/download-${MACHINE}.bit"
40BIF_PARTITION_DEPENDS[bitstream] ?= "virtual/bitstream:do_deploy"
diff --git a/meta-xilinx-bsp/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb b/meta-xilinx-bsp/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
index 3a0535b7..4bd99bda 100644
--- a/meta-xilinx-bsp/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
+++ b/meta-xilinx-bsp/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
@@ -13,7 +13,7 @@ PROVIDES = "virtual/boot-bin"
13 13
14DEPENDS += "bootgen-native" 14DEPENDS += "bootgen-native"
15 15
16do_configure[depends] += "${@get_bootbin_depends(d)}" 16DEPENDS += "${BIF_PARTITION_ATTR}"
17 17
18PACKAGE_ARCH = "${MACHINE_ARCH}" 18PACKAGE_ARCH = "${MACHINE_ARCH}"
19 19
@@ -26,20 +26,8 @@ SRC_URI += "${@('file://' + d.getVar("BIF_FILE_PATH")) if d.getVar("BIF_FILE_PAT
26 26
27BOOTGEN_EXTRA_ARGS ?= "" 27BOOTGEN_EXTRA_ARGS ?= ""
28 28
29BIF_PARTITION_ATTR_zynqmp = "${@'fsbl pmu atf dtb u-boot' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else 'fsbl bitstream pmu atf dtb u-boot'}"
30
31do_patch[noexec] = "1" 29do_patch[noexec] = "1"
32 30
33def get_bootbin_depends(d):
34 bootbindeps = ""
35 bifpartition = (d.getVar("BIF_PARTITION_ATTR") or "").split()
36 attrdepends = d.getVarFlags("BIF_PARTITION_DEPENDS") or {}
37 for cfg in bifpartition:
38 if cfg in attrdepends:
39 bootbindeps = bootbindeps + " " + attrdepends[cfg]
40
41 return bootbindeps
42
43def create_bif(config, attrflags, attrimage, ids, common_attr, biffd, d): 31def create_bif(config, attrflags, attrimage, ids, common_attr, biffd, d):
44 import re, os 32 import re, os
45 for cfg in config: 33 for cfg in config:
@@ -150,12 +138,6 @@ do_compile() {
150 fi 138 fi
151} 139}
152 140
153do_compile_append_versal() {
154 dd if=/dev/zero bs=256M count=1 > ${B}/QEMU_qspi.bin
155 dd if=${B}/BOOT.bin of=${B}/QEMU_qspi.bin bs=1 seek=0 conv=notrunc
156 dd if=${DEPLOY_DIR_IMAGE}/boot.scr of=${B}/QEMU_qspi.bin bs=1 seek=66584576 conv=notrunc
157}
158
159do_install() { 141do_install() {
160 install -d ${D}/boot 142 install -d ${D}/boot
161 install -m 0644 ${B}/BOOT.bin ${D}/boot/BOOT.bin 143 install -m 0644 ${B}/BOOT.bin ${D}/boot/BOOT.bin
@@ -178,13 +160,9 @@ do_deploy_append_versal () {
178 160
179 install -m 0644 ${B}/BOOT_bh.bin ${DEPLOYDIR}/${BOOTBIN_BASE_NAME}_bh.bin 161 install -m 0644 ${B}/BOOT_bh.bin ${DEPLOYDIR}/${BOOTBIN_BASE_NAME}_bh.bin
180 ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin 162 ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin
181
182 install -m 0644 ${B}/QEMU_qspi.bin ${DEPLOYDIR}/${QEMUQSPI_BASE_NAME}.bin
183 ln -sf ${QEMUQSPI_BASE_NAME}.bin ${DEPLOYDIR}/QEMU_qspi-${MACHINE}.bin
184} 163}
185 164
186FILES_${PN} += "/boot/BOOT.bin" 165FILES_${PN} += "/boot/BOOT.bin"
187SYSROOT_DIRS += "/boot" 166SYSROOT_DIRS += "/boot"
188 167
189addtask do_deploy before do_build after do_compile 168addtask do_deploy before do_build after do_compile
190
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
index 9f163a8b..86fcb26d 100644
--- a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
+++ b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb
@@ -11,6 +11,15 @@ LIC_FILES_CHKSUM = " \
11 11
12inherit devicetree 12inherit devicetree
13 13
14#this way of going through SRC_URI is better but if dts is including other dtsis, need to add all of them to SRC_URI..
15#SRC_URI += "file://${SYSTEM_DTFILE}"
16#DT_FILES_PATH = "${@d.getVar('WORKDIR')+'/'+os.path.dirname(d.getVar('SYSTEM_DTFILE'))}"
17
18DT_FILES_PATH = "${@os.path.dirname(d.getVar('SYSTEM_DTFILE')) if d.getVar('SYSTEM_DTFILE') else d.getVar('S')}"
19
20COMPATIBLE_MACHINE_zynqmp = ".*"
21COMPATIBLE_MACHINE_versal = ".*"
22
14# Device-trees are inherently board specific 23# Device-trees are inherently board specific
15BOARD_ARCH ??= "${MACHINE_ARCH}" 24BOARD_ARCH ??= "${MACHINE_ARCH}"
16PACKAGE_ARCH = "${BOARD_ARCH}" 25PACKAGE_ARCH = "${BOARD_ARCH}"
diff --git a/meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb b/meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb
index f2342041..4954b03d 100644
--- a/meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb
+++ b/meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb
@@ -31,19 +31,15 @@ FSBL_FILE[vardepsexclude] = "FSBL_DEPLOY_DIR"
31do_fetch[depends] += "${FSBL_DEPENDS}" 31do_fetch[depends] += "${FSBL_DEPENDS}"
32do_fetch[mcdepends] += "${FSBL_MCDEPENDS}" 32do_fetch[mcdepends] += "${FSBL_MCDEPENDS}"
33 33
34inherit update-alternatives deploy 34inherit deploy
35
36BINARY_NAME = "${PN}"
37BINARY_EXT = ".elf"
38BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }"
39 35
40do_install() { 36do_install() {
41 if [ ! -e ${FSBL_FILE}${BINARY_EXT} ]; then 37 if [ ! -e ${FSBL_FILE}.elf ]; then
42 echo "Unable to find FSBL_FILE (${FSBL_FILE}${BINARY_EXT})" 38 echo "Unable to find FSBL_FILE (${FSBL_FILE}.elf)"
43 exit 1 39 exit 1
44 fi 40 fi
45 41
46 install -Dm 0644 ${FSBL_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} 42 install -Dm 0644 ${FSBL_FILE}.elf ${D}/boot/${PN}.elf
47} 43}
48 44
49# If the item is already in OUR deploy_image_dir, nothing to deploy! 45# If the item is already in OUR deploy_image_dir, nothing to deploy!
@@ -57,12 +53,8 @@ do_deploy() {
57 53
58addtask deploy before do_build after do_install 54addtask deploy before do_build after do_install
59 55
60ALTERNATIVE_${PN} = "fsbl"
61ALTERNATIVE_TARGET[fsbl] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}"
62ALTERNATIVE_LINK_NAME[fsbl] = "/boot/${BINARY_NAME}${BINARY_EXT}"
63
64INSANE_SKIP_${PN} = "arch" 56INSANE_SKIP_${PN} = "arch"
65INSANE_SKIP_${PN}-dbg = "arch" 57INSANE_SKIP_${PN}-dbg = "arch"
66 58
67SYSROOT_DIRS += "/boot" 59SYSROOT_DIRS += "/boot"
68FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" 60FILES_${PN} = "/boot/${PN}.elf"
diff --git a/meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb b/meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb
index dbc0c079..0dd93b09 100644
--- a/meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb
+++ b/meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb
@@ -31,19 +31,15 @@ PLM_FILE[vardepsexclude] = "PLM_DEPLOY_DIR"
31do_fetch[depends] += "${PLM_DEPENDS}" 31do_fetch[depends] += "${PLM_DEPENDS}"
32do_fetch[mcdepends] += "${PLM_MCDEPENDS}" 32do_fetch[mcdepends] += "${PLM_MCDEPENDS}"
33 33
34inherit update-alternatives deploy 34inherit deploy
35
36BINARY_NAME = "${PN}"
37BINARY_EXT = ".elf"
38BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }"
39 35
40do_install() { 36do_install() {
41 if [ ! -e ${PLM_FILE}${BINARY_EXT} ]; then 37 if [ ! -e ${PLM_FILE}.elf ]; then
42 echo "Unable to find PLM_FILE (${PLM_FILE}${BINARY_EXT})" 38 echo "Unable to find PLM_FILE (${PLM_FILE}.elf)"
43 exit 1 39 exit 1
44 fi 40 fi
45 41
46 install -Dm 0644 ${PLM_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} 42 install -Dm 0644 ${PLM_FILE}.elf ${D}/boot/${PN}.elf
47} 43}
48 44
49# If the item is already in OUR deploy_image_dir, nothing to deploy! 45# If the item is already in OUR deploy_image_dir, nothing to deploy!
@@ -58,12 +54,8 @@ do_deploy() {
58 54
59addtask deploy before do_build after do_install 55addtask deploy before do_build after do_install
60 56
61ALTERNATIVE_${PN} = "plmfw"
62ALTERNATIVE_TARGET[plmfw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}"
63ALTERNATIVE_LINK_NAME[plmfw] = "/boot/${BINARY_NAME}${BINARY_EXT}"
64
65INSANE_SKIP_${PN} = "arch" 57INSANE_SKIP_${PN} = "arch"
66INSANE_SKIP_${PN}-dbg = "arch" 58INSANE_SKIP_${PN}-dbg = "arch"
67 59
68SYSROOT_DIRS += "/boot" 60SYSROOT_DIRS += "/boot"
69FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" 61FILES_${PN} = "/boot/${PN}.elf"
diff --git a/meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb b/meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb
index 1400e3b3..13498737 100644
--- a/meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb
+++ b/meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb
@@ -30,19 +30,15 @@ PMU_FILE[vardepsexclude] = "PMU_FIRMWARE_DEPLOY_DIR"
30do_fetch[depends] += "${PMU_DEPENDS}" 30do_fetch[depends] += "${PMU_DEPENDS}"
31do_fetch[mcdepends] += "${PMU_MCDEPENDS}" 31do_fetch[mcdepends] += "${PMU_MCDEPENDS}"
32 32
33inherit deploy update-alternatives 33inherit deploy
34
35BINARY_NAME = "${PN}"
36BINARY_EXT = ".elf"
37BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }"
38 34
39do_install() { 35do_install() {
40 if [ ! -e ${PMU_FILE}${BINARY_EXT} ]; then 36 if [ ! -e ${PMU_FILE}.elf ]; then
41 echo "Unable to find PMU_FILE (${PMU_FILE}${BINARY_EXT})" 37 echo "Unable to find PMU_FILE (${PMU_FILE}.elf)"
42 exit 1 38 exit 1
43 fi 39 fi
44 40
45 install -Dm 0644 ${PMU_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} 41 install -Dm 0644 ${PMU_FILE}.elf ${D}/boot/${PN}.elf
46} 42}
47 43
48# If the item is already in OUR deploy_image_dir, nothing to deploy! 44# If the item is already in OUR deploy_image_dir, nothing to deploy!
@@ -56,12 +52,8 @@ do_deploy() {
56 52
57addtask deploy before do_build after do_install 53addtask deploy before do_build after do_install
58 54
59ALTERNATIVE_${PN} = "pmufw"
60ALTERNATIVE_TARGET[pmufw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}"
61ALTERNATIVE_LINK_NAME[pmufw] = "/boot/${BINARY_NAME}${BINARY_EXT}"
62
63INSANE_SKIP_${PN} = "arch" 55INSANE_SKIP_${PN} = "arch"
64INSANE_SKIP_${PN}-dbg = "arch" 56INSANE_SKIP_${PN}-dbg = "arch"
65 57
66SYSROOT_DIRS += "/boot" 58SYSROOT_DIRS += "/boot"
67FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" 59FILES_${PN} = "/boot/${PN}.elf"
diff --git a/meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb b/meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb
index ea41f8ff..267d6c8a 100644
--- a/meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb
+++ b/meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb
@@ -31,19 +31,15 @@ PSM_FILE[vardepsexclude] = "PSM_FIRMWARE_DEPLOY_DIR"
31do_fetch[depends] += "${PSM_DEPENDS}" 31do_fetch[depends] += "${PSM_DEPENDS}"
32do_fetch[mcdepends] += "${PSM_MCDEPENDS}" 32do_fetch[mcdepends] += "${PSM_MCDEPENDS}"
33 33
34inherit update-alternatives deploy 34inherit deploy
35
36BINARY_NAME = "${PN}"
37BINARY_EXT = ".elf"
38BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }"
39 35
40do_install() { 36do_install() {
41 if [ ! -e ${PSM_FILE}${BINARY_EXT} ]; then 37 if [ ! -e ${PSM_FILE}.elf ]; then
42 echo "Unable to find PSM_FILE (${PSM_FILE}${BINARY_EXT})" 38 echo "Unable to find PSM_FILE (${PSM_FILE}.elf)"
43 exit 1 39 exit 1
44 fi 40 fi
45 41
46 install -Dm 0644 ${PSM_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} 42 install -Dm 0644 ${PSM_FILE}.elf ${D}/boot/${PN}.elf
47} 43}
48 44
49# If the item is already in OUR deploy_image_dir, nothing to deploy! 45# If the item is already in OUR deploy_image_dir, nothing to deploy!
@@ -58,12 +54,8 @@ do_deploy() {
58 54
59addtask deploy before do_build after do_install 55addtask deploy before do_build after do_install
60 56
61ALTERNATIVE_${PN} = "psmfw"
62ALTERNATIVE_TARGET[psmfw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}"
63ALTERNATIVE_LINK_NAME[psmfw] = "/boot/${BINARY_NAME}${BINARY_EXT}"
64
65INSANE_SKIP_${PN} = "arch" 57INSANE_SKIP_${PN} = "arch"
66INSANE_SKIP_${PN}-dbg = "arch" 58INSANE_SKIP_${PN}-dbg = "arch"
67 59
68SYSROOT_DIRS += "/boot" 60SYSROOT_DIRS += "/boot"
69FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" 61FILES_${PN} = "/boot/${PN}.elf"