From ef8660ea7db3b5ba4bedfb22dd10b9774847d4f9 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 28 Jan 2021 16:47:36 -0600 Subject: recipes-standalone: Move firmware to embeddedsw directory and simplify Create a new embeddedsw.inc file, This will contain all of the refereces for SRCREV, and SRC_URI and other components that may be necessary. Changing the filename or passing SRC_VER will switch the various source version information. As new releases happen, they can be added to the list while incompatible ones can be removed. This now allows us to focus on adjusting the recipes as necessary. Signed-off-by: Mark Hatle --- .../recipes-bsp/embeddedsw/embeddedsw.inc | 26 ++++++++ .../recipes-bsp/embeddedsw/plm-firmware.inc | 63 +++++++++++++++++++ .../recipes-bsp/embeddedsw/plm-firmware_2019.2.bb | 1 + .../recipes-bsp/embeddedsw/plm-firmware_2020.1.bb | 1 + .../recipes-bsp/embeddedsw/plm-firmware_2020.2.bb | 3 + .../recipes-bsp/embeddedsw/pmu-firmware.inc | 63 +++++++++++++++++++ .../pmu-firmware/fix-zynqmp-assert.patch | 68 +++++++++++++++++++++ .../recipes-bsp/embeddedsw/pmu-firmware_2019.2.bb | 1 + .../recipes-bsp/embeddedsw/pmu-firmware_2020.1.bb | 1 + .../recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb | 3 + .../recipes-bsp/embeddedsw/psm-firmware.inc | 64 ++++++++++++++++++++ .../recipes-bsp/embeddedsw/psm-firmware_2019.2.bb | 1 + .../recipes-bsp/embeddedsw/psm-firmware_2020.1.bb | 1 + .../recipes-bsp/embeddedsw/psm-firmware_2020.2.bb | 3 + .../plm-firmware/plm-firmware_2019.2.bb | 69 --------------------- .../pmu-firmware/fix-zynqmp-assert.patch | 68 --------------------- .../pmu-firmware/pmu-firmware_2019.2.bb | 68 --------------------- .../psm-firmware/psm-firmware_2019.2.bb | 70 ---------------------- 18 files changed, 299 insertions(+), 275 deletions(-) create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw.inc create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2019.2.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.2.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware/fix-zynqmp-assert.patch create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2019.2.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2019.2.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.2.bb delete mode 100644 meta-xilinx-standalone/recipes-standalone/plm-firmware/plm-firmware_2019.2.bb delete mode 100644 meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch delete mode 100644 meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.2.bb delete mode 100644 meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2019.2.bb diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw.inc new file mode 100644 index 00000000..79c1a5f4 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw.inc @@ -0,0 +1,26 @@ +# Automatically determnine the version from the bb file +SRC_VER ?= "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or 'master'}" + +LICENSE = "Proprietary" +LIC_FILES_CHKSUM[2019.1] = 'e9b6d01d45faccfbf05d8caea53f0a35' +LIC_FILES_CHKSUM[2019.2] = '39ab6ab638f4d1836ba994ec6852de94' +LIC_FILES_CHKSUM[2020.1] = '8b565227e1264d677db8f841c2948cba' +LIC_FILES_CHKSUM[2020.2] = '3a6e22aebf6516f0f74a82e1183f74f8' +LIC_FILES_CHKSUM[master] = '3a6e22aebf6516f0f74a82e1183f74f8' +LIC_FILES_CHKSUM = "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('SRC_VER')) or '0'}" + +SRCREV[2019.1] = "26c14d9861010a0e3a55c73fb79efdb816eb42ca" +SRCREV[2019.2] = "e8db5fb118229fdc621e0ec7848641a23bf60998" +SRCREV[2020.1] = "338150ab3628a1ea6b06e964b16e712b131882dd" +SRCREV[2020.2] = "2516d5ed8161e16c2813b0e8e4ceac693f23de5c" +SRCREV ?= "${@d.getVarFlag('SRCREV', d.getVar('SRC_VER')) or '${AUTOREV}'}" + +PV = "${SRC_VER}+git${SRCPV}" + +SRC_BRANCH[2019.1] = "release-2019.1" +SRC_BRANCH[2019.2] = "release-2019.2" +SRC_BRANCH[2020.1] = "release-2020.1" +SRC_BRANCH[2020.2] = "master-rel-2020.2" +SRC_BRANCH ?= "${@d.getVarFlag('SRC_BRANCH', d.getVar('SRC_VER')) or '${SRC_VER}'}" + +SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;branch=${SRC_BRANCH}" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc new file mode 100644 index 00000000..5a77e3de --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc @@ -0,0 +1,63 @@ +require embeddedsw.inc + +inherit deploy + +COMPATIBLE_HOST = "microblaze.*-elf" +COMPATIBLE_MACHINE = "versal-mb" + +S = "${WORKDIR}/git" +B = "${S}/lib/sw_apps/versal_plm/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/versal_plm_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +do_compile() { + # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc + # properly. So do its job manually. Preparing the includes first, then libs. + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} + done + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} + done + + # --build-id=none is required due to linker script not defining a location for it. + # Again, recipe-systoot include is necessary + oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" +} + +do_install() { + : +} + +PLM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +PLM_BASE_NAME[vardepsexclude] = "DATETIME" + +do_deploy() { + install -Dm 0644 ${B}/plm.elf ${DEPLOYDIR}/${PLM_BASE_NAME}.elf + ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${B}/plm.elf ${B}/plm.bin + install -m 0644 ${B}/plm.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin + ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_install + diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2019.2.bb new file mode 100644 index 00000000..782c9dc4 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2019.2.bb @@ -0,0 +1 @@ +require plm-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.1.bb new file mode 100644 index 00000000..782c9dc4 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.1.bb @@ -0,0 +1 @@ +require plm-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.2.bb new file mode 100644 index 00000000..69455dfa --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2020.2.bb @@ -0,0 +1,3 @@ +require plm-firmware.inc + +DEFAULT_PREFERENCE = "-1" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc new file mode 100644 index 00000000..584809da --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc @@ -0,0 +1,63 @@ +require embeddedsw.inc + +SRC_URI += "file://fix-zynqmp-assert.patch" + +inherit deploy + +COMPATIBLE_HOST = "microblaze.*-elf" +COMPATIBLE_MACHINE = "microblaze-pmu" + +S = "${WORKDIR}/git" +B = "${S}/lib/sw_apps/zynqmp_pmufw/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +do_compile() { + # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc + # properly. So do its job manually. Preparing the includes first, then libs. + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} + done + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} + done + + # --build-id=none is required due to linker script not defining a location for it. + # Again, recipe-systoot include is necessary + oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" +} + +do_install() { + : +} + +PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf + ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${B}/executable.elf ${B}/executable.bin + install -m 0644 ${B}/executable.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_install diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware/fix-zynqmp-assert.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware/fix-zynqmp-assert.patch new file mode 100644 index 00000000..87e1b111 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware/fix-zynqmp-assert.patch @@ -0,0 +1,68 @@ +diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c +index 297c6c2ddc..bc295cf013 100644 +--- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c ++++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c +@@ -52,7 +52,7 @@ + * @pulse Function performing reset pulse operation + */ + typedef struct PmResetOps { +- void (*const assert)(const PmReset* const rst, const u32 action); ++ void (*const resetAssert)(const PmReset* const rst, const u32 action); + u32 (*const getStatus)(const PmReset* const s); + u32 (*const pulse)(const PmReset* const rst); + } PmResetOps; +@@ -415,37 +415,37 @@ static u32 PmResetPulsePl(const PmReset* const rst) + } + + static const PmResetOps pmResetOpsGeneric = { +- .assert = PmResetAssertGen, ++ .resetAssert = PmResetAssertGen, + .getStatus = PmResetGetStatusGen, + .pulse = PmResetPulseGen, + }; + + static const PmResetOps pmResetOpsGpo = { +- .assert = PmResetAssertGpo, ++ .resetAssert = PmResetAssertGpo, + .getStatus = PmResetGetStatusGpo, + .pulse = PmResetPulseGpo, + }; + + static const PmResetOps pmResetOpsRom = { +- .assert = PmResetAssertRom, ++ .resetAssert = PmResetAssertRom, + .getStatus = PmResetGetStatusRom, + .pulse = PmResetPulseRom, + }; + + static const PmResetOps pmResetOpsNoAssert = { +- .assert = NULL, ++ .resetAssert = NULL, + .getStatus = PmResetGetStatusRom, + .pulse = PmResetPulseRom, + }; + + static const PmResetOps pmResetOpsPl = { +- .assert = PmResetAssertPl, ++ .resetAssert = PmResetAssertPl, + .getStatus = PmResetGetStatusPl, + .pulse = PmResetPulsePl, + }; + + static const PmResetOps pmResetOpsGpioBankIO = { +- .assert = NULL, ++ .resetAssert = NULL, + .getStatus = PmResetGetStatusGpioBankIOs, + .pulse = PmResetPulseGpioBankIOs, + }; +@@ -1901,8 +1901,8 @@ s32 PmResetDoAssert(const PmReset *reset, u32 action) + switch (action) { + case PM_RESET_ACTION_RELEASE: + case PM_RESET_ACTION_ASSERT: +- if (NULL != reset->ops->assert) { +- reset->ops->assert(reset, action); ++ if (NULL != reset->ops->resetAssert) { ++ reset->ops->resetAssert(reset, action); + } else { + status = XST_INVALID_PARAM; + } diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2019.2.bb new file mode 100644 index 00000000..88b10b31 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2019.2.bb @@ -0,0 +1 @@ +require pmu-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.1.bb new file mode 100644 index 00000000..88b10b31 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.1.bb @@ -0,0 +1 @@ +require pmu-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb new file mode 100644 index 00000000..e2eca1b7 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb @@ -0,0 +1,3 @@ +require pmu-firmware.inc + +DEFAULT_PREFERENCE = "-1" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc new file mode 100644 index 00000000..344bfca0 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc @@ -0,0 +1,64 @@ +require embeddedsw.inc + +inherit deploy + +COMPATIBLE_HOST = "microblaze.*-elf" +COMPATIBLE_MACHINE = "versal-mb" + + +S = "${WORKDIR}/git" +B = "${S}/lib/sw_apps/versal_psmfw/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +do_compile() { + # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc + # properly. So do its job manually. Preparing the includes first, then libs. + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} + done + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} + done + + # --build-id=none is required due to linker script not defining a location for it. + # Again, recipe-systoot include is necessary + oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" +} + +do_install() { + : +} + +PSM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +PSM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME" + +do_deploy() { + install -Dm 0644 ${B}/psmfw.elf ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf + ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${B}/psmfw.elf ${B}/psmfw.bin + install -m 0644 ${B}/psmfw.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin + ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_install + diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2019.2.bb new file mode 100644 index 00000000..61509c7a --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2019.2.bb @@ -0,0 +1 @@ +require psm-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.1.bb new file mode 100644 index 00000000..61509c7a --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.1.bb @@ -0,0 +1 @@ +require psm-firmware.inc diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.2.bb new file mode 100644 index 00000000..11ef4038 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2020.2.bb @@ -0,0 +1,3 @@ +require psm-firmware.inc + +DEFAULT_PREFERENCE = "-1" diff --git a/meta-xilinx-standalone/recipes-standalone/plm-firmware/plm-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-standalone/plm-firmware/plm-firmware_2019.2.bb deleted file mode 100644 index 2c28a1f4..00000000 --- a/meta-xilinx-standalone/recipes-standalone/plm-firmware/plm-firmware_2019.2.bb +++ /dev/null @@ -1,69 +0,0 @@ -inherit deploy - -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://license.txt;md5=39ab6ab638f4d1836ba994ec6852de94" - -SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998" -PV = "2019.2+git${SRCPV}" - -SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1" - -COMPATIBLE_HOST = "microblaze.*-elf" -COMPATIBLE_MACHINE = "versal-mb" - -S = "${WORKDIR}/git" -B = "${S}/lib/sw_apps/versal_plm/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../misc/copy_bsp.sh -} - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/versal_plm_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -do_compile() { - # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc - # properly. So do its job manually. Preparing the includes first, then libs. - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} - done - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} - done - - # --build-id=none is required due to linker script not defining a location for it. - # Again, recipe-systoot include is necessary - oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" -} - -do_install() { - : -} - -PLM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" -PLM_BASE_NAME[vardepsexclude] = "DATETIME" - -do_deploy() { - install -Dm 0644 ${B}/plm.elf ${DEPLOYDIR}/${PLM_BASE_NAME}.elf - ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${B}/plm.elf ${B}/plm.bin - install -m 0644 ${B}/plm.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin - ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_install - diff --git a/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch b/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch deleted file mode 100644 index 87e1b111..00000000 --- a/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware/fix-zynqmp-assert.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -index 297c6c2ddc..bc295cf013 100644 ---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -@@ -52,7 +52,7 @@ - * @pulse Function performing reset pulse operation - */ - typedef struct PmResetOps { -- void (*const assert)(const PmReset* const rst, const u32 action); -+ void (*const resetAssert)(const PmReset* const rst, const u32 action); - u32 (*const getStatus)(const PmReset* const s); - u32 (*const pulse)(const PmReset* const rst); - } PmResetOps; -@@ -415,37 +415,37 @@ static u32 PmResetPulsePl(const PmReset* const rst) - } - - static const PmResetOps pmResetOpsGeneric = { -- .assert = PmResetAssertGen, -+ .resetAssert = PmResetAssertGen, - .getStatus = PmResetGetStatusGen, - .pulse = PmResetPulseGen, - }; - - static const PmResetOps pmResetOpsGpo = { -- .assert = PmResetAssertGpo, -+ .resetAssert = PmResetAssertGpo, - .getStatus = PmResetGetStatusGpo, - .pulse = PmResetPulseGpo, - }; - - static const PmResetOps pmResetOpsRom = { -- .assert = PmResetAssertRom, -+ .resetAssert = PmResetAssertRom, - .getStatus = PmResetGetStatusRom, - .pulse = PmResetPulseRom, - }; - - static const PmResetOps pmResetOpsNoAssert = { -- .assert = NULL, -+ .resetAssert = NULL, - .getStatus = PmResetGetStatusRom, - .pulse = PmResetPulseRom, - }; - - static const PmResetOps pmResetOpsPl = { -- .assert = PmResetAssertPl, -+ .resetAssert = PmResetAssertPl, - .getStatus = PmResetGetStatusPl, - .pulse = PmResetPulsePl, - }; - - static const PmResetOps pmResetOpsGpioBankIO = { -- .assert = NULL, -+ .resetAssert = NULL, - .getStatus = PmResetGetStatusGpioBankIOs, - .pulse = PmResetPulseGpioBankIOs, - }; -@@ -1901,8 +1901,8 @@ s32 PmResetDoAssert(const PmReset *reset, u32 action) - switch (action) { - case PM_RESET_ACTION_RELEASE: - case PM_RESET_ACTION_ASSERT: -- if (NULL != reset->ops->assert) { -- reset->ops->assert(reset, action); -+ if (NULL != reset->ops->resetAssert) { -+ reset->ops->resetAssert(reset, action); - } else { - status = XST_INVALID_PARAM; - } diff --git a/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.2.bb deleted file mode 100644 index 7ecf64e5..00000000 --- a/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.2.bb +++ /dev/null @@ -1,68 +0,0 @@ -inherit deploy - -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://license.txt;md5=39ab6ab638f4d1836ba994ec6852de94" - -SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998" -PV = "2019.2+git${SRCPV}" - -SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1 \ - file://fix-zynqmp-assert.patch" - -COMPATIBLE_HOST = "microblaze.*-elf" -COMPATIBLE_MACHINE = "microblaze-pmu" - -S = "${WORKDIR}/git" -B = "${S}/lib/sw_apps/zynqmp_pmufw/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../misc/copy_bsp.sh -} - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -do_compile() { - # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc - # properly. So do its job manually. Preparing the includes first, then libs. - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} - done - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} - done - - # --build-id=none is required due to linker script not defining a location for it. - # Again, recipe-systoot include is necessary - oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" -} - -do_install() { - : -} - -PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf - ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${B}/executable.elf ${B}/executable.bin - install -m 0644 ${B}/executable.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_install diff --git a/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2019.2.bb b/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2019.2.bb deleted file mode 100644 index a3ddb227..00000000 --- a/meta-xilinx-standalone/recipes-standalone/psm-firmware/psm-firmware_2019.2.bb +++ /dev/null @@ -1,70 +0,0 @@ -inherit deploy - -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://license.txt;md5=39ab6ab638f4d1836ba994ec6852de94" - -SRCREV = "e8db5fb118229fdc621e0ec7848641a23bf60998" -PV = "2019.2+git${SRCPV}" - -SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1" - -COMPATIBLE_HOST = "microblaze.*-elf" -COMPATIBLE_MACHINE = "versal-mb" - - -S = "${WORKDIR}/git" -B = "${S}/lib/sw_apps/versal_psmfw/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../misc/copy_bsp.sh -} - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -do_compile() { - # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc - # properly. So do its job manually. Preparing the includes first, then libs. - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)} - done - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)} - done - - # --build-id=none is required due to linker script not defining a location for it. - # Again, recipe-systoot include is necessary - oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" -} - -do_install() { - : -} - -PSM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" -PSM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME" - -do_deploy() { - install -Dm 0644 ${B}/psmfw.elf ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf - ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${B}/psmfw.elf ${B}/psmfw.bin - install -m 0644 ${B}/psmfw.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin - ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_install - -- cgit v1.2.3-54-g00ecf