blob: 19238f97a62ebaae46688d49491efba06eaab1f8 [file] [log] [blame]
inherit esw deploy
COMPATIBLE_MACHINE = "microblaze-pmu"
ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src"
DEPENDS += "xilstandalone xiltimer xilfpga xilskey"
do_install() {
install -d ${D}/${base_libdir}/firmware
# Note that we have to make the ELF executable for it to be stripped
install -m 0755 ${B}/pmufw* ${D}/${base_libdir}/firmware
}
PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
do_deploy() {
# We need to deploy the stripped elf, hence why not doing it from ${D}
install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin
install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
}
addtask deploy before do_build after do_package
FILES_${PN} = "${base_libdir}/firmware/pmufw*"