summaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-bsp/optee
diff options
context:
space:
mode:
Diffstat (limited to 'meta-rcar-gen3/recipes-bsp/optee')
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service11
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb58
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb67
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