aboutsummaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-kernel/optee-linuxdriver
diff options
context:
space:
mode:
authorTakamitsu Honda <takamitsu.honda.pv@renesas.com>2017-01-27 11:47:06 +0900
committerTakamitsu Honda <takamitsu.honda.pv@renesas.com>2017-01-27 11:47:06 +0900
commit3613b2780a6b5d5d70ea6802be5060a8214cbdb5 (patch)
treefab60ccb7b38da7e8558a2879885f06e5b0662d2 /meta-rcar-gen3/recipes-kernel/optee-linuxdriver
Renesas BSP v3.5.1 (kernel v4.9 stable) [Environment] poky: yocto-2.1.2 (cca8dd15c8096626052f6d8d25ff1e9a606104a3) meta-openembedded: 55c8a76da5dc099a7bc3838495c672140cedb78e meta-linaro: 2f51d38048599d9878f149d6d15539fb97603f8f [Information] - U-boot: Changed load address from H'49000000 to H'50000000 - XDG_RUNTIME_DIR has been changed from "/run/user/root" to "/run/user/0" - Change location of include directory, which stores common user header files, to $(INCSHARED) - In BSP Only, core-image-weston is not supported even though local-wayland.conf is provided. - Please set Salvator-x SW7 Pin-1. In after Yocto BSP v2.12.0, it is  necessary to enable BKUP_TRG signal for Suspend to RAM. - The dtb filename was changed in R-Car H3. Only "Image-r8a7795-es1-salvator-x.dtb" is supported in this version. Please use "Image-r8a7795-es1-salvator-x.dtb" It supports R-Car H3 WS1.0 and WS1.1. - Please update your local.conf and bblayers.conf corresponding to Yocto v2.16.0 package. You can refer to meta-rcargen3/docs/sample/conf/ for updated contents. - You have to re-compile out-of-recipe software like user application by v2.16.0 SDK toolchains. - In some boards, the resuming from System Suspend to RAM may cause unstable operation or failed to resume. Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/optee-linuxdriver')
-rw-r--r--meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb75
1 files changed, 75 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb b/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb
new file mode 100644
index 0000000..a8378d6
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb
@@ -0,0 +1,75 @@
+DESCRIPTION = "OP-TEE Linux Driver"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+"
+inherit module
+
+PN = "optee-linuxdriver"
+PR = "r0"
+BRANCH = "rcar_gen3"
+SRC_URI = " \
+ git://github.com/renesas-rcar/optee_linuxdriver.git;branch=${BRANCH} \
+"
+SRCREV = "602d533175ce4ac3383f827c3157b1a6a78fe296"
+
+PV = "1.0.0+renesas+git${SRCPV}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+
+LDFLAGS[unexport] = "1"
+
+do_configure[noexec] = "1"
+# We need to be staged before do_complie. This recipe does not execute do_configure.
+do_complile[depends] += "virtual/kernel:do_shared_workdir"
+
+do_compile() {
+ # Build kernel module
+ cd ${S}/
+ make -C ${KBUILD_OUTPUT} M=${S} modules
+}
+
+do_install() {
+ # Create shared directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${STAGING_KERNEL_DIR}/include
+ install -d ${STAGING_KERNEL_DIR}/include/arm_common
+ install -d ${STAGING_KERNEL_DIR}/include/linux
+
+ # Install kernel module
+ install -m 0644 ${S}/core/optee.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -m 0644 ${S}/armtz/optee_armtz.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+
+ # Install shared library to STAGING_KERNEL_DIR for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 0644 ${S}/Module.symvers ${STAGING_KERNEL_DIR}/include/optee.symvers
+
+ # Install shared header files to STAGING_KERNEL_DIR
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 0644 ${S}/include/arm_common/optee_msg.h ${STAGING_KERNEL_DIR}/include/arm_common/
+ install -m 0644 ${S}/include/arm_common/optee_smc.h ${STAGING_KERNEL_DIR}/include/arm_common/
+ install -m 0644 ${S}/include/linux/tee_client_api.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_core.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_ioc.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_kernel_api.h ${STAGING_KERNEL_DIR}/include/linux/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-armtz \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/optee.ko \
+"
+
+FILES_${PN}-armtz = " \
+ /lib/modules/${KERNEL_VERSION}/extra/optee_armtz.ko \
+"
+
+RPROVIDES_${PN} += "optee-linuxdriver"
+RPROVIDES_${PN} += "kernel-module-optee"
+RPROVIDES_${PN} += "kernel-module-optee-armtz"