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