From 2bb2224aa7446f64b9843752c41cab3fc8ded6fa Mon Sep 17 00:00:00 2001 From: Jaewon Lee Date: Mon, 21 Jun 2021 14:46:06 -0700 Subject: Enabling bootbin wiring for decoupling flow for zynqmp and versal Signed-off-by: Jaewon Lee --- .../arm-trusted-firmware/arm-trusted-firmware.inc | 4 +- .../recipes-bsp/base-pdi/base-pdi_1.0.bb | 30 +++++++++++ .../recipes-bsp/bootbin/machine-xilinx-versal.inc | 63 +++++++++------------- .../recipes-bsp/bootbin/machine-xilinx-zynqmp.inc | 27 ++++------ .../recipes-bsp/bootbin/xilinx-bootbin_1.0.bb | 24 +-------- .../recipes-bsp/device-tree/device-tree.bb | 9 ++++ meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl.bb | 18 ++----- meta-xilinx-bsp/recipes-bsp/embeddedsw/plmfw.bb | 18 ++----- meta-xilinx-bsp/recipes-bsp/embeddedsw/pmufw.bb | 18 ++----- meta-xilinx-bsp/recipes-bsp/embeddedsw/psmfw.bb | 18 ++----- .../recipes-kernel/lopper/device-tree-lops.bb | 5 ++ 11 files changed, 103 insertions(+), 131 deletions(-) create mode 100644 meta-xilinx-bsp/recipes-bsp/base-pdi/base-pdi_1.0.bb 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() { do_install() { install -d ${D}/boot - install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}-${SRCPV}.elf + install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}.elf } do_deploy() { @@ -100,4 +100,4 @@ do_deploy() { ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub } addtask deploy before do_build after do_compile -FILES_${PN} += "/boot/${PN}-${SRCPV}.elf" +FILES_${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 @@ +DESCRIPTION = "Recipe to deploy base pdi" + +LICENSE = "CLOSED" + +PROVIDES = "virtual/base-pdi" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE_versal = "versal" + +PACKAGE_ARCH ?= "${MACHINE_ARCH}" + +do_compile[noexec] = "1" + +PDI_PATH ?= "" +SRC_URI += "${@['file://'+d.getVar('PDI_PATH'),''][d.getVar('PDI_PATH') == '']}" + +#base install will just take from PDI_PATH variable +#will need to bbappend to this in meta-xilinx-tools to use xsct to extract pdi from xsa and install +do_install() { + + if [ -f ${WORKDIR}/${PDI_PATH} ];then + install -d ${D}/boot + install -m 0644 ${WORKDIR}/${PDI_PATH} ${D}/boot/base-design.pdi + else + bbfatal "No base pdi supplied" + fi +} +SYSROOT_DIRS += "/boot" + +FILES_${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 @@ #Extra args for versal BOOTGEN_EXTRA_ARGS += "-dump bh" -#Add pdi dependency for versal -DEPENDS += "virtual/base-pdi" - # specify BIF common attribute for FSBL BIF_COMMON_ATTR ?= "" # specify BIF partition attributes required for BOOT.bin -BIF_PARTITION_ATTR ?= "pdi plm psm dtb atf u-boot" - -# specify BIF partition attributes for pdi -BIF_PARTITION_ATTR[pdi] ?= "type=bootimage" -BIF_PARTITION_IMAGE[pdi] ?= "${RECIPE_SYSROOT}/boot/base-design.pdi" -BIF_PARTITION_DEPENDS[pdi] ?= "virtual/base-pdi:do_populate_sysroot" - -# specify BIF partition attributes for plm -PLM_IMAGE_NAME ??= "plm-${MACHINE}" -BIF_PARTITION_ATTR[plm] ?= "type=bootloader" -BIF_PARTITION_IMAGE[plm] ?= "${DEPLOY_DIR_IMAGE}/${PLM_IMAGE_NAME}.elf" -BIF_PARTITION_DEPENDS[plm] ?= "virtual/plm:do_deploy" - -# specify BIF partition attributes for psm -PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}" -BIF_PARTITION_ATTR[psm] ?= "core=psm" -BIF_PARTITION_IMAGE[psm] ?= "${DEPLOY_DIR_IMAGE}/${PSM_FIRMWARE_IMAGE_NAME}.elf" -BIF_PARTITION_DEPENDS[psm] ?= "virtual/psm-firmware:do_deploy" - -# specify BIF partition attributes for dtb -BIF_PARTITION_ATTR[dtb] ?= "type=raw, load=0x1000" -BIF_PARTITION_IMAGE[dtb] ?= "${DEPLOY_DIR_IMAGE}/system.dtb" -BIF_PARTITION_DEPENDS[dtb] ?= "virtual/dtb:do_deploy" -BIF_PARTITION_ID[dtb] ?= "0x1c000000" +BIF_PARTITION_ATTR ?= "base-pdi plmfw psmfw device-tree arm-trusted-firmware u-boot-xlnx" + +# specify BIF partition attributes for base-pdi +BIF_PARTITION_ATTR[base-pdi] ?= "type=bootimage" +BIF_PARTITION_IMAGE[base-pdi] ?= "${RECIPE_SYSROOT}/boot/base-design.pdi" + +# specify BIF partition attributes for plmfw +BIF_PARTITION_ATTR[plmfw] ?= "type=bootloader" +BIF_PARTITION_IMAGE[plmfw] ?= "${RECIPE_SYSROOT}/boot/plmfw.elf" + +# specify BIF partition attributes for psmfw +BIF_PARTITION_ATTR[psmfw] ?= "core=psm" +BIF_PARTITION_IMAGE[psmfw] ?= "${RECIPE_SYSROOT}/boot/psmfw.elf" + +# specify BIF partition attributes for device-tree +BIF_PARTITION_ATTR[device-tree] ?= "type=raw, load=0x1000" +BIF_PARTITION_IMAGE[device-tree] ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb" +BIF_PARTITION_ID[device-tree] ?= "0x1c000000" # specify BIF partition attributes for u-boot -BIF_PARTITION_ATTR[u-boot] ?= "core=a72-0, exception_level = el-2" -BIF_PARTITION_IMAGE[u-boot] ?= "${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf" -BIF_PARTITION_DEPENDS[u-boot] ?= "virtual/bootloader:do_deploy u-boot-zynq-scr:do_deploy" -BIF_PARTITION_ID[u-boot] ?= "0x1c000000" - -# specify BIF partition attributes for atf -BIF_PARTITION_ATTR[atf] ?= "core=a72-0, exception_level = el-3, trustzone" -BIF_PARTITION_IMAGE[atf] ?= "${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf" -BIF_PARTITION_DEPENDS[atf] ?= "virtual/arm-trusted-firmware:do_deploy" -BIF_PARTITION_ID[atf] ?= "0x1c000000" +BIF_PARTITION_ATTR[u-boot-xlnx] ?= "core=a72-0, exception_level = el-2" +BIF_PARTITION_IMAGE[u-boot-xlnx] ?= "${RECIPE_SYSROOT}/boot/u-boot.elf" +BIF_PARTITION_ID[u-boot-xlnx] ?= "0x1c000000" + +# specify BIF partition attributes for arm-trusted-firmware +BIF_PARTITION_ATTR[arm-trusted-firmware] ?= "core=a72-0, exception_level = el-3, trustzone" +BIF_PARTITION_IMAGE[arm-trusted-firmware] ?= "${RECIPE_SYSROOT}/boot/arm-trusted-firmware.elf" +BIF_PARTITION_ID[arm-trusted-firmware] ?= "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 @@ BIF_COMMON_ATTR ?= "" # specify BIF partition attributes required for BOOT.bin -BIF_PARTITION_ATTR ?= "fsbl pmu atf u-boot" +BIF_PARTITION_ATTR = "fsbl pmufw arm-trusted-firmware device-tree u-boot-xlnx" # 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] ?= "${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf" -BIF_PARTITION_DEPENDS[fsbl] ?= "virtual/fsbl:do_deploy" +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 -PMU_FIRMWARE_IMAGE_NAME ??= "pmu-firmware-${MACHINE}" -BIF_PARTITION_ATTR[pmu] ?= "destination_cpu=pmu" -BIF_PARTITION_IMAGE[pmu] ?= "${DEPLOY_DIR_IMAGE}/${PMU_FIRMWARE_IMAGE_NAME}.elf" -BIF_PARTITION_DEPENDS[pmu] ?= "virtual/pmu-firmware:do_deploy" +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[atf] ?= "destination_cpu=a53-0,exception_level=el-3,trustzone" -BIF_PARTITION_IMAGE[atf] ?= "${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf" -BIF_PARTITION_DEPENDS[atf] ?= "arm-trusted-firmware:do_deploy" +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] ?= "destination_cpu=a53-0,exception_level=el-2" -BIF_PARTITION_IMAGE[u-boot] ?= "${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf" -BIF_PARTITION_DEPENDS[u-boot] ?= "virtual/bootloader:do_deploy" +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[dtb] ?= "load=0x100000" -BIF_PARTITION_IMAGE[dtb] ?= "${DEPLOY_DIR_IMAGE}/system.dtb" -BIF_PARTITION_DEPENDS[dtb] ?= "virtual/dtb:do_deploy" +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] ?= "${DEPLOY_DIR_IMAGE}/download-${MACHINE}.bit" -BIF_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" DEPENDS += "bootgen-native" -do_configure[depends] += "${@get_bootbin_depends(d)}" +DEPENDS += "${BIF_PARTITION_ATTR}" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -26,20 +26,8 @@ SRC_URI += "${@('file://' + d.getVar("BIF_FILE_PATH")) if d.getVar("BIF_FILE_PAT BOOTGEN_EXTRA_ARGS ?= "" -BIF_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'}" - do_patch[noexec] = "1" -def get_bootbin_depends(d): - bootbindeps = "" - bifpartition = (d.getVar("BIF_PARTITION_ATTR") or "").split() - attrdepends = d.getVarFlags("BIF_PARTITION_DEPENDS") or {} - for cfg in bifpartition: - if cfg in attrdepends: - bootbindeps = bootbindeps + " " + attrdepends[cfg] - - return bootbindeps - def create_bif(config, attrflags, attrimage, ids, common_attr, biffd, d): import re, os for cfg in config: @@ -150,12 +138,6 @@ do_compile() { fi } -do_compile_append_versal() { - dd if=/dev/zero bs=256M count=1 > ${B}/QEMU_qspi.bin - dd if=${B}/BOOT.bin of=${B}/QEMU_qspi.bin bs=1 seek=0 conv=notrunc - dd if=${DEPLOY_DIR_IMAGE}/boot.scr of=${B}/QEMU_qspi.bin bs=1 seek=66584576 conv=notrunc -} - do_install() { install -d ${D}/boot install -m 0644 ${B}/BOOT.bin ${D}/boot/BOOT.bin @@ -178,13 +160,9 @@ do_deploy_append_versal () { install -m 0644 ${B}/BOOT_bh.bin ${DEPLOYDIR}/${BOOTBIN_BASE_NAME}_bh.bin ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin - - install -m 0644 ${B}/QEMU_qspi.bin ${DEPLOYDIR}/${QEMUQSPI_BASE_NAME}.bin - ln -sf ${QEMUQSPI_BASE_NAME}.bin ${DEPLOYDIR}/QEMU_qspi-${MACHINE}.bin } FILES_${PN} += "/boot/BOOT.bin" SYSROOT_DIRS += "/boot" addtask do_deploy before do_build after do_compile - 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 = " \ inherit devicetree +#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.. +#SRC_URI += "file://${SYSTEM_DTFILE}" +#DT_FILES_PATH = "${@d.getVar('WORKDIR')+'/'+os.path.dirname(d.getVar('SYSTEM_DTFILE'))}" + +DT_FILES_PATH = "${@os.path.dirname(d.getVar('SYSTEM_DTFILE')) if d.getVar('SYSTEM_DTFILE') else d.getVar('S')}" + +COMPATIBLE_MACHINE_zynqmp = ".*" +COMPATIBLE_MACHINE_versal = ".*" + # Device-trees are inherently board specific BOARD_ARCH ??= "${MACHINE_ARCH}" PACKAGE_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" do_fetch[depends] += "${FSBL_DEPENDS}" do_fetch[mcdepends] += "${FSBL_MCDEPENDS}" -inherit update-alternatives deploy - -BINARY_NAME = "${PN}" -BINARY_EXT = ".elf" -BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }" +inherit deploy do_install() { - if [ ! -e ${FSBL_FILE}${BINARY_EXT} ]; then - echo "Unable to find FSBL_FILE (${FSBL_FILE}${BINARY_EXT})" + if [ ! -e ${FSBL_FILE}.elf ]; then + echo "Unable to find FSBL_FILE (${FSBL_FILE}.elf)" exit 1 fi - install -Dm 0644 ${FSBL_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} + install -Dm 0644 ${FSBL_FILE}.elf ${D}/boot/${PN}.elf } # If the item is already in OUR deploy_image_dir, nothing to deploy! @@ -57,12 +53,8 @@ do_deploy() { addtask deploy before do_build after do_install -ALTERNATIVE_${PN} = "fsbl" -ALTERNATIVE_TARGET[fsbl] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" -ALTERNATIVE_LINK_NAME[fsbl] = "/boot/${BINARY_NAME}${BINARY_EXT}" - INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" SYSROOT_DIRS += "/boot" -FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" +FILES_${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" do_fetch[depends] += "${PLM_DEPENDS}" do_fetch[mcdepends] += "${PLM_MCDEPENDS}" -inherit update-alternatives deploy - -BINARY_NAME = "${PN}" -BINARY_EXT = ".elf" -BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }" +inherit deploy do_install() { - if [ ! -e ${PLM_FILE}${BINARY_EXT} ]; then - echo "Unable to find PLM_FILE (${PLM_FILE}${BINARY_EXT})" + if [ ! -e ${PLM_FILE}.elf ]; then + echo "Unable to find PLM_FILE (${PLM_FILE}.elf)" exit 1 fi - install -Dm 0644 ${PLM_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} + install -Dm 0644 ${PLM_FILE}.elf ${D}/boot/${PN}.elf } # If the item is already in OUR deploy_image_dir, nothing to deploy! @@ -58,12 +54,8 @@ do_deploy() { addtask deploy before do_build after do_install -ALTERNATIVE_${PN} = "plmfw" -ALTERNATIVE_TARGET[plmfw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" -ALTERNATIVE_LINK_NAME[plmfw] = "/boot/${BINARY_NAME}${BINARY_EXT}" - INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" SYSROOT_DIRS += "/boot" -FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" +FILES_${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" do_fetch[depends] += "${PMU_DEPENDS}" do_fetch[mcdepends] += "${PMU_MCDEPENDS}" -inherit deploy update-alternatives - -BINARY_NAME = "${PN}" -BINARY_EXT = ".elf" -BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }" +inherit deploy do_install() { - if [ ! -e ${PMU_FILE}${BINARY_EXT} ]; then - echo "Unable to find PMU_FILE (${PMU_FILE}${BINARY_EXT})" + if [ ! -e ${PMU_FILE}.elf ]; then + echo "Unable to find PMU_FILE (${PMU_FILE}.elf)" exit 1 fi - install -Dm 0644 ${PMU_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} + install -Dm 0644 ${PMU_FILE}.elf ${D}/boot/${PN}.elf } # If the item is already in OUR deploy_image_dir, nothing to deploy! @@ -56,12 +52,8 @@ do_deploy() { addtask deploy before do_build after do_install -ALTERNATIVE_${PN} = "pmufw" -ALTERNATIVE_TARGET[pmufw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" -ALTERNATIVE_LINK_NAME[pmufw] = "/boot/${BINARY_NAME}${BINARY_EXT}" - INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" SYSROOT_DIRS += "/boot" -FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" +FILES_${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" do_fetch[depends] += "${PSM_DEPENDS}" do_fetch[mcdepends] += "${PSM_MCDEPENDS}" -inherit update-alternatives deploy - -BINARY_NAME = "${PN}" -BINARY_EXT = ".elf" -BINARY_ID = "${@d.getVar('SRCPV') if d.getVar('SRCPV') else d.getVar('PR') }" +inherit deploy do_install() { - if [ ! -e ${PSM_FILE}${BINARY_EXT} ]; then - echo "Unable to find PSM_FILE (${PSM_FILE}${BINARY_EXT})" + if [ ! -e ${PSM_FILE}.elf ]; then + echo "Unable to find PSM_FILE (${PSM_FILE}.elf)" exit 1 fi - install -Dm 0644 ${PSM_FILE}${BINARY_EXT} ${D}/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT} + install -Dm 0644 ${PSM_FILE}.elf ${D}/boot/${PN}.elf } # If the item is already in OUR deploy_image_dir, nothing to deploy! @@ -58,12 +54,8 @@ do_deploy() { addtask deploy before do_build after do_install -ALTERNATIVE_${PN} = "psmfw" -ALTERNATIVE_TARGET[psmfw] = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" -ALTERNATIVE_LINK_NAME[psmfw] = "/boot/${BINARY_NAME}${BINARY_EXT}" - INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" SYSROOT_DIRS += "/boot" -FILES_${PN} = "/boot/${BINARY_NAME}-${BINARY_ID}${BINARY_EXT}" +FILES_${PN} = "/boot/${PN}.elf" diff --git a/meta-xilinx-standalone-experimental/recipes-kernel/lopper/device-tree-lops.bb b/meta-xilinx-standalone-experimental/recipes-kernel/lopper/device-tree-lops.bb index 4b4d8eb5..37d48480 100644 --- a/meta-xilinx-standalone-experimental/recipes-kernel/lopper/device-tree-lops.bb +++ b/meta-xilinx-standalone-experimental/recipes-kernel/lopper/device-tree-lops.bb @@ -17,6 +17,11 @@ COMPATIBLE_HOST = "^.*" LOPS_DIR = "${RECIPE_SYSROOT_NATIVE}/usr/share/lopper/lops" +python() { + if not d.getVar('SYSTEM_DTFILE'): + raise bb.parse.SkipRecipe("SYSTEM_DTFILE is not configured with the system device tree filename") +} + # All microblaze do_compile_microblaze_xilinx-standalone() { LOPPER_DTC_FLAGS="-b 0 -@" lopper.py -f -O ${WORKDIR} ${SYSTEM_DTFILE} ${B}/${DTS_FILE} -- cgit v1.2.3-54-g00ecf