1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-16 03:47:19 +00:00

corstone700: add initial recipes

Add need configuration and recipes to support the corstone700 in
meta-arm.

Change-Id: I5df7e224f4079e6d46fdd1051975772952f52ba9
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
This commit is contained in:
Rui Miguel Silva
2019-07-12 16:43:27 +01:00
committed by Tushar Khandelwal
parent 44d3f88ed9
commit 3f7eec27c3
9 changed files with 254 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2019 Arm Limited
#
# corstone700 has a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# corstone700 has a packages directory, add to BBFILES
BBFILES += " \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "corstone700"
BBFILE_PATTERN_corstone700 := "^${LAYERDIR}/"
BBFILE_PRIORITY_corstone700 = "12"
LAYERSERIES_COMPAT_corstone700 = "warrior"
NAME_GCC_ARM_NONE_EABI = "gcc-arm-none-eabi"
INSTALL_GCC_ARM_NONE_EABI = "${bindir}/${NAME_GCC_ARM_NONE_EABI}"
TC_GCC_ARM_NONE_EABI = "${STAGING_BINDIR_NATIVE}/${NAME_GCC_ARM_NONE_EABI}"
TC_GCC_ARM_NONE_EABI_BIN = "${TC_GCC_ARM_NONE_EABI}/bin"
LAYERDEPENDS_corstone700 = "arm"
@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
require conf/machine/include/arm-common-configuration.inc
require conf/machine/include/cortex-a32.inc
EXTRA_IMAGEDEPENDS_append = " test-app"
CORE_IMAGE_EXTRA_INSTALL += "test-app"
EXTRA_IMAGEDEPENDS_append = " boot-firmware external-system"
TF-A_PLATFORM = "corstone700"
TF-A_EXTRA_OPTIONS += " \
RESET_TO_SP_MIN=1 \
ARM_LINUX_KERNEL_AS_BL33=1 \
PRELOADED_BL33_BASE=0x08500000 \
ARM_PRELOADED_DTB_BASE=0x02800000 \
ENABLE_STACK_PROTECTOR=strong \
ENABLE_PIE=1 \
"
@@ -0,0 +1,59 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SUMMARY = "Boot Processor firmware"
DESCRIPTION = "Boot Processor firmware"
DEPENDS += " coreutils-native gcc-arm-none-eabi-native trusted-firmware-a "
LICENSE="BSD"
LIC_FILES_CHKSUM = "file://license.md;md5=e44b2531cd6ffe9dece394dbe988d9a0"
# Use Yocto-built python3 executable
inherit python3native
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI = "gitsm://${USER}@git.linaro.org/landing-teams/working/arm/boot-firmware.git;protocol=https;branch=master"
SRCREV = "CORSTONE-700-2019.09.23"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(corstone700)"
PLATFORM = "corstone-700"
LDFLAGS[unexport] = "1"
# the gcc-arm-none-eabi version does not support -fmacro-perfix-max, so make sure to setup
DEBUG_PREFIX_MAP_pn-boot-firmware = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
-fdebug-prefix-map=${STAGING_DIR_HOST}= \
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
do_compile() {
export PATH=${TC_GCC_ARM_NONE_EABI_BIN}:$PATH
mkdir -p ${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
PRODUCT=${PLATFORM} \
CROSS_COMPILE=arm-none-eabi- \
clean \
all
cp ${S}/build/product/${PLATFORM}/se_ramfw/release/bin/firmware.bin ${B}/se_ramfw.bin
cp ${S}/build/product/${PLATFORM}/se_romfw/release/bin/firmware.bin ${B}/se_romfw.bin
oe_runmake -C ${S}/tools/spitoc BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
all
cp ${S}/tools/spitoc/spitoc ${B}/spitoc
}
do_install() {
install -D -p -m 0644 ${B}/se_ramfw.bin ${DEPLOY_DIR_IMAGE}/se_ramfw.bin
install -D -p -m 0644 ${B}/se_romfw.bin ${DEPLOY_DIR_IMAGE}/se_romfw.bin
${B}/spitoc --seram ${DEPLOY_DIR_IMAGE}/se_ramfw.bin --offset 1 --fip ${DEPLOY_DIR_IMAGE}/${TF-A_PLATFORM}.fip --offset 33 --out ${DEPLOY_DIR_IMAGE}/spitoc.bin
}
@@ -0,0 +1,39 @@
License
=======
Copyright (c) 2019, Arm Limited and Contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of Arm nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---
__Note:__
Individual files contain the following tag instead of the full license text.
SPDX-License-Identifier: BSD-3-Clause
This enables machine processing of license information based on the SPDX
License Identifiers that are available here: http://spdx.org/licenses/
@@ -0,0 +1,45 @@
SUMMARY = "External system Cortex-M3 Firmware"
DESCRIPTION = "External system Firmware"
HOMEPAGE = "https://gerrit.oss.arm.com/#/admin/projects/EP/src/ExternalSystem"
DEPENDS += " coreutils-native gcc-arm-none-eabi-native"
LICENSE="BSD"
LIC_FILES_CHKSUM = "file://license.md;md5=e44b2531cd6ffe9dece394dbe988d9a0"
# Use Yocto-built python3 executable
inherit python3native
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI = "gitsm://${USER}@git.linaro.org/landing-teams/working/arm/external-system.git;protocol=https;branch=master"
SRCREV = "CORSTONE-700-2019.09.23"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(corstone700)"
PLATFORM = "corstone-700"
LDFLAGS[unexport] = "1"
DEBUG_PREFIX_MAP_pn-external-system = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
-fdebug-prefix-map=${STAGING_DIR_HOST}= \
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
do_compile() {
export PATH=${TC_GCC_ARM_NONE_EABI_BIN}:$PATH
mkdir -p ${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
PRODUCT=${PLATFORM} \
CROSS_COMPILE=arm-none-eabi- \
clean \
all
cp ${S}/build/product/${PLATFORM}/firmware/release/bin/firmware.bin ${B}/es_flashfw.bin
}
do_install() {
install -D -p -m 0644 ${B}/es_flashfw.bin ${DEPLOY_DIR_IMAGE}/es_flashfw.bin
}
@@ -0,0 +1,11 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
LIC_FILES_CHKSUM_corstone700 = "file://license.rst;md5=c709b197e22b81ede21109dbffd5f363"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_corstone700 = "git://${USER}@git.linaro.org/landing-teams/working/arm/arm-tf.git;protocol=https;branch=iota"
SRCREV_corstone700 = "CORSTONE-700-2019.09.23"
@@ -0,0 +1,9 @@
SUMMARY = "Linux Kernel provided and supported by Arm/Linaro for Cortex-A32"
KERNEL_IMAGETYPE = "xipImage"
KBUILD_DEFCONFIG = "corstone700_defconfig"
SRC_URI = "git://${USER}@git.linaro.org/landing-teams/working/arm/kernel-release.git;protocol=https;branch=iota"
SRCREV = "CORSTONE-700-2019.09.23"
@@ -0,0 +1,32 @@
SUMMARY = "CORSTONE700 Host Test App"
DESCRIPTION = "CORSTONE700 Host Test App"
DEPENDS += " coreutils-native "
LICENSE="BSD"
LIC_FILES_CHKSUM = "file://license.md;md5=e44b2531cd6ffe9dece394dbe988d9a0"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI = "git://${USER}@git.linaro.org/landing-teams/working/arm/test-apps.git;protocol=https;branch=master"
SRCREV = "CORSTONE-700-2019.09.23"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(corstone700)"
PLATFORM = "corstone700"
LDFLAGS[unexport] = "1"
do_compile() {
mkdir -p ${B}
${CC} ${S}/test-app.c -o ${S}/test-app --static
cp ${S}/test-app ${B}/test-app
}
do_install() {
install -d ${D}/${bindir}/
install -m 0755 ${B}/test-app ${D}${bindir}/test-app
}
FILES_${PN} += "${bindir}/test-app"
@@ -0,0 +1,13 @@
# Partition for corstone700
part --source rawcopy --sourceparams="file=spitoc.bin" --no-table --align 1 --fixed-size 1k
part --source rawcopy --sourceparams="file=se_ramfw.bin" --no-table --align 1 --fixed-size 32k
# Rawcopy of the FIP binary
part --source rawcopy --sourceparams="file=corstone700.fip" --no-table --align 1 --fixed-size 991k
# Rawcopy of the rootfs
part --source rawcopy --sourceparams="file=${IMGDEPLOYDIR}/iota-tiny-image-corstone700.cpio.gz" --no-table --fixed-size 4
# Rawcopy of the kernel binary
part --source rawcopy --sourceparams="file=xipImage" --no-table --fixed-size 3