diff options
Diffstat (limited to 'meta-rcar-gen3/recipes-bsp')
12 files changed, 426 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb new file mode 100644 index 0000000..11ac5ec --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb @@ -0,0 +1,60 @@ +DESCRIPTION = "ARM Trusted Firmware" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://license.md;md5=829bdeb34c1d9044f393d5a16c068371" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit deploy +require include/multimedia-control.inc + +S = "${WORKDIR}/git" + +BRANCH = "rcar_gen3" +SRC_URI = "git://github.com/renesas-rcar/arm-trusted-firmware.git;branch=${BRANCH}" +SRCREV = "b330e0e1e4ecde33da7d2a1a4660391708971c3a" + +PV = "v1.3+renesas+git${SRCPV}" + +COMPATIBLE_MACHINE = "(salvator-x|ulcb)" +PLATFORM = "rcar" +ATFW_OPT_LOSSY = "${@base_conditional("USE_MULTIMEDIA", "1", "RCAR_LOSSY_ENABLE=1", "", d)}" +ATFW_OPT_r8a7795 = "LSI=H3 RCAR_DRAM_SPLIT=1 ${ATFW_OPT_LOSSY}" +ATFW_OPT_r8a7796 = "LSI=M3 RCAR_DRAM_SPLIT=2 ${ATFW_OPT_LOSSY}" +ATFW_OPT_append_ulcb = " RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0" + +SRC_URI_append = " \ + file://0001-Boot-Normal-World-in-EL2.patch \ +" + +# requires CROSS_COMPILE set by hand as there is no configure script +export CROSS_COMPILE="${TARGET_PREFIX}" + +# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application +CFLAGS[unexport] = "1" +LDFLAGS[unexport] = "1" +AS[unexport] = "1" +LD[unexport] = "1" + +do_compile() { + oe_runmake bl2 bl31 dummytool PLAT=${PLATFORM} ${ATFW_OPT} +} + +# do_install() nothing +do_install[noexec] = "1" + +do_deploy() { + # Create deploy folder + install -d ${DEPLOYDIR} + + # Copy IPL to deploy folder + install -m 0644 ${S}/build/${PLATFORM}/release/bl2/bl2.elf ${DEPLOYDIR}/bl2-${MACHINE}.elf + install -m 0644 ${S}/build/${PLATFORM}/release/bl2.bin ${DEPLOYDIR}/bl2-${MACHINE}.bin + install -m 0644 ${S}/build/${PLATFORM}/release/bl2.srec ${DEPLOYDIR}/bl2-${MACHINE}.srec + install -m 0644 ${S}/build/${PLATFORM}/release/bl31/bl31.elf ${DEPLOYDIR}/bl31-${MACHINE}.elf + install -m 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${MACHINE}.bin + install -m 0644 ${S}/build/${PLATFORM}/release/bl31.srec ${DEPLOYDIR}/bl31-${MACHINE}.srec + install -m 0644 ${S}/tools/dummy_create/bootparam_sa0.srec ${DEPLOYDIR}/bootparam_sa0.srec + install -m 0644 ${S}/tools/dummy_create/cert_header_sa6.srec ${DEPLOYDIR}/cert_header_sa6.srec +} +addtask deploy before do_build after do_compile diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch new file mode 100644 index 0000000..6ce9c0f --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch @@ -0,0 +1,28 @@ +From c97f38b09f8b7d9c57a6e6f500c6ba8f7abd9914 Mon Sep 17 00:00:00 2001 +From: Michele Paolino <m.paolino@virtualopensystems.com> +Date: Fri, 19 May 2017 14:50:55 +0200 +Subject: [PATCH] Boot Normal World in EL2 + +This patch configures ATF (SPSR register) to boot BL33 in EL2. + +Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com> +--- + plat/renesas/rcar/platform.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk +index ef7bf0f..06bc592 100644 +--- a/plat/renesas/rcar/platform.mk ++++ b/plat/renesas/rcar/platform.mk +@@ -186,7 +186,7 @@ $(eval $(call add_define,RCAR_DRAM_SPLIT)) + + # Process RCAR_BL33_EXECUTION_EL flag + ifndef RCAR_BL33_EXECUTION_EL +-RCAR_BL33_EXECUTION_EL := 0 ++RCAR_BL33_EXECUTION_EL := 1 + endif + $(eval $(call add_define,RCAR_BL33_EXECUTION_EL)) + +-- +2.7.4 + diff --git a/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend b/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend new file mode 100644 index 0000000..c30a227 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend @@ -0,0 +1,8 @@ +PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm libgbm" +PACKAGECONFIG[drm-gles2] = ",,virtual/libgles2 libdrm libgbm" +PACKAGECONFIG[wayland-gl] = ",,virtual/libgl wayland wayland-kms" +PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland wayland-kms" + +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gles2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gles2', '', d)} \ +" diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch b/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch new file mode 100644 index 0000000..39d6d31 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch @@ -0,0 +1,57 @@ +From 4ee8c61a0b85cc605993beaa117c46c9cbbca496 Mon Sep 17 00:00:00 2001 +From: Stephen Lawrence <stephen.lawrence@renesas.com> +Date: Wed, 26 Jul 2017 17:20:22 +0100 +Subject: [PATCH] optee-client: Respect LDFLAGS set from OE build + +Backport upstream fix to unify LFLAGS/LDFLAGS variable names. + +Fixes: + ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'optee-client/1.1.0+renesas+gitAUTOINC+db9c64d458-r0/packages-split/optee-client/usr/bin/tee-supplicant' + No GNU_HASH in the elf binary: 'optee-client/1.1.0+renesas+gitAUTOINC+db9c64d458-r0/packages-split/optee-client/usr/lib/libteec.so.1.0' [ldflags] + ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. + ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: Function failed: do_package_qa + +(From meta-linaro rev: a7131d143db3b51a49c88b5293b6aadcce0538d4) + +Signed-off-by: Stephen Lawrence <stephen.lawrence@renesas.com> +--- + libteec/Makefile | 2 +- + tee-supplicant/Makefile | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libteec/Makefile b/libteec/Makefile +index 9a69216..2e6ca8f 100644 +--- a/libteec/Makefile ++++ b/libteec/Makefile +@@ -28,7 +28,7 @@ TEEC_CFLAGS := $(addprefix -I, $(TEEC_INCLUDES)) $(CFLAGS) -D_GNU_SOURCE \ + -DDEBUGLEVEL_$(CFG_TEE_CLIENT_LOG_LEVEL) \ + -DBINARY_PREFIX=\"TEEC\" + +-TEEC_LFLAGS := -lpthread ++TEEC_LFLAGS := $(LDFLAGS) -lpthread + TEEC_LIBRARY := $(OUT_DIR)/$(LIB_MAJ_MIN) + + libteec: $(TEEC_LIBRARY) +diff --git a/tee-supplicant/Makefile b/tee-supplicant/Makefile +index 4f451f1..16816bb 100644 +--- a/tee-supplicant/Makefile ++++ b/tee-supplicant/Makefile +@@ -37,13 +37,13 @@ ifeq ($(RPMB_EMU),1) + TEES_CFLAGS += -DRPMB_EMU=1 + endif + TEES_FILE := $(OUT_DIR)/$(PACKAGE_NAME) +-TEES_LDFLAGS := -L$(OUT_DIR)/../libteec -lteec ++TEES_LFLAGS := $(LDFLAGS) -L$(OUT_DIR)/../libteec -lteec + + tee-supplicant: $(TEES_FILE) + + $(TEES_FILE): $(TEES_OBJS) + @echo " LD $@" +- $(VPREFIX)$(CC) -o $@ $+ $(TEES_LDFLAGS) ++ $(VPREFIX)$(CC) -o $@ $+ $(TEES_LFLAGS) + @echo "" + + $(TEES_OBJ_DIR)/%.o: $(TEES_SRC_DIR)/%.c +-- +1.9.1 + 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..f528ad5 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb @@ -0,0 +1,59 @@ +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 \ + file://0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch \ +" + +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..bc26a46 --- /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 = "1e959b66e877546d83b3ac7fb5d10baa4a034acc" +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 diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb b/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb new file mode 100644 index 0000000..8fb0198 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "QOS Interface test app for R-Car Gen3" + +require qosif.inc + +DEPENDS = "qosif-user-module" +PN = "qosif-tp-user-module" +PR = "r0" + +S = "${WORKDIR}/git" +QOSIF_TP_DIR = "qos_if-tp-user/files/qos_if" + +includedir = "${RENESAS_DATADIR}/include" + +do_compile() { + cd ${S}/${QOSIF_TP_DIR} + oe_runmake +} + +do_install() { + # Create destination directory + install -d ${D}${RENESAS_DATADIR}/bin/ + + # Copy user test program + install -m 755 ${S}/${QOSIF_TP_DIR}/qos_tp ${D}${RENESAS_DATADIR}/bin/ +} + +PACKAGES = " \ + ${PN} \ + ${PN}-dbg \ +" + +FILES_${PN} = "${RENESAS_DATADIR}/bin/qos_tp" + +FILES_${PN}-dbg = " \ + ${RENESAS_DATADIR}/bin/.debug/* \ +" diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb b/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb new file mode 100644 index 0000000..c836fe3 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb @@ -0,0 +1,48 @@ +DESCRIPTION = "QOS Interface library for R-Car Gen3" + +require qosif.inc + +DEPENDS = "kernel-module-qos" +PN = "qosif-user-module" +PR = "r0" + +S = "${WORKDIR}/git" +QOSIF_LIB_DIR = "qos_if-module/files/qos_if" + +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH}" + +includedir = "${RENESAS_DATADIR}/include" + +do_compile() { + # Build shared library + cd ${S}/${QOSIF_LIB_DIR}/if + rm -rf ${S}/${QOSIF_LIB_DIR}/if/libqos.so* + oe_runmake +} + +do_install() { + # Create destination directories + install -d ${D}/${libdir} + install -d ${D}/${includedir} + + # Copy shared library + install -m 755 ${S}/${QOSIF_LIB_DIR}/if/libqos.so* ${D}/${libdir}/ + cd ${D}/${libdir}/ + ln -sf libqos.so.1.0.0 libqos.so.1 + ln -sf libqos.so.1 libqos.so + + # Install shared header file + install -m 644 ${S}/${QOSIF_LIB_DIR}/include/qos_public.h ${D}/${includedir}/ +} + +PACKAGES = " \ + ${PN} \ + ${PN}-dev \ + ${PN}-dbg \ +" + +FILES_${PN} = " \ + ${libdir}/libqos.so* \ +" + +INSANE_SKIP_${PN} = "dev-so" diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif.inc b/meta-rcar-gen3/recipes-bsp/qos/qosif.inc new file mode 100644 index 0000000..0b6cf90 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/qos/qosif.inc @@ -0,0 +1,15 @@ +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9 \ +" + +require include/rcar-gen3-modules-common.inc + +QOSIF_LIB_URL = "git://github.com/renesas-rcar/qos_lib.git" +BRANCH = "rcar-gen3" +SRCREV = "84ea8d562a55d1fbd7b6acf08a498d33a92dc392" + +SRC_URI = "${QOSIF_LIB_URL};branch=${BRANCH}" + +# This module is machine specific. +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc new file mode 100644 index 0000000..1feba52 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc @@ -0,0 +1,8 @@ +HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome" +SECTION = "bootloaders" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" +PE = "1" + +S = "${WORKDIR}/git" diff --git a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb new file mode 100644 index 0000000..c1e10d5 --- /dev/null +++ b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb @@ -0,0 +1,29 @@ +require recipes-bsp/u-boot/u-boot-common_${PV}.inc +require recipes-bsp/u-boot/u-boot.inc + +DEPENDS += "dtc-native" + +UBOOT_URL = "git://github.com/renesas-rcar/u-boot.git" +BRANCH = "v2015.04/rcar-3.5.6" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919" + +SRC_URI = "${UBOOT_URL};branch=${BRANCH}" +SRCREV = "2ecffb1f4ecac39c7889e8685f0ca9ce11bb7533" + +PV = "v2015.04+git${SRCPV}" + +EXTRA_OEMAKE_append = " KCFLAGS=-fgnu89-inline" + +UBOOT_SREC ?= "u-boot-elf.srec" +UBOOT_SREC_IMAGE ?= "u-boot-elf-${MACHINE}-${PV}-${PR}.srec" +UBOOT_SREC_SYMLINK ?= "u-boot-elf-${MACHINE}.srec" + +do_deploy_append() { + install -m 644 ${B}/${UBOOT_SREC} ${DEPLOYDIR}/${UBOOT_SREC_IMAGE} + cd ${DEPLOYDIR} + rm -f ${UBOOT_SREC} ${UBOOT_SREC_SYMLINK} + ln -sf ${UBOOT_SREC_IMAGE} ${UBOOT_SREC_SYMLINK} + ln -sf ${UBOOT_SREC_IMAGE} ${UBOOT_SREC} +} |