[OE-core] [PATCH] arm-trusted-firmware: add upstream version 2.2

Denys Dmytriyenko denis at denix.org
Thu Jan 23 20:59:45 UTC 2020


From: Denys Dmytriyenko <denys at ti.com>

Many BSPs require ARM Trusted Firmware (also known as Trusted Firmware-A).
To avoid duplicating efforts of adding very similar recipes to BSP layers,
add an upstream reference implementation to openembedded-core, which can be
customized by BSPs, if needed.

Signed-off-by: Denys Dmytriyenko <denys at ti.com>
Cc: Joshua Watt <JPEWhacker at gmail.com>
---
 .../arm-trusted-firmware_2.2.bb                    | 55 ++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 meta/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.2.bb

diff --git a/meta/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.2.bb b/meta/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.2.bb
new file mode 100644
index 0000000..3079a70
--- /dev/null
+++ b/meta/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.2.bb
@@ -0,0 +1,55 @@
+SUMMARY = "ARM Trusted Firmware"
+DESCRIPTION = "ARM Trusted Firmware provides a reference implementation of \
+Secure World software for ARMv8-A, including Exception Level 3 (EL3) software. \
+It provides implementations of various ARM interface standards such as the \
+Power State Coordination Interface (PSCI), Trusted Board Boot Requirements \
+(TBBR) and Secure monitor code."
+HOMEPAGE = "http://infocenter.arm.com/help/topic/com.arm.doc.dui0928e/CJHIDGJF.html"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=189505435dbcdcc8caa63c46fe93fa89"
+
+inherit deploy
+
+DEPENDS = "dtc-native openssl-native"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+BRANCH = "master"
+SRC_URI = "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=http;branch=${BRANCH}"
+SRCREV = "a04808c16cfc126d9fe572ae7c4b5a3d39de5796"
+
+ATF_BINARY ??= "bl31"
+ATF_SUFFIX ??= "bin"
+ATF_TARGET ??= "all"
+
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_configure[noexec] = "1"
+
+EXTRA_OEMAKE = '-C ${S} BUILD_BASE=${B} DEBUG=0 CROSS_COMPILE="${TARGET_PREFIX}" \
+		PLAT="${ATF_PLATFORM}" TARGET_BOARD="${ATF_BOARD}" ${PACKAGECONFIG_CONFARGS}'
+
+do_compile() {
+	oe_runmake ${ATF_TARGET}
+}
+
+do_install() {
+	install -d ${D}/boot
+	install -m 0644 ${B}/${ATF_PLATFORM}/${ATF_BOARD}/release/${ATF_BINARY}.${ATF_SUFFIX} ${D}/boot/
+}
+
+do_deploy() {
+	install -d ${DEPLOYDIR}
+	install -m 0644 ${B}/${ATF_PLATFORM}/${ATF_BOARD}/release/${ATF_BINARY}.${ATF_SUFFIX} ${DEPLOYDIR}/
+}
+addtask deploy before do_build after do_compile
+
+FILES_${PN} = "/boot"
+SYSROOT_DIRS += "/boot"
-- 
2.7.4



More information about the Openembedded-core mailing list