1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-23 18:17:10 +00:00

Compare commits

..

22 Commits

Author SHA1 Message Date
Avinash Mehta 2d0b681d3d update tags for Corstone-700 2020.02.10 release
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
2020-03-04 10:11:33 +00:00
Tushar Khandelwal 75cf9e84fe add changes to fetch latest code upstream
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
2020-02-05 11:09:38 +00:00
Vishnu Banavath 3da5ef2795 a5ds: update trusted-firmware-a to new git hash
Changes that we were holding as a patch are upstreamed to
trusted-firmware-a master branch. Following are the links
to the changes.

https://review.trustedfirmware.org/#/c/TF-A/trusted-firmware-a/+/2916/
https://review.trustedfirmware.org/#/c/TF-A/trusted-firmware-a/+/2915/
https://review.trustedfirmware.org/#/c/TF-A/trusted-firmware-a/+/2823/
https://review.trustedfirmware.org/#/c/TF-A/trusted-firmware-a/+/2822/
https://review.trustedfirmware.org/#/c/TF-A/trusted-firmware-a/+/2821/

This change is to update the git hash and to remove patching
of trusted-firmware-a by yocto

Change-Id: Id708a5d02950773524aa3b4e13bb5b31ca34c7c2
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
2020-01-24 13:52:58 +00:00
Rui Miguel Silva d26a2b7171 corstone700: change rootfs to cramfs-xip
Use cramfs xip image in wic

Change-Id: I2470ae1c4afa4fe275ad081881604fcb66fafee6
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2020-01-24 13:52:58 +00:00
Rui Miguel Silva a531de2323 corstone700: add cramfs-xip as image type
Add cramfs xip class and filesystem to tiny image.

Change-Id: I5bba11ef04b7bc54323901c90156484126af87dd
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2020-01-24 13:52:58 +00:00
Vishnu Banavath ab33651a8a a5ds: update TF-A and uboot patches
To align FPGA with FVP, it is required to make changes in A5DS.
Previous changes are melded into new changes and created a new
patches so as to reduce the number of patches we carry.

Change-Id: Idc7212edeada80bd1780aee932ddcd565d4ed2f9
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
2020-01-24 13:52:58 +00:00
Vishnu Banavath e841380aa4 corstone700.conf: set DTB address to use DDR
This change is to use DDR address for DTB instead of shared RAM.

Change-Id: I191eeb96bbcf062ea9ec21a42b22b2b38ac5003b
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
2020-01-07 17:29:33 +00:00
Avinash Mehta 85ef030d8b Update the trusted-firmware-a md5 LIC_FILES_CHKSUM
Change-Id: Ie4914551a79da7d4b0735d66824603b70e2f1b28
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
2020-01-07 17:29:33 +00:00
Vishnu Banavath 8b402b3d6e corstone700: reduce rootfs size to 2MB
Because of memory constraint, reducing rootfs to 2MB

Change-Id: I853fc4322372456ea3df2b7a0e1e5f8b08677e40
2020-01-07 17:29:33 +00:00
Rui Miguel Silva 3f7eec27c3 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>
2019-09-23 13:46:26 +01:00
Tushar Khandelwal 44d3f88ed9 arm: trusted-firmware-a: fix the upstream revision
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
2019-09-19 11:02:15 +01:00
Rui Miguel Silva 1fee2e71d8 arm: trusted-firmware-a: fix compilation order
Swap the compile order and make the fip to build at the end when there
is all the needed targets compiled.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-16 10:58:18 +01:00
Tushar Khandelwal 912967dcd7 iota: use custom kernel instead of the one from poky tiny
Change-Id: I6cf83071d8dfde2d41d4ea3d8ad006ba4bbabda5
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva f43c35f07c arm: add cramfs class and recipes
Add cramfs-xip to image types and cramfs tools.

Change-Id: I801788c8c73fe354aa526032ae20927a48672cac
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva ebb261e64b iota: add distro related cofiguration
Add distro configuration and images recipes for tiny and core image for
iota distribution.

Change-Id: I31df5009dbd67b03016150833cc1a6905caa9ca2
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva f815620455 designstart: add support to a5ds
Add first configuration, layers and recipes to support build of a5ds
images.

Change-Id: Ie6273d0e3feb55471cfc784e62168ce3e2e1f1b6
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva 9f34cbb321 arm: add arm gcc 7.3.1 native support
Add native gcc version 7.3.1 to support build
of boot-firmware.

Change-Id: I0c64c6217f88e667f24155e1a587badfcc097917
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva 7e362ece84 arm: add kernel common recipes
add kernel and dtc tool append recipes.

Change-Id: Ie29a4e086de83140f09e7a17b5a6278090c610b0
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva 96137096b8 arm: add bsp recipes to common layer
Add recipes for common layer for the bsp area, includes
trustedfirmware-a, boot-firmware and u-boot recipe append.

Change-Id: I447a52750afb02cc170f38d5148fa4b5f5777abc
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva 0d2da45a4f arm: add configuration for common layer
Add initial configuration for arm common layerj

Change-Id: I59cd6b5d4a1fa31eec4472900dbb0fc52f18c4c4
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-09-02 15:50:40 +01:00
Tushar Khandelwal eafd591407 add license file
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
2019-09-02 15:50:40 +01:00
Rui Miguel Silva cc3c00065b Initial commit 2019-05-14 14:52:01 +01:00
46 changed files with 945 additions and 447 deletions
View File
+15
View File
@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SUMMARY = "Cramfs XIP image type"
DESCRIPTION = "Cramfs XIP type image to add to IMAGE_TYPES"
LICENSE = "MIT"
inherit image_types
do_image_cramfs_xip[depends] += "cramfs-tools-native:do_populate_sysroot"
IMAGE_TYPES += " cramfs-xip"
IMAGE_CMD_cramfs-xip = "mkcramfs -n ${IMAGE_NAME} -X ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cramfs-xip ${EXTRA_IMAGECMD}"
+21
View File
@@ -0,0 +1,21 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
# arm has a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
BBFILES += " \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILE_COLLECTIONS += "arm"
BBFILE_PATTERN_arm := "^${LAYERDIR}/"
BBFILE_PRIORITY_arm = "10"
LAYERSERIES_COMPAT_arm = "warrior"
LAYERDEPENDS_arm = "core"
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
IMAGE_FSTYPES += "tar.bz2 wic cpio.gz"
EXTRA_IMAGEDEPENDS_append = " trusted-firmware-a"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
UBOOT_SUFFIX ?= "bin"
UBOOT_MACHINE ?= "vexpress_aemv8a_aarch32_defconfig"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-arm"
SERIAL_CONSOLES = "115200;ttyAMA0"
+8
View File
@@ -0,0 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
TUNE_FEATURES = "aarch32"
require conf/machine/include/arm/arch-armv8a.inc
+11
View File
@@ -0,0 +1,11 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
DEFAULTTUNE="cortexa5"
require conf/machine/include/tune-cortexa5.inc
TF-A_EXTRA_OPTIONS = "ARM_ARCH_MAJOR=7 ARM_CORTEX_A5=yes \
ARM_XLAT_TABLES_LIB_V1=1"
@@ -0,0 +1,61 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SUMMARY = "Trusted Firmware for Cortex-A"
DESCRIPTION = "Trusted Firmware-A"
HOMEPAGE = "https://github.com/ARM-software/arm-trusted-firmware"
LICENSE = "BSD-3-Clause"
TF-A_DEPENDS ?= ""
DEPENDS += " dtc-native coreutils-native"
DEPENDS += " ${TF-A_DEPENDS} "
LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRCREV = "${AUTOREV}"
SRC_URI = "\
git://github.com/ARM-software/arm-trusted-firmware;protocol=https;nobranch=1 \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(vexpress-a5|vexpress-a32|corstone700|a5ds)"
LDFLAGS[unexport] = "1"
TF-A_PLATFORM ?= "fvp"
TF-A_ARCH ?= "aarch32"
TF-A_DEBUG ?= "1"
TF-A_AARCH32_SP ?= "sp_min"
TF-A_BL33 ?= ""
TF-A_TARGET_IMAGES ?= "all fip"
TF-A_EXTRA_OPTIONS ?= ""
do_compile() {
mkdir -p ${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${TF-A_PLATFORM}/ \
PLAT=${TF-A_PLATFORM} \
DEBUG=${TF-A_DEBUG} \
ARCH=${TF-A_ARCH} \
CROSS_COMPILE=${TARGET_PREFIX} \
AARCH32_SP=${TF-A_AARCH32_SP} \
BL33=${TF-A_BL33} \
${TF-A_EXTRA_OPTIONS} \
${TF-A_TARGET_IMAGES}
}
do_install() {
[ -f ${B}/${TF-A_PLATFORM}/bl1.bin ] && install -D -p -m 0644 ${B}/${TF-A_PLATFORM}/bl1.bin ${DEPLOY_DIR_IMAGE}/bl1.bin
[ -f ${B}/${TF-A_PLATFORM}/bl1/bl1.elf ] && install -D -p -m 0644 ${B}/${TF-A_PLATFORM}/bl1/bl1.elf ${DEPLOY_DIR_IMAGE}/bl1.elf
install -D -p -m 0644 ${B}/${TF-A_PLATFORM}/fip.bin ${DEPLOY_DIR_IMAGE}/${TF-A_PLATFORM}.fip
}
@@ -1,30 +1,28 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SRCREV = "9bed08a2ed8d4915e694e5b4a030bd361b829a52"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
SRC_URI_vexpress-a5 += "\
SRC_URI = "\
git://git.linaro.org/landing-teams/working/arm/u-boot;protocol=https;nobranch=1 \
file://0001-vexpress64-setup-kernel-and-rootfs-from-flash-for-fvpve.patch \
file://0001-tools-allow-to-override-python.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
PLATFORM_vexpress-a5 = "fvp_ve"
U-BOOT_PLATFORM = "fvp_ve"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE = "(vexpress-a5)"
COMPATIBLE_MACHINE = "(vexpress-a5|vexpress-a32|a5ds)"
do_compile_vexpress-a5() {
do_compile() {
mkdir -p ${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
vexpress_aemv8a_aarch32_defconfig \
O=${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
SUPPORT_ARCH_TIMER=no \
@@ -0,0 +1,23 @@
SUMMARY = "Cramfs tools"
DESCRIPTION = "Cramfs tools to create cramfs images with support to XIP"
HOMEPAGE = "https://github.com/npitre/cramfs-tools"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
SRC_URI = "git://github.com/npitre/cramfs-tools;protocol=https;nobranch=1"
SRCREV = "23d032e6e0a973810c6aedf165441592641b60f4"
BBCLASSEXTEND = "native"
S = "${WORKDIR}/git"
do_compile () {
oe_runmake
}
do_install() {
install -d ${D}${bindir}
install ${S}/mkcramfs ${D}${bindir}
install ${S}/cramfsck ${D}${bindir}
}
@@ -1,11 +1,16 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
# Recipe for fetching and installing the prebuilt gcc-arm toolchain for
# bare-metal targets.
# Recipe based on the meta-ti layer:
# http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb?h=master
#
# Whilst most of the tools built in sdk-700 relies on the linaro-provided
# toolchain, some recipes require the baremetal ARM GCC toolchain. The baremetal
# ARM GCC toolchain is distributed as precompiled binaries. This recipe fetches
# Whilst most of the tools built in relies on the linaro-provided
# toolchain, some recipes require the baremetal Arm GCC toolchain. The baremetal
# Arm GCC toolchain is distributed as precompiled binaries. This recipe fetches
# the toolchain and installs it in sysroot.
# Recipes may then 'DEPENDS' on this recipe to fetch the toolchain, making the
# toolchain available in the staging directory of the depending recipe.
@@ -1,3 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
SRCREV = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf"
@@ -0,0 +1,35 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
DESCRIPTION = "Linux Kernel provided and supported by Arm and Linaro with \
focus on vexpress and other Arm models and hardware. Trying to be as much \
as possible close to upstream tree."
SECTION = "kernel"
LICENSE = "GPLv2"
SRCREV_FORMAT = "kernel"
require recipes-kernel/linux/linux-yocto.inc
KERNEL_VERSION_SANITY_SKIP = "1"
S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "(vexpress-a5|vexpress-a32|corstone700|a5ds)"
# Override do_kernel_configme to avoid kernel being assembled into a linux-yocto style kernel
# https://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#ref-tasks-kernel_configme
do_kernel_configme() {
}
KBRANCH = ""
LINUX_VERSION ?= "5.2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
SRC_URI = "\
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux;protocol=https;nobranch=1 \
"
SRCREV = "v5.2"
+8
View File
@@ -0,0 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
SUMMARY = "Linux Kernel provided and supported by Arm/Linaro"
require recipes-kernel/linux/linux-arm-common.inc
+11 -5
View File
@@ -1,3 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2019 Arm Limited
#
# corstone700 has a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
@@ -6,12 +10,14 @@ BBFILES += " \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-corstone700"
BBFILE_PATTERN_meta-corstone700 := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-corstone700 = "10"
LAYERSERIES_COMPAT_meta-corstone700 = "thud"
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"
TC_GCC_ARM_NONE_EABI_BIN = "${TC_GCC_ARM_NONE_EABI}/bin"
LAYERDEPENDS_corstone700 = "arm"
+19 -15
View File
@@ -1,19 +1,23 @@
#@TYPE: Machine
#@NAME: corstone700 machine
#@DESCRIPTION: Machine configuration for the corstone700 board
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
TUNE_FEATURES = "aarch32"
require conf/machine/include/arm-common-configuration.inc
require conf/machine/include/cortex-a32.inc
require conf/machine/include/arm/arch-armv8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux-iota-corstone700"
IMAGE_FSTYPES += "tar.bz2 wic cpio.gz"
WKS_FILE = "iota-corstone700.wks"
EXTRA_IMAGEDEPENDS_append = " trusted-firmware-a boot-firmware test-app"
SERIAL_CONSOLES = "115200;ttyAMA0"
EXTRA_IMAGEDEPENDS_append = " test-app"
CORE_IMAGE_EXTRA_INSTALL += "test-app"
EXTRA_IMAGEDEPENDS_append = " boot-firmware external-system test-app"
TF-A_PLATFORM = "corstone700"
TF-A_EXTRA_OPTIONS += " \
RESET_TO_SP_MIN=1 \
ARM_LINUX_KERNEL_AS_BL33=1 \
PRELOADED_BL33_BASE=0x08300000 \
ARM_PRELOADED_DTB_BASE=0x80400000 \
ENABLE_STACK_PROTECTOR=strong \
ENABLE_PIE=1 \
"
@@ -1,3 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019-2020 Arm Limited
#
SUMMARY = "Boot Processor firmware"
DESCRIPTION = "Boot Processor firmware"
DEPENDS += " coreutils-native gcc-arm-none-eabi-native trusted-firmware-a "
@@ -9,9 +14,8 @@ inherit python3native
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI = "gitsm://${USER}@git.linaro.org/landing-teams/working/arm/boot-firmware.git;protocol=https;branch=corstone700-19.02"
SRCREV = "${AUTOREV}"
SRC_URI = "gitsm://${USER}@git.linaro.org/landing-teams/working/arm/boot-firmware.git;protocol=https;branch=master"
SRCREV = "CORSTONE-700-2020.02.10"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
@@ -21,26 +25,34 @@ 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}/corstone700.fip --offset 33 --out ${DEPLOY_DIR_IMAGE}/spitoc.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
}
@@ -1,7 +1,7 @@
License
=======
Copyright (c) 2011-2017, Arm Limited. All rights reserved.
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:
@@ -0,0 +1,49 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019-2020 Arm Limited
#
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-2020.02.10"
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
}
@@ -1,43 +1,11 @@
DEPENDS_corstone700 += " dtc-native coreutils-native "
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019-2020 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=corstone700-19.02 \
"
SRCREV_corstone700 = "${AUTOREV}"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(corstone700)"
PLATFORM_corstone700 = "corstone700"
LDFLAGS[unexport] = "1"
do_compile_corstone700() {
mkdir -p ${B}
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
PLAT=${PLATFORM} \
DEBUG=1 \
ARCH=aarch32 \
CROSS_COMPILE=${TARGET_PREFIX} \
AARCH32_SP=sp_min \
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 \
all \
fip
}
do_install_corstone700() {
install -D -p -m 0644 ${B}/${PLATFORM}/fip.bin ${DEPLOY_DIR_IMAGE}/${PLATFORM}.fip
}
SRC_URI_corstone700 = "git://${USER}@git.linaro.org/landing-teams/working/arm/arm-tf.git;protocol=https;branch=iota"
SRCREV = "CORSTONE-700-2020.02.10"
@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019-2020 Arm Limited
#
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-2020.02.10"
@@ -1,18 +0,0 @@
SUMMARY = "Linux Kernel provided and supported by ARM/Linaro for Cortex-A32"
require recipes-kernel/linux/linux-iota.inc
# Override do_kernel_configme to avoid kernel being assembled into a linux-yocto style kernel
# https://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#ref-tasks-kernel_configme
do_kernel_configme() {
}
KERNEL_IMAGETYPE = "xipImage"
KBUILD_DEFCONFIG = "corstone700_defconfig"
KBRANCH = ""
SRC_URI = "\
git://${USER}@git.linaro.org/landing-teams/working/arm/kernel-release.git;protocol=https;branch=corstone700-19.02 \
"
SRCREV = "${AUTOREV}"
@@ -1,16 +0,0 @@
DESCRIPTION = "Linux Kernel provided and supported by ARM and Linaro with \
focus on vexpress and other ARM models and hardware. Trying to be as much \
as possible close to upstream tree."
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
SRCREV = "${AUTOREV}"
SRCREV_FORMAT = "kernel"
require recipes-kernel/linux/linux-yocto.inc
KERNEL_VERSION_SANITY_SKIP = "1"
S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "(corstone700)"
@@ -1,3 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019-2020 Arm Limited
#
SUMMARY = "CORSTONE700 Host Test App"
DESCRIPTION = "CORSTONE700 Host Test App"
DEPENDS += " coreutils-native "
@@ -6,8 +11,8 @@ 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=corstone700-19.02"
SRCREV = "${AUTOREV}"
SRC_URI = "git://${USER}@git.linaro.org/landing-teams/working/arm/test-apps.git;protocol=https;branch=master"
SRCREV = "CORSTONE-700-2020.02.10"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
@@ -7,7 +7,7 @@ part --source rawcopy --sourceparams="file=se_ramfw.bin" --no-table --align 1 --
part --source rawcopy --sourceparams="file=corstone700.fip" --no-table --align 1 --fixed-size 991k
# Rawcopy of the rootfs
part --source rawcopy --sourceparams="file=iota-tiny-image-corstone700.cpio.gz" --no-table --fixed-size 4
part --source rawcopy --sourceparams="file=${IMGDEPLOYDIR}/iota-tiny-image-corstone700.cramfs-xip" --no-table --fixed-size 2
# Rawcopy of the kernel binary
part --source rawcopy --sourceparams="file=xipImage" --no-table --fixed-size 3
+19
View File
@@ -0,0 +1,19 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
# designstart has a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# designstart has a packages directory, add to BBFILES
BBFILES += " \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "designstart"
BBFILE_PATTERN_designstart := "^${LAYERDIR}/"
BBFILE_PRIORITY_designstart = "12"
LAYERSERIES_COMPAT_designstart = "warrior"
LAYERDEPENDS_vexpress = "arm"
+18
View File
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
require conf/machine/include/arm-common-configuration.inc
require conf/machine/include/cortex-a5.inc
TF-A_PLATFORM = "a5ds"
TF-A_EXTRA_OPTIONS += " FVP_HW_CONFIG_DTS=fdts/a5ds.dts"
TF-A_DEPENDS += "u-boot u-boot-mkimage-native"
TF-A_BL33 = "${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX}"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
KBUILD_DEFCONFIG = "multi_v7_defconfig"
EXTRA_IMAGEDEPENDS_append = " u-boot"
@@ -0,0 +1,8 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRCREV = "5d3ee0764b03567bf3501edf47d67d72daff0cb3"
@@ -0,0 +1,231 @@
From 92f65bc0131b54b579252f262e4bfc4c8f1d64c2 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Wed, 14 Aug 2019 09:49:08 +0100
Subject: a5ds: add support for target designstart A5
Give support, based on vexpress for now, to designstart platform with
Cortex-A5 chip. Create config and setup boot commands and tweak memory
map related with this platform.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
%% original patch: 0001-a5ds-add-support-for-target-designstart-A5.patch
%% original patch: 0001-a5ds-add-support-for-target-designstart-A5.patch
---
arch/arm/Kconfig | 5 +++
board/armltd/vexpress64/Kconfig | 2 +-
configs/vexpress_aemv8a_a5ds_defconfig | 37 ++++++++++++++++++
include/configs/vexpress_aemv8a.h | 53 ++++++++++++++++++++++----
4 files changed, 89 insertions(+), 8 deletions(-)
create mode 100755 configs/vexpress_aemv8a_a5ds_defconfig
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0a6ee962d5..e26b3fc37d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -738,6 +738,11 @@ config TEGRA
bool "NVIDIA Tegra"
imply FAT_WRITE
+config TARGET_DESIGNSTART_A5
+ bool "Support designstart A5"
+ select CPU_V7
+ select SEMIHOSTING
+
config TARGET_VEXPRESS64_AEMV8A
bool "Support vexpress_aemv8a"
select ARM64
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index f6930aee47..3a6c972d0a 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -1,4 +1,4 @@
-if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_BASE_FVP_AARCH32 || TARGET_VEXPRESS64_JUNO || TARGET_VEXPRESS64_JUNO_AARCH32
+if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_BASE_FVP_AARCH32 || TARGET_VEXPRESS64_JUNO || TARGET_VEXPRESS64_JUNO_AARCH32 || TARGET_DESIGNSTART_A5
config SYS_BOARD
default "vexpress64"
diff --git a/configs/vexpress_aemv8a_a5ds_defconfig b/configs/vexpress_aemv8a_a5ds_defconfig
new file mode 100755
index 0000000000..59c9868318
--- /dev/null
+++ b/configs/vexpress_aemv8a_a5ds_defconfig
@@ -0,0 +1,37 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DESIGNSTART_A5=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_IDENT_STRING=" designstart a5ds aarch32"
+CONFIG_BOOTDELAY=1
+# CONFIG_DISPLAY_CPUINFO is not set
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="a5ds32# "
+CONFIG_CMD_BOOTZ=y
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_ENV_EXISTS is not set
+CONFIG_CMD_MEMTEST=y
+CONFIG_MTD_NOR_FLASH=y
+# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_ARMFLASH=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_ITEST is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
+# CONFIG_CMD_MISC is not set
+CONFIG_SYS_MMIO_TIMER=y
+CONFIG_CMD_FAT=y
+CONFIG_DM=y
+CONFIG_DM_SERIAL=y
+CONFIG_OF_LIBFDT=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_PL011=y
+CONFIG_DEBUG_UART_BASE=0x1A200000
+CONFIG_DEBUG_UART_CLOCK=7500000
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index 4de9914128..e7b2e0f2fa 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -22,14 +22,22 @@
#else
#define HIGH_ADDR "0xffffffff"
#define BOOT_TYPE "bootz"
+#ifdef CONFIG_TARGET_DESIGNSTART_A5
+#define CONFIG_SYS_HZ_CLOCK 7500000
+#define CONFIG_SYS_HZ 1000
+#define CONFIG_SYS_MMIO_TIMER
+#else
#define CONFIG_SYS_HZ_CLOCK 24000000
#define CONFIG_SYS_ARCH_TIMER
+#endif
#define CONFIG_SKIP_LOWLEVEL_INIT
#endif
+
/* Link Definitions */
#if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
- defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32)
+ defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32) || \
+ defined(CONFIG_TARGET_DESIGNSTART_A5)
/* ATF loads u-boot here for BASE_FVP model */
#define CONFIG_SYS_TEXT_BASE 0x88000000
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000)
@@ -66,6 +74,9 @@
defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32)
#define V2M_UART0 0x7ff80000
#define V2M_UART1 0x7ff70000
+#elif defined(CONFIG_TARGET_DESIGNSTART_A5)
+#define V2M_UART0 0x001a200000
+#define V2M_UART1 0x001a210000
#else /* Not Juno */
#define V2M_UART0 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(9))
#define V2M_UART1 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(10))
@@ -93,7 +104,11 @@
#define V2M_SYS_CFGSTAT (V2M_SYSREGS + 0x0a8)
/* Generic Timer Definitions */
+#ifdef CONFIG_TARGET_DESIGNSTART_A5
+#define COUNTER_FREQUENCY CONFIG_SYS_HZ_CLOCK
+#else
#define COUNTER_FREQUENCY (0x1800000) /* 24MHz */
+#endif
/* Generic Interrupt Controller Definitions */
#ifdef CONFIG_GICV3
@@ -121,7 +136,7 @@
#define CONFIG_SMC911X 1
#define CONFIG_SMC911X_32_BIT 1
#define CONFIG_SMC911X_BASE (0x018000000)
-#else
+#elif !defined(CONFIG_TARGET_DESIGNSTART_A5)
/* The Vexpress64 simulators use SMSC91C111 */
#define CONFIG_SMC91111 1
#define CONFIG_SMC91111_BASE (0x01A000000)
@@ -134,6 +149,8 @@
#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \
defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32)
#define CONFIG_PL011_CLOCK 7273800
+#elif defined(CONFIG_TARGET_DESIGNSTART_A5)
+#define CONFIG_PL011_CLOCK 7500000
#else
#define CONFIG_PL011_CLOCK 24000000
#endif
@@ -222,19 +239,26 @@
"setenv bootargs ${bootargs} ${bootargs_sky2}; "\
BOOT_TYPE " ${kernel_addr} ${initrd_param} ${fdt_addr}"
-
-#elif defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
- defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32)
+#elif defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
+ defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32) || \
+ defined(CONFIG_TARGET_DESIGNSTART_A5)
#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_name=Image\0" \
- "kernel_addr=0x80080000\0" \
+ "kernel_addr=0x80F00000\0" \
"initrd_name=ramdisk.img\0" \
"initrd_addr=0x84000000\0" \
"fdt_name=devtree.dtb\0" \
- "fdt_addr=0x82000000\0" \
+ "fdt_addr=0x83000000\0" \
"fdt_high=" HIGH_ADDR "\0" \
"initrd_high=" HIGH_ADDR "\0"
+#if defined(CONFIG_TARGET_DESIGNSTART_A5)
+#define CONFIG_BOOTARGS "console=ttyAMA0 earlycon=pl011,"\
+ "0x1a200000 "\
+ "systemd.log_target=null "\
+ "root=/dev/ram0 rw rootwait"\
+ "loglevel=9"
+#else
#define CONFIG_BOOTARGS "console=ttyAMA0 earlycon=pl011,"\
"0x1c090000 debug user_debug=31 "\
"systemd.log_target=null "\
@@ -242,7 +266,14 @@
"root=/dev/vda2 rw "\
"rootwait "\
"loglevel=9"
+#endif
+#if defined(CONFIG_TARGET_DESIGNSTART_A5)
+#define CONFIG_BOOTCOMMAND "echo copy to RAM...; " \
+ "cp.b 0x80100000 $kernel_addr 0xB00000; " \
+ "cp.b 0x80D00000 $initrd_addr 0x500000; " \
+ BOOT_TYPE " $kernel_addr $initrd_addr $fdt_addr"
+#else
#define CONFIG_BOOTCOMMAND "if smhload ${fdt_name} ${fdt_addr}; then "\
" if smhload ${initrd_name} ${initrd_addr} "\
" initrd_end; then " \
@@ -263,6 +294,7 @@
"with contents of DRAM; " \
BOOT_TYPE " $kernel_addr $initrd_addr $fdt_addr"
#endif
+#endif
/* Monitor Command Prompt */
#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
@@ -282,6 +314,13 @@
/* in the Juno firmware. */
#define CONFIG_ENV_ADDR 0x0BFC0000
#define CONFIG_ENV_SECT_SIZE 0x00010000
+#elif defined(CONFIG_TARGET_DESIGNSTART_A5)
+#define CONFIG_SYS_FLASH_BASE 0x80000000
+/* 256 x 256KiB sectors */
+#define CONFIG_SYS_MAX_FLASH_SECT 256
+/* Store environment at top of flash */
+#define CONFIG_ENV_ADDR 0x0A7C0000
+#define CONFIG_ENV_SECT_SIZE 0x00040000
#else
#define CONFIG_SYS_FLASH_BASE 0x0C000000
/* 256 x 256KiB sectors */
--
2.17.1
@@ -0,0 +1,187 @@
From 9705e83c7eb77aa8d257546f3cebcf3ca924d001 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Wed, 14 Aug 2019 09:20:42 +0100
Subject: armv7: rename sp804 timer to mmio timer
Rename the wrongly init named mmio timer and fix the use of it on a
Cortex-A5 system that does not have arch_timer.
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
%% original patch: 0001-armv7-rename-sp804-timer-to-mmio-timer.patch
%% original patch: 0001-armv7-rename-sp804-timer-to-mmio-timer.patch
---
arch/arm/cpu/armv7/Makefile | 6 +--
arch/arm/cpu/armv7/mmio_timer.c | 65 ++++++++++++++++++++++++++++++++
arch/arm/cpu/armv7/sp804_timer.c | 54 --------------------------
scripts/config_whitelist.txt | 1 +
4 files changed, 67 insertions(+), 59 deletions(-)
create mode 100755 arch/arm/cpu/armv7/mmio_timer.c
delete mode 100644 arch/arm/cpu/armv7/sp804_timer.c
diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
index 288d14732e..97727a0dbb 100644
--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -23,12 +23,8 @@ obj-$(CONFIG_ARMV7_PSCI) += psci.o psci-common.o
obj-$(CONFIG_IPROC) += iproc-common/
obj-$(CONFIG_KONA) += kona-common/
-SUPPORT_ARCH_TIMER ?= yes
-ifeq ($(SUPPORT_ARCH_TIMER),no)
-obj-y += sp804_timer.o
-else
obj-$(CONFIG_SYS_ARCH_TIMER) += arch_timer.o
-endif
+obj-$(CONFIG_SYS_MMIO_TIMER) += mmio_timer.o
ifneq (,$(filter s5pc1xx exynos,$(SOC)))
obj-y += s5p-common/
diff --git a/arch/arm/cpu/armv7/mmio_timer.c b/arch/arm/cpu/armv7/mmio_timer.c
new file mode 100755
index 0000000000..e38dc660c5
--- /dev/null
+++ b/arch/arm/cpu/armv7/mmio_timer.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <div64.h>
+#include <bootstage.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define CNTCTLBASE UL(0x1a020000)
+#define CNTREADBASE UL(0x1a030000)
+#define CNTEN UL(0x1)
+#define CNTFCREQ UL(0x100)
+
+static inline uint32_t mmio_read32(uintptr_t addr)
+{
+ return *(volatile uint32_t*)addr;
+}
+
+static inline void mmio_write32(uintptr_t addr, uint32_t data)
+{
+ *(volatile uint32_t*)addr = data;
+}
+
+int timer_init(void)
+{
+ gd->arch.timer_rate_hz = COUNTER_FREQUENCY/CONFIG_SYS_HZ;
+ mmio_write32(CNTCTLBASE + 0x20, COUNTER_FREQUENCY);
+ // Enable counter and enter the number of entries in freq mode table
+ mmio_write32(CNTCTLBASE, CNTFCREQ|CNTEN);
+ return 0;
+}
+
+unsigned long long get_ticks(void)
+{
+ return ((mmio_read32(CNTREADBASE + 0x4) << 32) |
+ mmio_read32(CNTREADBASE));
+}
+
+ulong get_timer(ulong base)
+{
+ return lldiv(get_ticks(), gd->arch.timer_rate_hz) - base;
+}
+
+void __udelay(unsigned long usec)
+{
+ unsigned long endtick;
+
+ endtick = lldiv((unsigned long long)usec * gd->arch.timer_rate_hz,
+ 1000UL);
+
+ endtick += get_ticks();
+
+ while (get_ticks() < endtick)
+ ;
+}
+
+ulong get_tbclk(void)
+{
+ return gd->arch.timer_rate_hz;
+}
diff --git a/arch/arm/cpu/armv7/sp804_timer.c b/arch/arm/cpu/armv7/sp804_timer.c
deleted file mode 100644
index 9c1ecf3fa0..0000000000
--- a/arch/arm/cpu/armv7/sp804_timer.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2019, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <div64.h>
-#include <bootstage.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#define SP804_TIMER0_BASE UL(0x1C110000)
-#define SP804_TIMER1_VALUE_OFFSET UL(0x004)
-
-int timer_init(void)
-{
- gd->arch.timer_rate_hz = CONFIG_SYS_HZ_CLOCK / CONFIG_SYS_HZ;
- return 0;
-}
-
-static inline uint32_t mmio_read_32(uintptr_t addr)
-{
- return *(volatile uint32_t*)addr;
-}
-
-unsigned long long get_ticks(void)
-{
- return UINT_MAX - mmio_read_32(SP804_TIMER0_BASE + SP804_TIMER1_VALUE_OFFSET);
-}
-
-ulong get_timer(ulong base)
-{
- return lldiv(get_ticks(), gd->arch.timer_rate_hz) - base;
-}
-
-void __udelay(unsigned long usec)
-{
- unsigned long endtime;
-
- endtime = lldiv((unsigned long long)usec * gd->arch.timer_rate_hz,
- 1000UL);
-
- endtime += get_ticks();
-
- while (get_ticks() < endtime)
- ;
-}
-
-ulong get_tbclk(void)
-{
- return gd->arch.timer_rate_hz;
-}
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 95f27b6ead..e82e53cea3 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -3923,6 +3923,7 @@ CONFIG_SYS_MMC_U_BOOT_DST
CONFIG_SYS_MMC_U_BOOT_OFFS
CONFIG_SYS_MMC_U_BOOT_SIZE
CONFIG_SYS_MMC_U_BOOT_START
+CONFIG_SYS_MMIO_TIMER
CONFIG_SYS_MONITOR_
CONFIG_SYS_MONITOR_BASE
CONFIG_SYS_MONITOR_BASE_EARLY
--
2.17.1
@@ -0,0 +1,28 @@
From 667cb143d9d948744e14a046d5599ec85f0b45db Mon Sep 17 00:00:00 2001
From: Tushar Khandelwal <tushar.khandelwal@arm.com>
Date: Mon, 22 Jul 2019 21:19:10 +0100
Subject: [PATCH 1/3] skip creating libfdt for python for yocto build
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
%% original patch: 0001-skip-creating-libfdt-for-python-for-yocto-build.patch
---
tools/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile
index cb1683e153..872a65f74a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -230,7 +230,7 @@ always := $(hostprogs-y)
# Build a libfdt Python module if swig is available
# Use 'sudo apt-get install swig libpython-dev' to enable this
-always += $(if $(shell which swig 2> /dev/null),_libfdt.so)
+#always += $(if $(shell which swig 2> /dev/null),_libfdt.so)
# Generated LCD/video logo
LOGO_H = $(objtree)/include/bmp_logo.h
--
2.17.1
@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 ARM Limited
#
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
UBOOT_MACHINE = "vexpress_aemv8a_a5ds_defconfig"
SRC_URI += "\
file://0001-skip-creating-libfdt-for-python-for-yocto-build.patch \
file://0001-rename_sp804_timer_to_mmio_timer.patch \
file://0001-a5ds_target_support.patch \
"
@@ -0,0 +1,10 @@
# Partition for a5ds
# Rawcopy of the FIP binary
part --source rawcopy --sourceparams="file=a5ds.fip" --no-table --align 1 --fixed-size 1
# Rawcopy of the kernel binary
part --source rawcopy --sourceparams="file=zImage" --no-table --fixed-size 12
# Rawcopy of the rootfs
part --source rawcopy --sourceparams="file=${IMGDEPLOYDIR}/iota-tiny-image-a5ds.initramfs.cpio.gz" --no-table
-17
View File
@@ -1,17 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+60
View File
@@ -0,0 +1,60 @@
# Iota OS
This is meta layer dedicated to support Arm fast models.
# Iota setup
The way to start the setup to build the distribution is to fetch the
iota-manifest. For that, first install repo tool from google:
```
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > /tmp/repo
sudo install -m 0755 /tmp/repo /usr/local/bin/repo;
```
and then fetch the manifest:
```
mkdir ~/iota; cd ~/iota
repo init -u oteutoehuote -b master -m default.xml
repo sync
```
after setup the following environment variables to set the distribution and the
machine type of the build, for now only vexpress-a32 is totally tested, but
others will follow:
```
export DISTRO="iota"
export MACHINE="vexpress-a32"
```
Then prepare the environment to run the build, in the top directory
```
source setup-environment
```
This will create and put you ready to start the build in a topdir/build-iota
directory, to start the build just type:
```
bitbake iota-tiny-image
```
The first build is long and can take several minutes to conclude, when finished
check the resulted binaries in the deploy directory
```
~/iota/build-iota/tmp-iota/deploy/images/vexpress-a32/
```
To load the resulted flash img in the FVP model
```
YOCTO_OUTDIR=~/iota/build-iota/tmp-iota/deploy/images/vexpress-a32
./host/FVP_Base_Cortex-A32x1 \
-C bp.secureflashloader.fname=${YOCTO_OUTDIR}/bl1.bin \
-C bp.flashloader0.fname=${YOCTO_OUTDIR}/iota-tiny-image-vexpress-a32.wic
```
@@ -1,8 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2018 ARM Limited
#
# Iota OpenEmbedded distribution configuration file
# Copyright (c) 2019 Arm Limited
#
require conf/distro/poky-tiny.conf
@@ -11,6 +9,8 @@ DISTRO_NAME = "Iota - Tiny Linux Distribution"
DISTRO = "iota-tiny"
DISTRO_VERSION = "0.1"
PREFERRED_PROVIDER_virtual/kernel = "linux-arm"
INHERIT += "image-buildinfo"
TCLIBC = "musl"
+11 -8
View File
@@ -1,15 +1,18 @@
# Iota has a conf and classes directory, add to BBPATH
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2019 Arm Limited
#
# iota has a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# Iota has a packages directory, add to BBFILES
# iota has a packages directory, add to BBFILES
BBFILES += " \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-iota"
BBFILE_PATTERN_meta-iota := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-iota = "10"
LAYERSERIES_COMPAT_meta-iota = "thud"
BBFILE_COLLECTIONS += "iota"
BBFILE_PATTERN_iota := "^${LAYERDIR}/"
BBFILE_PRIORITY_iota = "14"
LAYERSERIES_COMPAT_iota = "warrior"
INSTALL_GCC_ARM_LINUX_GNUEABIHF = "${bindir}/gcc-arm-linux-gnueabihf"
TC_ARM_LINUX_GNUEABIHF = "${STAGING_BINDIR_NATIVE}/gcc-arm-linux-gnueabihf"
@@ -1,50 +0,0 @@
SUMMARY = "Trusted Firmware for Cortex-A"
DESCRIPTION = "Trusted Firmware-A"
HOMEPAGE = "https://github.com/ARM-software/arm-trusted-firmware"
LICENSE = "BSD-3-Clause"
DEPENDS += " dtc-native u-boot gcc-arm-linux-eabi-native"
LIC_FILES_CHKSUM = "file://license.rst;md5=c709b197e22b81ede21109dbffd5f363"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRCREV = "5ba32a7660051464ed1d56129adf2606db54b5e3"
SRC_URI = "git://github.com/ARM-software/arm-trusted-firmware;protocol=https;nobranch=1"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(vexpress-a5)"
PLATFORM_vexpress-a5 = "fvp_ve"
LDFLAGS[unexport] = "1"
do_compile_vexpress-a5() {
export PATH=${STAGING_BINDIR_NATIVE}/gcc-arm-linux-gnueabihf/bin:$PATH
mkdir -p ${B}
cp ${DEPLOY_DIR_IMAGE}/u-boot.bin \
${B}/
oe_runmake -C ${S} BUILD_BASE=${B} \
BUILD_PLAT=${B}/${PLATFORM}/ \
PLAT=${PLATFORM} \
ARM_ARCH_MAJOR=7 \
ARM_CORTEX_A5=yes \
FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A5x1.dts \
ARM_XLAT_TABLES_LIB_V1=1 \
DEBUG=1 \
ARCH=aarch32 \
CROSS_COMPILE=arm-linux-gnueabihf- \
AARCH32_SP=sp_min \
BL33=${B}/u-boot.bin \
fip \
all
}
do_install() {
install -D -p -m 0644 ${B}/${PLATFORM}/bl1.bin ${DEPLOY_DIR_IMAGE}/bl1.bin
install -D -p -m 0644 ${B}/${PLATFORM}/fip.bin ${DEPLOY_DIR_IMAGE}/${PLATFORM}.fip
}
@@ -1,35 +0,0 @@
From 47aef59becef4abc86323ec0877104c9ffa331b8 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Fri, 3 Aug 2018 15:48:13 +0100
Subject: [PATCH] AArch32: initialise FPEXC only with support enable
Try to initialise FPEXC only when support with VFP is enable
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
include/common/aarch32/el3_common_macros.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/common/aarch32/el3_common_macros.S b/include/common/aarch32/el3_common_macros.S
index 5db88544..5b4c669b 100644
--- a/include/common/aarch32/el3_common_macros.S
+++ b/include/common/aarch32/el3_common_macros.S
@@ -85,6 +85,7 @@
stcopr r0, CPACR
isb
+#if SUPPORT_VFP
/* ---------------------------------------------------------------------
* Initialise FPEXC, setting all fields rather than relying on hw. Some
* fields are architecturally UNKNOWN on reset and are set to zero
@@ -97,6 +98,7 @@
ldr r0, =(FPEXC_RESET_VAL | FPEXC_EN_BIT)
vmsr FPEXC, r0
isb
+#endif
#if (ARM_ARCH_MAJOR > 7)
/* ---------------------------------------------------------------------
--
2.19.1
@@ -1,28 +0,0 @@
From a33f1a9eba489a67d69cc09dddb794aa8b9d1d35 Mon Sep 17 00:00:00 2001
From: Rui Silva <ruisil01@e121032-lin.cambridge.arm.com>
Date: Mon, 17 Dec 2018 22:47:41 +0000
Subject: [PATCH] tools: allow to override python
fix build of tools and use python given by env variable.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
tools/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile
index cb1683e..9bf9ceb 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -138,7 +138,7 @@ tools/_libfdt.so: $(LIBFDT_SRCS) $(LIBFDT_SWIG)
CPPFLAGS="$(_hostc_flags)" OBJDIR=tools \
SOURCES="$(LIBFDT_SRCS) tools/libfdt.i" \
SWIG_OPTS="-I$(srctree)/lib/libfdt -I$(srctree)/lib" \
- $(libfdt_tree)/pylibfdt/setup.py --quiet build_ext \
+ ${PYTHON} $(libfdt_tree)/pylibfdt/setup.py --quiet build_ext \
--build-lib tools
ifneq ($(CONFIG_MX23)$(CONFIG_MX28),)
--
2.7.4
@@ -1,50 +0,0 @@
From 4f25bd32ee6307e2e3ac828426c1ef3adbc44292 Mon Sep 17 00:00:00 2001
From: Usama Arif <usama.arif@arm.com>
Date: Thu, 10 Jan 2019 10:27:04 +0000
Subject: [PATCH] vexpress64: setup kernel and rootfs from flash for
fvp versatile express model
Set and copy the kernel and rootfs from flash to memory before running the bootm
command.
Signed-off-by: Usama Arif <usama.arif@arm.com>
---
include/configs/vexpress_aemv8a.h | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index 4de9914..805f8c0 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -225,6 +225,7 @@
#elif defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32)
+
#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_name=Image\0" \
"kernel_addr=0x80080000\0" \
@@ -239,9 +240,9 @@
"0x1c090000 debug user_debug=31 "\
"systemd.log_target=null "\
"androidboot.hardware=fvpbase "\
- "root=/dev/vda2 rw "\
- "rootwait "\
- "loglevel=9"
+ "loglevel=9 " \
+ "root=/dev/ram0 rw rootwait"
+
#define CONFIG_BOOTCOMMAND "if smhload ${fdt_name} ${fdt_addr}; then "\
" if smhload ${initrd_name} ${initrd_addr} "\
@@ -261,6 +262,8 @@
"fi; " \
"echo semihosting load failed, try booting "\
"with contents of DRAM; " \
+ "cp.b 0x0C100000 $kernel_addr 0x900000; " \
+ "cp.b 0x0CD00000 $initrd_addr 0x500000; " \
BOOT_TYPE " $kernel_addr $initrd_addr $fdt_addr"
#endif
--
2.7.4
@@ -1,50 +0,0 @@
From f09688c345597b7b6cb231bab5362d060632ba3b Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Mon, 17 Dec 2018 14:36:46 +0000
Subject: [PATCH] vexpress64: setup kernel and rootfs from flash
Set and copy the kernel and rootfs from flash to memory before running the bootm
command.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
include/configs/vexpress_aemv8a.h | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index 4de9914128..9cb778ba91 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -225,6 +225,7 @@
#elif defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_AARCH32)
+
#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_name=Image\0" \
"kernel_addr=0x80080000\0" \
@@ -239,9 +240,9 @@
"0x1c090000 debug user_debug=31 "\
"systemd.log_target=null "\
"androidboot.hardware=fvpbase "\
- "root=/dev/vda2 rw "\
- "rootwait "\
- "loglevel=9"
+ "loglevel=9 " \
+ "root=/dev/ram0 rw rootwait"
+
#define CONFIG_BOOTCOMMAND "if smhload ${fdt_name} ${fdt_addr}; then "\
" if smhload ${initrd_name} ${initrd_addr} "\
@@ -261,6 +262,8 @@
"fi; " \
"echo semihosting load failed, try booting "\
"with contents of DRAM; " \
+ "cp.b 0x08100000 $kernel_addr 0x900000; " \
+ "cp.b 0x08D00000 $initrd_addr 0x500000; " \
BOOT_TYPE " $kernel_addr $initrd_addr $fdt_addr"
#endif
--
2.19.2
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2018 Linaro, LLC
# Copyright (c) 2018 ARM Limited
# Copyright (c) 2019 Linaro, LLC
# Copyright (c) 2019 Arm Limited
#
# Iota Recipe to build tiny minimal image
#
@@ -9,14 +9,16 @@
SUMARY = "Iota Tiny Minimal Image"
DESCRIPTION = "Tiny Linux image for Iota Distribution"
LICENSE = "MIT"
DEPENDS += "u-boot-mkimage-native"
IMAGE_LINGUAS = " "
IMAGE_FEATURES += "debug-tweaks"
inherit core-image
IMAGE_CLASSES += "cramfs-xip"
IMAGE_FSTYPES += " cramfs-xip wic"
KERNEL_IMAGETYPE = "zImage"
DEPENDS += "u-boot-mkimage-native"
inherit core-image
# Remove Partition table if wic image is generated
do_cleanup_partition_table() {
@@ -24,27 +26,21 @@ do_cleanup_partition_table() {
header=$(head -c 4 ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.wic | md5sum -b | cut -d ' ' -f1)
if [ ${header}=="d9a7c187f1dc40d183b645f61daa500f" ]; then
echo "remove partition table from wic image"
echo "remove partition table from wic image"
tail -c +1025 ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.wic > ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.img
mv ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.img ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.wic
fi
#remove ramfs from previoes stage
rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.cpio.gz
}
addtask do_cleanup_partition_table after do_image_wic before do_image_complete
do_image_make_ramfs() {
echo "adding uboot header to cpio.gz"
mkimage -A arm -O linux -C none -T ramdisk -n ramdisk -a 0x84000000 -e 0x84000000 -n "Iota Ramdisk" -d ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.cpio.gz ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.initramfs.cpio.gz
cp -rf ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.initramfs.cpio.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.cpio.gz
mv ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.initramfs.cpio.gz ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.cpio.gz
cd ${IMGDEPLOYDIR}; ln -s ${IMAGE_NAME}.rootfs.initramfs.cpio.gz ${IMAGE_LINK_NAME}.initramfs.cpio.gz
}
do_image_make_ramfs_corstone700() {
echo "uboot header not required for corstone700"
cp -f ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.cpio.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.cpio.gz
echo "u-boot not present in corstone700"
}
addtask do_image_make_ramfs after do_image_cpio before do_image_wic
@@ -1,29 +0,0 @@
# Recipe for fetching and installing the prebuilt gcc-arm
# linaro 6.2.1 toolchain.
# Recipe based on the meta-ti layer:
# http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb?h=master
#
# Linaro 6.2.1 is the recommended toolchain for arm-trusted-firmware
GCC_ARM_VERSION = "gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf"
LICENSE="GPLv3"
LIC_FILES_CHKSUM = "file://share/doc/gdb/gdb/Free-Software.html;md5=96c83aa6efb937afca4e4b5810f2b975"
inherit native
SRC_URI = "https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/${GCC_ARM_VERSION}.tar.xz"
SRC_URI[md5sum] = "8f5c112ab5fa26248eb5d9110a09e030"
S = "${WORKDIR}/${GCC_ARM_VERSION}"
do_install() {
install -d ${D}${INSTALL_GCC_ARM_LINUX_GNUEABIHF}
cp -r ${S}/. ${D}${INSTALL_GCC_ARM_LINUX_GNUEABIHF}
}
FILES_${PN} = "${INSTALL_GCC_ARM_LINUX_GNUEABIHF}/"
INHIBIT_SYSROOT_STRIP = "1"
INSANE_SKIP_${PN} = "already-stripped"
@@ -1,37 +0,0 @@
S = "${WORKDIR}/linux-${PV}"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI = " \
git://git.linaro.org/landing-teams/working/arm/kernel-testing.git;protocol=https;branch=tinylinux_giot_demo \
"
SRCREV = "135e79d294c9ec552687cccd3a28147d2df69d29"
SRCREV_machine = "135e79d294c9ec552687cccd3a28147d2df69d29"
KBUILD_DEFCONFIG_vexpress-a5 ?= "tiny_vexpress_defconfig"
COMPATIBLE_MACHINE += "|vexpress-a5"
do_preconfigure() {
mkdir -p ${B}
echo "" > ${B}/.config
CONF_SED_SCRIPT=""
kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
kernel_conf_variable LOCALVERSION_AUTO y
sed -e "${CONF_SED_SCRIPT}" < '${S}/arch/arm/configs/${KBUILD_DEFCONFIG_vexpress}' >> '${B}/.config'
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
printf "%s%s" +g $head > ${S}/.scmversion
fi
}
do_install_append() {
install -d ${D}/boot
}
ALLOW_EMPTY_kernel-devicetree = "1"
-11
View File
@@ -1,11 +0,0 @@
# Partition for vexpress-a5
# Rawcopy of the FIP binary
part --source rawcopy --sourceparams="file=fvp_ve.fip" --no-table --align 1 --fixed-size 1
# Rawcopy of the kernel binary
part --source rawcopy --sourceparams="file=zImage" --no-table --fixed-size 12
# Rawcopy of the rootfs
part --source rawcopy --sourceparams="file=iota-tiny-image-vexpress-a5.cpio.gz" --no-table