mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
machine/corstone1000: Add Cortex‑A320 support
Enable the Corstone‑1000 Cortex‑A320 variant by: - Introduce `machine/include/corstone1000-a320.inc` to configure the default Ethos‑U MAC count when `cortexa320` is in MACHINE_FEATURES, and allow override via `ETHOSU_NUM_MACS`. - Add a KAS profile at `kas/corstone1000-a320.yml` for Cortex‑A320 FVP-based builds. - Extend corstone1000.inc to detect MACHINE_FEATURES (cortexa320) and pull in the matching tune-<core>.inc (default still Cortex-A35). - Add the `meta-ethos` layer as a dependency of `meta-arm-bsp` for Cortex‑A320 builds and define a new KMachine override to pull in the Ethos‑U driver recipe. - In `conf/machine/corstone1000-fvp.conf`, inspect `MACHINE_FEATURES` and set `FVP_EXE` to `FVP_Corstone-1000_with_Cortex-A320` when `cortexa320` is enabled, otherwise fall back to `FVP_Corstone-1000`. - In `recipes-devtools/fvp/fvp-corstone1000.bb`, add a `SRC_URI:cortexa320` entry (with checksums) for the Cortex‑A320 FVP build archive. - Disable the rootfs CPIO file compression so it is not compressed twice when bundled with the kernel Signed-off-by: Michael Safwat <michael.safwat@arm.com> Signed-off-by: Frazer Carsley <frazer.carsley@arm.com> Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
committed by
Jon Mason
parent
108053c964
commit
b6b1a81f5e
@@ -14,6 +14,7 @@ LAYERSERIES_COMPAT_meta-arm-bsp = "walnascar whinlatter"
|
||||
LAYERDEPENDS_meta-arm-bsp = "core meta-arm"
|
||||
# This won't be used by layerindex-fetch, but works everywhere else
|
||||
LAYERDEPENDS_meta-arm-bsp:append:corstone1000 = " meta-python openembedded-layer efi-secure-boot"
|
||||
LAYERDEPENDS_meta-arm-bsp:append:corstone1000:cortexa320 = " meta-ethos"
|
||||
LAYERDEPENDS_meta-arm-bsp:append:musca-b1 = " meta-python"
|
||||
LAYERDEPENDS_meta-arm-bsp:append:musca-s1 = " meta-python"
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@ require conf/machine/include/corstone1000.inc
|
||||
require ${@bb.utils.contains('MACHINE_FEATURES', 'corstone1000-extsys', \
|
||||
'conf/machine/include/corstone1000-extsys.inc', '', d)}
|
||||
|
||||
require ${@bb.utils.contains('MACHINE_FEATURES', 'cortexa320', \
|
||||
'conf/machine/include/corstone1000-a320.inc', '', d)}
|
||||
|
||||
TFA_TARGET_PLATFORM = "fvp"
|
||||
|
||||
TFM_PLATFORM_IS_FVP = "TRUE"
|
||||
@@ -20,6 +23,7 @@ DEFAULT_TEST_SUITES:append = " fvp_boot fvp_devices"
|
||||
# FVP Config
|
||||
FVP_PROVIDER ?= "fvp-corstone1000-native"
|
||||
FVP_EXE ?= "FVP_Corstone-1000"
|
||||
FVP_EXE:cortexa320 = "FVP_Corstone-1000-A320"
|
||||
FVP_CONSOLES[default] = "host_terminal_0"
|
||||
FVP_CONSOLES[tf-a] = "host_terminal_1"
|
||||
FVP_CONSOLES[se] = "secenc_terminal"
|
||||
|
||||
5
meta-arm-bsp/conf/machine/include/corstone1000-a320.inc
Normal file
5
meta-arm-bsp/conf/machine/include/corstone1000-a320.inc
Normal file
@@ -0,0 +1,5 @@
|
||||
ETHOSU_NUM_MACS ?= "256"
|
||||
|
||||
FVP_CONFIG[host.ethosu.num_macs] = "${ETHOSU_NUM_MACS}"
|
||||
|
||||
IMAGE_INSTALL:append = " arm-npu-ethosu"
|
||||
@@ -1,4 +1,6 @@
|
||||
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
|
||||
TUNE_FILE = "conf/machine/include/arm/armv8a/tune-cortexa35.inc"
|
||||
TUNE_FILE:cortexa320 = "conf/machine/include/arm/arch-armv9-2a.inc"
|
||||
require ${TUNE_FILE}
|
||||
|
||||
MACHINEOVERRIDES =. "corstone1000:"
|
||||
|
||||
|
||||
@@ -122,3 +122,4 @@ CONFIG_EXT4_FS=y
|
||||
# CONFIG_EXT4_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT4_FS_SECURITY is not set
|
||||
# CONFIG_EXT4_DEBUG is not set
|
||||
CONFIG_INITRAMFS_COMPRESSION_NONE=y
|
||||
|
||||
@@ -24,8 +24,6 @@ COMPATIBLE_MACHINE:corstone1000 = "${MACHINE}"
|
||||
KCONFIG_MODE:corstone1000 = "--alldefconfig"
|
||||
KMACHINE:corstone1000 = "corstone1000"
|
||||
LINUX_KERNEL_TYPE:corstone1000 = "standard"
|
||||
#disabling the rootfs cpio file compression so it is not compressed twice when bundled with the kernel
|
||||
KERNEL_EXTRA_ARGS:corstone1000 += "CONFIG_INITRAMFS_COMPRESSION_NONE=y"
|
||||
SRC_URI:append:corstone1000 = " \
|
||||
file://defconfig \
|
||||
"
|
||||
@@ -57,6 +55,26 @@ SRC_URI:append:corstone1000 = " \
|
||||
KERNEL_EXTRA_FEATURES:corstone1000 = ""
|
||||
KERNEL_FEATURES:corstone1000 = ""
|
||||
|
||||
#
|
||||
# Corstone1000 with CORTEX-A320 KMACHINE
|
||||
#
|
||||
FILESEXTRAPATHS:prepend:cortexa320 := "${ARMBSPFILESPATHS}"
|
||||
COMPATIBLE_MACHINE:corstone1000:cortexa320 = "${MACHINE}"
|
||||
KCONFIG_MODE:corstone1000:cortexa320 = "--alldefconfig"
|
||||
KMACHINE:corstone1000:cortexa320 = "corstone1000-a320"
|
||||
LINUX_KERNEL_TYPE:corstone1000:cortexa320 = "standard"
|
||||
SRC_URI:append:corstone1000:cortexa320 = " \
|
||||
file://defconfig \
|
||||
"
|
||||
|
||||
# Default kernel features not needed for Corstone-1000 with
|
||||
# Cortex-A320; otherwise the extra kernel modules will
|
||||
# increase the rootfs size but the board has limited flash
|
||||
# memory constraints
|
||||
KERNEL_EXTRA_FEATURES:corstone1000:cortexa320 = ""
|
||||
KERNEL_FEATURES:corstone1000:cortexa320 = ""
|
||||
|
||||
|
||||
#
|
||||
# FVP BASE KMACHINE
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user