mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
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>
77 lines
2.4 KiB
PHP
77 lines
2.4 KiB
PHP
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:"
|
|
|
|
# TF-M
|
|
PREFERRED_VERSION_trusted-firmware-m ?= "2.2.1"
|
|
|
|
# TF-A
|
|
TFA_PLATFORM = "corstone1000"
|
|
PREFERRED_VERSION_trusted-firmware-a ?= "2.13.%"
|
|
PREFERRED_VERSION_tf-a-tests ?= "2.13.%"
|
|
|
|
TFA_BL2_BINARY = "bl2-corstone1000.bin"
|
|
TFA_FIP_BINARY = "fip-corstone1000.bin"
|
|
|
|
# optee
|
|
PREFERRED_VERSION_optee-os ?= "4.7.%"
|
|
PREFERRED_VERSION_optee-client ?= "4.7.%"
|
|
|
|
# Trusted Services
|
|
TS_PLATFORM = "arm/corstone1000"
|
|
TS_SP_SE_PROXY_CONFIG = "corstone1000"
|
|
# Include smm-gateway and se-proxy SPs into optee-os binary
|
|
MACHINE_FEATURES += "ts-smm-gateway ts-se-proxy"
|
|
|
|
# U-Boot
|
|
PREFERRED_VERSION_u-boot ?= "2025.04%"
|
|
MACHINE_FEATURES += "efi"
|
|
EFI_PROVIDER ?= "grub-efi"
|
|
|
|
# Grub
|
|
LINUX_KERNEL_ARGS ?= "earlycon=pl011,0x1a510000 console=ttyAMA0,115200"
|
|
GRUB_LINUX_APPEND ?= "${LINUX_KERNEL_ARGS}"
|
|
IMAGE_CMD:wic[vardeps] += "GRUB_LINUX_APPEND"
|
|
|
|
# Linux kernel
|
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
|
PREFERRED_VERSION_linux-yocto ?= "6.12.%"
|
|
KERNEL_IMAGETYPE = "Image"
|
|
KERNEL_IMAGETYPE:firmware = "Image.gz"
|
|
# add FF-A support in the kernel
|
|
MACHINE_FEATURES += "arm-ffa"
|
|
# enable this feature for kernel debugging
|
|
# MACHINE_FEATURES += "corstone1000_kernel_debug"
|
|
|
|
# login terminal serial port settings
|
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
|
|
|
IMAGE_FSTYPES += "wic"
|
|
# Need to clear the suffix so TESTIMAGE_AUTO works
|
|
IMAGE_NAME_SUFFIX = ""
|
|
WKS_FILE ?= "efi-disk-no-swap.wks.in"
|
|
WKS_FILE:firmware ?= "corstone1000-flash-firmware.wks.in"
|
|
|
|
# making sure EXTRA_IMAGEDEPENDS will be used while creating the image
|
|
WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
|
|
|
|
# If not building under the firmware multiconf we need to build the actual firmware
|
|
FIRMWARE_DEPLOYMENT ?= "firmware-deploy-image"
|
|
FIRMWARE_DEPLOYMENT:firmware ?= ""
|
|
EXTRA_IMAGEDEPENDS += "${FIRMWARE_DEPLOYMENT}"
|
|
|
|
ARM_SYSTEMREADY_FIRMWARE = "${FIRMWARE_DEPLOYMENT}:do_deploy \
|
|
corstone1000-esp-image:do_image_complete \
|
|
"
|
|
ARM_SYSTEMREADY_ACS_CONSOLE ?= "default"
|
|
|
|
# Workaround IMAGE_ROOTFS_EXTRA_SPACE being ignored when images are repacked
|
|
IMAGE_ROOTFS_EXTRA_ARGS += "--extra-filesystem-space ${@${IMAGE_ROOTFS_EXTRA_SPACE}}K"
|
|
|
|
# Enable Authenticated variable support in SmmGW
|
|
SMMGW_AUTH_VAR = "1"
|
|
# Use MbedTLS build into SmmGW for authentication related crypto operations.
|
|
SMMGW_INTERNAL_CRYPTO = "1"
|