From 07c46c0ead4f1626fe5e8463533a02e7ac44ab80 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 7 Apr 2022 17:09:03 +0100 Subject: [PATCH] arm/scp-firmware: add 2.10 Add a new recipe for SCP Firmware 2.10. As we're late in the release cycle, keep 2.9 in the tree so that BSPs that can't be tested in time can stay with 2.9 for now. Signed-off-by: Ross Burton Signed-off-by: Jon Mason --- .../scp-firmware/scp-firmware_2.10.0.bb | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.10.0.bb diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.10.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.10.0.bb new file mode 100644 index 00000000..f976047a --- /dev/null +++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.10.0.bb @@ -0,0 +1,83 @@ +SUMMARY = "SCP and MCP Firmware" +DESCRIPTION = "Firmware for SCP and MCP software reference implementation" +HOMEPAGE = "https://github.com/ARM-software/SCP-firmware" + +LICENSE = "BSD-3-Clause & Apache-2.0" +LIC_FILES_CHKSUM = "file://license.md;beginline=5;md5=9db9e3d2fb8d9300a6c3d15101b19731 \ + file://contrib/cmsis/git/LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "gitsm://github.com/ARM-software/SCP-firmware.git;protocol=https;branch=master" + +SRCREV = "673d014f3861ad81cc5ab06d2884a314a610799b" + +PROVIDES += "virtual/control-processor-firmware" + +SCP_BUILD_RELEASE ?= "1" +SCP_PLATFORM ?= "invalid" +SCP_COMPILER ?= "arm-none-eabi" +SCP_LOG_LEVEL ?= "WARN" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "virtual/arm-none-eabi-gcc-native" +# For now we only build with GCC, so stop meta-clang trying to get involved +TOOLCHAIN = "gcc" + +SCP_BUILD_STR = "${@bb.utils.contains('SCP_BUILD_RELEASE', '1', 'release', 'debug', d)}" + +inherit deploy + +B = "${WORKDIR}/build" +S = "${WORKDIR}/git" + +# Allow platform specific copying of only scp or both scp & mcp, default to both +FW_TARGETS ?= "scp mcp" +FW_INSTALL ?= "ramfw romfw" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE ?= "invalid" + +LDFLAGS[unexport] = "1" + +# No configure +do_configure[noexec] = "1" + +EXTRA_OEMAKE = "V=1 \ + BUILD_PATH='${B}' \ + PRODUCT='${SCP_PLATFORM}' \ + MODE='${SCP_BUILD_STR}' \ + LOG_LEVEL='${SCP_LOG_LEVEL}' \ + CC='${SCP_COMPILER}-gcc' \ + AR='${SCP_COMPILER}-ar' \ + SIZE='${SCP_COMPILER}-size' \ + OBJCOPY='${SCP_COMPILER}-objcopy' \ + " + +do_compile() { + oe_runmake -C "${S}" +} +do_compile[cleandirs] += "${B}" + +do_install() { + install -d ${D}/firmware + for FW in ${FW_TARGETS}; do + for TYPE in ${FW_INSTALL}; do + install -D "${B}/product/${SCP_PLATFORM}/${FW}_${TYPE}/${SCP_BUILD_STR}/bin/${FW}_${TYPE}.bin" "${D}/firmware/" + install -D "${B}/product/${SCP_PLATFORM}/${FW}_${TYPE}/${SCP_BUILD_STR}/bin/${FW}_${TYPE}.elf" "${D}/firmware/" + done + done +} + +FILES:${PN} = "/firmware" +SYSROOT_DIRS += "/firmware" + +FILES:${PN}-dbg += "/firmware/*.elf" +# Skip QA check for relocations in .text of elf binaries +INSANE_SKIP:${PN}-dbg = "arch textrel" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" + +do_deploy() { + # Copy the images to deploy directory + cp -rf ${D}/firmware/* ${DEPLOYDIR}/ +} +addtask deploy after do_install