From: Denys Dmytriyenko <de...@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 <de...@ti.com>
Cc: Joshua Watt <jpewhac...@gmail.com>
---
v2 - add new entry to maintainers.inc

 meta/conf/distro/include/maintainers.inc           |  1 +
 .../arm-trusted-firmware_2.2.bb                    | 55 ++++++++++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 
meta/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.2.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 01afc25..2a4121b 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -45,6 +45,7 @@ RECIPE_MAINTAINER_pn-apr-util = "Hongxu Jia 
<hongxu....@windriver.com>"
 RECIPE_MAINTAINER_pn-apt = "Aníbal Limón <limon.ani...@gmail.com>"
 RECIPE_MAINTAINER_pn-apt-native = "Aníbal Limón <limon.ani...@gmail.com>"
 RECIPE_MAINTAINER_pn-argp-standalone = "Khem Raj <raj.k...@gmail.com>"
+RECIPE_MAINTAINER_pn-arm-trusted-firmware = "Denys Dmytriyenko <de...@ti.com>"
 RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao <yi.z...@windriver.com>"
 RECIPE_MAINTAINER_pn-aspell = "Anuj Mittal <anuj.mit...@intel.com>"
 RECIPE_MAINTAINER_pn-assimp = "Anuj Mittal <anuj.mit...@intel.com>"
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

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to