# Copyright (C) 2017-2021 NXP DESCRIPTION = "i.MX ARM Trusted Firmware" SECTION = "BSP" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" PV .= "+git${SRCPV}" SRCBRANCH = "lf_v2.4" SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \ " SRCREV = "bb4957067d4b96a6ee197a333425948e409e990d" S = "${WORKDIR}/git" inherit deploy BOOT_TOOLS = "imx-boot-tools" ATF_PLATFORM ??= "INVALID" EXTRA_OEMAKE += " \ CROSS_COMPILE="${TARGET_PREFIX}" \ PLAT=${ATF_PLATFORM} \ " # Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application CFLAGS[unexport] = "1" LDFLAGS[unexport] = "1" AS[unexport] = "1" LD[unexport] = "1" # Baremetal, just need a compiler DEPENDS:remove = "virtual/${TARGET_PREFIX}compilerlibs virtual/libc" BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}" # CC and LD introduce arguments which conflict with those otherwise provided by # this recipe. The heads of these variables excluding those arguments # are therefore used instead. def remove_options_tail (in_string): from itertools import takewhile return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' '))) EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}" EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}" do_compile() { # Clear LDFLAGS to avoid the option -Wl recognize issue oe_runmake bl31 if ${BUILD_OPTEE}; then oe_runmake clean BUILD_BASE=build-optee oe_runmake BUILD_BASE=build-optee SPD=opteed bl31 fi } do_install[noexec] = "1" do_deploy() { install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin if ${BUILD_OPTEE}; then install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee fi } addtask deploy after do_compile PACKAGE_ARCH = "${MACHINE_SOCARCH}" COMPATIBLE_MACHINE = "(mx8|imx-boot-container)"