1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-21 05:27:02 +00:00

Add support for arm Foundation ARMv8 FVP simulator

Add recipes and configuration files to add Yocto support
for Foundation armv8 simulator from arm.
The following components are supported:
- trusted-firmware-a
- linux kernel (with specific kernel configuration)
- xen (with meta-virtualization layer)
- unpacking and starting the generated image directly in Foundation
simulator (package must be download from www.arm.com website and put in
the directory downloads/licensed/silver.arm.com).

After building, the following command can be used to start a generated
image in foundation:
./tmp/deploy/tools/start-foundation-armv8.sh

Change-Id: Iade343c38f0799ee8523434d555cb3ca42068a86
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
This commit is contained in:
Bertrand Marquis
2019-12-04 16:40:45 +00:00
parent d8dd9ad0ad
commit ad73752f4b
28 changed files with 852 additions and 0 deletions
@@ -0,0 +1,4 @@
Arm platforms BSPs
==================
This directory contains Arm platforms definitions and configuration for Linux.
@@ -0,0 +1,11 @@
define KMACHINE fvp
define KTYPE standard
define KARCH arm64
include ktypes/standard/standard.scc
include fvp.scc
# default policy for standard kernels
#include features/latencytop/latencytop.scc
#include features/profiling/profiling.scc
@@ -0,0 +1,14 @@
include features/input/input.scc
include features/net/net.scc
include cfg/timer/no_hz.scc
kconf hardware fvp/fvp-board.cfg
kconf hardware fvp/fvp-net.cfg
kconf hardware fvp/fvp-rtc.cfg
kconf hardware fvp/fvp-serial.cfg
kconf hardware fvp/fvp-virtio.cfg
kconf hardware fvp/fvp-cfi.cfg
kconf hardware fvp/fvp-drm.cfg
kconf hardware fvp/fvp-timer.cfg
kconf hardware fvp/fvp-virtio.cfg
kconf hardware fvp/fvp-watchdog.cfg
@@ -0,0 +1,16 @@
CONFIG_ARM64=y
CONFIG_ARCH_VEXPRESS=y
CONFIG_SMP=y
CONFIG_NR_CPUS=8
CONFIG_HOTPLUG_CPU=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_CPU_IDLE=y
CONFIG_ARM_CPUIDLE=y
# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
# register.
# CONFIG_ARM64_SVE is not set
@@ -0,0 +1,3 @@
# CFI Flash
CONFIG_MTD=y
CONFIG_MTD_CFI=y
@@ -0,0 +1,5 @@
# DRM CLCD
CONFIG_DRM=y
CONFIG_DRM_PL111=y
CONFIG_FB=y
CONFIG_FB_ARMCLCD=y
@@ -0,0 +1,2 @@
CONFIG_SMSC911X=y
CONFIG_SMC91X=y
@@ -0,0 +1,2 @@
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_PL031=y
@@ -0,0 +1,2 @@
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
@@ -0,0 +1,3 @@
# Dual timer module
CONFIG_ARM_TIMER_SP804=y
CONFIG_CLK_SP810=y
@@ -0,0 +1,4 @@
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MMIO=y
CONFIG_BLOCK=y
CONFIG_VIRTIO_BLK=y
@@ -0,0 +1,3 @@
# Watchdog
CONFIG_WATCHDOG=y
CONFIG_ARM_SP805_WATCHDOG=y
@@ -0,0 +1,18 @@
# Kernel configuration and dts specific information
#
# Kernel configurations and dts (If not using Linux provided ones) are captured
# in this file. Update SRC_URI and do_patch for building images with custom dts
#
FILESEXTRAPATHS_prepend := "${THISDIR}:${THISDIR}/files:"
# Arm platforms kmeta
SRC_URI_append = " file://arm-platforms-kmeta;type=kmeta;name=arm-platforms-kmeta;destsuffix=arm-platforms-kmeta"
#
# FVP FOUNDATION KMACHINE
#
COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
KMACHINE_foundation-armv8 = "fvp"
@@ -0,0 +1,3 @@
# Add support for Arm Platforms (boards or simulators)
require linux-yocto-arm-platforms.inc