diff options
Diffstat (limited to 'meta-rcar-gen3/recipes-bsp/optee')
-rw-r--r-- | meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service | 11 | ||||
-rw-r--r-- | meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb | 58 | ||||
-rw-r--r-- | meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb | 67 |
3 files changed, 136 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service b/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service new file mode 100644 index 0000000..4396f9f --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service @@ -0,0 +1,11 @@ +[Unit] +Description=optee services + +[Service] +ExecStartPre=/sbin/modprobe -q optee_armtz +ExecStart=/usr/bin/tee-supplicant +ExecStop=/usr/bin/killall -s KILL tee-supplicant +ExecStopPost=/sbin/modprobe -r optee_armtz + +[Install] +WantedBy=multi-user.target diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb b/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb new file mode 100644 index 0000000..9efbfb5 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb @@ -0,0 +1,58 @@ +DESCRIPTION = "OP-TEE Client" +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" +PR = "r0" +PV = "1.1.0+renesas+git${SRCPV}" +BRANCH = "master" +SRC_URI = "git://github.com/OP-TEE/optee_client.git;branch=${BRANCH}" +SRCREV = "db9c64d45818d146200297eaaedbd421a8b59e3a" + +SRC_URI += " \ + file://optee.service \ +" + +inherit systemd +SYSTEMD_SERVICE_${PN} = "optee.service" + +COMPATIBLE_MACHINE = "salvator-x|h3ulcb|m3ulcb" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "RPMB_EMU=0" + +do_install () { + # Create destination directories + install -d ${D}/${libdir} + install -d ${D}/${includedir} + + # Install library + install -m 0755 ${S}/out/export/lib/libteec.so.1.0 ${D}/${libdir} + + # Create symbolic link + cd ${D}/${libdir} + ln -sf libteec.so.1.0 libteec.so.1 + ln -sf libteec.so.1 libteec.so + + # Install header files + install -m 0644 ${S}/out/export/include/* ${D}/${includedir} + + # Install systemd service configure file for OP-TEE client + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}/${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/optee.service ${D}/${systemd_system_unitdir} + fi +} + +# install the tee-supplicant for 64 bit only. +do_install_append_aarch64 () { + # Create destination directory + install -d ${D}/${bindir} + + # Install binary to bindir + install -m 0755 ${S}/out/export/bin/tee-supplicant ${D}/${bindir} +} + +RPROVIDES_${PN} += "optee-client" diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb b/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb new file mode 100644 index 0000000..5d99bfe --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb @@ -0,0 +1,67 @@ +DESCRIPTION = "OP-TEE OS" + +LICENSE = "BSD-2-Clause & BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=69663ab153298557a59c67a60a743e5b \ + file://lib/libpng/LICENSE;md5=06a1b6fde6d93170bb72201c8000bf3d \ + file://${WORKDIR}/git_official/LICENSE;md5=69663ab153298557a59c67a60a743e5b \ + file://${WORKDIR}/git_official/lib/libpng/LICENSE;md5=06a1b6fde6d93170bb72201c8000bf3d \ +" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit deploy pythonnative + +PV = "2.2.0+renesas+git${SRCPV}" + +BRANCH = "rcar_gen3" +SRCREV_renesas = "fab553ef09322e8cca76e067282742b946f1ecb5" +SRCREV_officialgit = "c0c5d399d81a0669f5c8e3bcb20039d65649a78d" +SRCREV_FORMAT = "renesas_officialgit" + +SRC_URI = " \ + git://github.com/renesas-rcar/optee_os.git;branch=${BRANCH};name=renesas \ + git://github.com/OP-TEE/optee_os.git;branch=master;name=officialgit;destsuffix=git_official \ +" + +COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb)" +PLATFORM = "rcar" + +DEPENDS = "python-wand-native python-pycrypto-native" + +# Needed so that python-wand can find the installed imagemagick install. +export MAGICK_HOME="${STAGING_DIR_NATIVE}${prefix}" + +export CROSS_COMPILE64="${TARGET_PREFIX}" + +# Let the Makefile handle setting up the flags as it is a standalone application +LD[unexport] = "1" +LDFLAGS[unexport] = "1" +export CCcore="${CC}" +export LDcore="${LD}" +libdir[unexport] = "1" + +S = "${WORKDIR}/git" +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +do_configure() { + cp -r ${WORKDIR}/git_official/core/lib/libtomcrypt ${B}/core/lib/. +} + +do_compile() { + oe_runmake PLATFORM=${PLATFORM} CFG_ARM64_core=y +} + +# do_install() nothing +do_install[noexec] = "1" + +do_deploy() { + # Create deploy folder + install -d ${DEPLOYDIR} + + # Copy TEE OS to deploy folder + install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.elf ${DEPLOYDIR}/tee-${MACHINE}.elf + install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.bin ${DEPLOYDIR}/tee-${MACHINE}.bin + install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.srec ${DEPLOYDIR}/tee-${MACHINE}.srec +} +addtask deploy before do_build after do_compile |