When building pmu firmware using multiconfig setup, the binaries can be deployed in different build directory. Provide variables to set the binaries in the required path for QEMU.
Fix SPL dependency on pmu-firmware. Since the pmu-firmware is being built as a part of multiconfig provide variables to fetch appropriate pmu-firmware binaries. Signed-off-by: Manjukumar Matha <[email protected]> --- meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf | 5 ++++- meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf | 3 +++ meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf | 3 +++ meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc | 4 +--- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf index 07e8d64..f04a42c 100644 --- a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf @@ -65,12 +65,15 @@ QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw" # PMU instance args PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" + QB_PMU_OPT = " \ -M microblaze-fdt \ -display none \ -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \ -kernel ${PMU_ROM} \ - -device loader,file=${DEPLOY_DIR_IMAGE}/pmu-firmware-${MACHINE}.elf \ + -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \ -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \ -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \ " diff --git a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf index 76838c1..dda099d 100644 --- a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf @@ -24,6 +24,9 @@ KERNEL_DEVICETREE = "xilinx/zynqmp-zcu104-revC.dtb" PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" + EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ arm-trusted-firmware \ diff --git a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf index eca633e..edc95c1 100644 --- a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf @@ -22,6 +22,9 @@ KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb" PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx" +PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu" +PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu" + EXTRA_IMAGEDEPENDS += " \ u-boot-zynq-uenv \ arm-trusted-firmware \ diff --git a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc index 6233bc8..cf8b9b7 100644 --- a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc +++ b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc @@ -64,10 +64,8 @@ python () { d.setVar("SPL_BINARY", "") if providesbin and d.getVar("SOC_FAMILY") in ["zynqmp"]: - # depend on the pmu-firmware build - #d.appendVar("DEPENDS", " virtual/pmu-firmware") # determine the path relative to the source tree - relpath = os.path.relpath(d.expand("${DEPLOY_DIR_IMAGE}/pmu-${MACHINE}.bin"), d.getVar("S")) + relpath = os.path.relpath(d.expand("${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin"), d.getVar("S")) # setup PMU Firmware path via MAKEFLAGS d.appendVar("EXTRA_OEMAKE", " CONFIG_PMUFW_INIT_FILE=\"{0}\"".format(relpath)) } -- 2.7.4 -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
