aboutsummaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-rcar-gen3/recipes-bsp')
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb60
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch28
-rw-r--r--meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend8
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch57
-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.bb59
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb67
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb36
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb48
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif.inc15
-rw-r--r--meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc8
-rw-r--r--meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb29
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}
+}