diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc index 7d9f8d2d3..f9d3b95cb 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc @@ -1,58 +1,3 @@ -# Copyright (C) 2017-2020 NXP +# Copyright (C) 2019-2020 NXP -SUMMARY = "OPTEE Client libs" -HOMEPAGE = "http://www.optee.org/" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" - -inherit pythonnative systemd - -OPTEE_CLIENT_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https" -SRC_URI = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH}" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append = " file://tee-supplicant.service" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -SYSTEMD_SERVICE_${PN} = "tee-supplicant.service" - -EXTRA_OEMAKE += "O=${B}" - -do_compile () { - if [ ${DEFAULTTUNE} = "aarch64" ]; then - oe_runmake -C ${S} ARCH=arm64 - else - oe_runmake -C ${S} ARCH=arm - fi -} - -do_install() { - oe_runmake -C ${S} install - - install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant - - install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0 - ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so - ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1 - - cp -a ${B}/export/usr/include ${D}/usr/ - - sed -i -e s:/etc:${sysconfdir}:g \ - -e s:/usr/bin:${bindir}:g \ - ${WORKDIR}/tee-supplicant.service - - install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service -} - -PACKAGES += "tee-supplicant" -FILES_${PN} += "${libdir}/* ${includedir}/*" -FILES_tee-supplicant += "${bindir}/tee-supplicant" - -INSANE_SKIP_${PN} = "ldflags dev-elf" -INSANE_SKIP_${PN}-dev = "ldflags dev-elf" -INSANE_SKIP_tee-supplicant = "ldflags" - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +require recipes-security/optee-imx/optee-client_3.7.0.imx.bb diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb index fabd66b7d..f8599b455 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb @@ -1,6 +1,10 @@ # Copyright (C) 2020 NXP require optee-client.imx.inc -SRCBRANCH = "imx_5.4.70_2.3.0" -SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0" +FILESEXTRAPATHS_prepend := "${THISDIR}/optee-client:" +OPTEE_CLIENT_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https" +SRC_URI = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} \ + file://tee-supplicant.service" +SRCBRANCH = "lf-5.10.y_1.0.0" +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc index 8bb44fb62..22b355b3d 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc @@ -1,57 +1,24 @@ -# Copyright (C) 2017-2020 NXP +# Copyright (C) 2019-2020 NXP + +require recipes-security/optee-imx/optee-os_3.7.0.imx.bb -SUMMARY = "OPTEE OS" -DESCRIPTION = "OPTEE OS" -HOMEPAGE = "http://www.optee.org/" -LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" -inherit deploy python3native autotools -DEPENDS = "python3-pycrypto-native python3-pyelftools-native u-boot-mkimage-native" - -OPTEE_OS_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https" -SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build.${PLATFORM_FLAVOR}" - -# The platform flavor corresponds to the Yocto machine without the leading 'i'. -PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" -PLATFORM_FLAVOR_imx6qpdlsolox = "mx6qsabresd" -PLATFORM_FLAVOR_imx6ul7d = "mx6ulevk" -PLATFORM_FLAVOR_imx6ull14x14evk = "mx6ullevk" -PLATFORM_FLAVOR_imx6ull9x9evk = "mx6ullevk" -PLATFORM_FLAVOR_imx6ulz14x14evk = "mx6ulzevk" -PLATFORM_FLAVOR_mx8mm = "mx8mmevk" -PLATFORM_FLAVOR_mx8mn = "mx8mnevk" -PLATFORM_FLAVOR_mx8mnlite = "mx8mnevk" -PLATFORM_FLAVOR_mx8qxp = "mx8qxpmek" -PLATFORM_FLAVOR_mx8mp = "mx8mpevk" -PLATFORM_FLAVOR_mx8dx = "mx8dxmek" -PLATFORM_FLAVOR_mx8dxl = "mx8dxlevk" -PLATFORM_FLAVOR_mx8phantomdxl = "mx8qxpmek" +SRC_URI_remove = " \ + file://0001-optee-os-fix-gcc10-compilation-issue-and-missing-cc-.patch" OPTEE_CORE_LOG_LEVEL ?= "1" OPTEE_TA_LOG_LEVEL ?= "0" -OPTEE_ARCH ?= "arm32" -OPTEE_ARCH_armv7a = "arm32" -OPTEE_ARCH_aarch64 = "arm64" +PLATFORM_FLAVOR_mx8mnlite = "mx8mnevk" -# Optee-os can be built for 32 bits and 64 bits at the same time -# as long as the compilers are correctly defined. -# For 64bits, CROSS_COMPILE64 must be set -# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that -# any 32 or 64 bits builds will pass -EXTRA_OEMAKE = "PLATFORM=imx PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \ - CROSS_COMPILE=${HOST_PREFIX} \ - CROSS_COMPILE64=${HOST_PREFIX} \ - LDFLAGS= \ - O=${B} \ - CFG_WERROR=y \ - CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \ - CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \ -" +EXTRA_OEMAKE_remove = "NOWERROR=1 \ + " + +EXTRA_OEMAKE += "CFG_WERROR=y \ + CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \ + CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \ + " do_compile () { unset LDFLAGS @@ -59,39 +26,3 @@ do_compile () { oe_runmake -C ${S} all } -do_deploy () { - install -d ${DEPLOYDIR} - ${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin - - if [ "${OPTEE_ARCH}" != "arm64" ]; then - IMX_LOAD_ADDR=`cat ${B}/core/tee-init_load_addr.txt` && \ - uboot-mkimage -A arm -O linux -C none -a ${IMX_LOAD_ADDR} -e ${IMX_LOAD_ADDR} \ - -d ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} - fi - - cd ${DEPLOYDIR} - ln -sf tee.${PLATFORM_FLAVOR}.bin tee.bin - cd - -} - -do_install () { - install -d ${D}${nonarch_base_libdir}/firmware/ - install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ - - # Install the TA devkit - install -d ${D}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/ - - for f in ${B}/export-ta_${OPTEE_ARCH}/*; do - cp -aR $f ${D}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/ - done -} - -addtask deploy after do_compile before do_install - - -FILES_${PN} = "${nonarch_base_libdir}/firmware/" -FILES_${PN}-staticdev = "/usr/include/optee/" -RDEPENDS_${PN}-dev += "${PN}-staticdev" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(imx)" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb index 21979620b..4f71b63a3 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb @@ -3,8 +3,11 @@ require optee-os.imx.inc DEPENDS_append = " python3-pycryptodomex-native" -SRCBRANCH = "imx_5.4.70_2.3.0" -SRCREV = "a991c90475bb1c715651e5fe27f7f32cbe61aef9" +OPTEE_OS_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https" +SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}" + +SRCBRANCH = "lf-5.10.y_1.0.0" +SRCREV = "87956c343f6a1a24dfe57e7d5c77dfc10b45148c" # tee-init_load_addr.txt has been remove in lates optee-os version. # to keep backward compatibility with existing optee-os recipe. diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc index 10cd63809..ac504bb35 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc @@ -1,4 +1,4 @@ -# Copyright (C) 2017-2020 NXP +# Copyright (C) 2020 NXP SUMMARY = "OPTEE test" HOMEPAGE = "http://www.optee.org/" @@ -6,24 +6,20 @@ HOMEPAGE = "http://www.optee.org/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" -inherit python3native - DEPENDS = "optee-os optee-client python3-pycrypto-native openssl" +inherit python3native cmake FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -OPTEE_TEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https" - -SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} \ -" - S = "${WORKDIR}/git" B = "${WORKDIR}/build" -TA_DEV_KIT_DIR_aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64/" +OPTEE_ARCH ?= "arm" +OPTEE_ARCH_armv7a = "arm32" OPTEE_ARCH_aarch64 = "arm64" + TA_DEV_KIT_DIR_arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32/" -OPTEE_ARCH_arm = "arm" +TA_DEV_KIT_DIR_aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64/" EXTRA_OEMAKE = " \ TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ @@ -36,32 +32,22 @@ EXTRA_OEMAKE = " \ -C ${S} O=${B} \ " +EXTRA_OECMAKE = " \ + -DOPTEE_TEST_SDK=${TA_DEV_KIT_DIR} \ +" do_compile () { export CXXFLAGS="${CXXFLAGS} --sysroot=${STAGING_DIR_HOST}" - - if [ ${DEFAULTTUNE} = "aarch64" ];then - export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_arm64/ - export ARCH=arm64 - else - export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_arm32/ - export ARCH=arm - fi - export OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}/usr - export CROSS_COMPILE_HOST=${HOST_PREFIX} - export CROSS_COMPILE_TA=${HOST_PREFIX} - export CROSS_COMPILE=${HOST_PREFIX} - export OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ oe_runmake V=1 } do_install () { - install -d ${D}/usr/bin - install ${B}/xtest/xtest ${D}/usr/bin/ + install -d ${D}/usr/bin + install ${B}/xtest/xtest ${D}/usr/bin/ - install -d ${D}/lib/optee_armtz - find ${B}/ta -name '*.ta' | while read name; do - install -m 444 $name ${D}/lib/optee_armtz/ - done + install -d ${D}/lib/optee_armtz + find ${B}/ta -name '*.ta' | while read name; do + install -m 444 $name ${D}/lib/optee_armtz/ + done } FILES_${PN} = "/usr/bin/ /lib*/optee_armtz/" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb index 66867f26e..a6bd360fa 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb @@ -3,7 +3,10 @@ require optee-test.imx.inc DEPENDS_append = " python3-pycryptodomex-native" -SRCBRANCH = "imx_5.4.70_2.3.0" +OPTEE_TEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https" +SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH}" + +SRCBRANCH = "lf-5.10.y_1.0.0" SRCREV = "0c998f42a3fb87b9f2929955cf4b0116cc515091" do_compile_prepend () {