1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-07 16:59:30 +00:00
Commit Graph

2806 Commits

Author SHA1 Message Date
Jon Mason 832ce9bca3 CI/fvp: made the default target core-image-full-cmdline
No need to have the full graphics stack for FVP images.  Slim the image
down by default.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-11 11:00:04 -05:00
Filipe Rinaldi f87babe3f8 lib/fvp: remove FVP buit-in portion of the terminal name
This patch ignores the built-in FVP UART name when setting the terminal
names on tmux.
The rationale is that appending FVP UART name takes a lot of space
making it unusable on complex platforms with many terminals.

Signed-off-by: Filipe Rinaldi <filipe.rinaldi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-11 08:00:03 -05:00
Frazer Carsley 8c8e2a5dbb arm-bsp/u-boot: Remove v2025.04 recipe
Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-10 15:42:51 -05:00
Frazer Carsley 7ab5353f1c arm-bsp/u-boot:cs1k: Remove broken patch
The removed patch file breaks the U-Boot efi_selftest utility and has
been denied by upstream in any event. All subsequent patches renumbered.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-10 15:42:51 -05:00
Frazer Carsley 0a8d300b52 arm-bsp/u-boot:cs1k: Upgrade to v2025.10
All patches have been rebased onto the v2025.10 release branch, with the
changes primarily being updating of offsets and surrounding code in each
hunk.

One minor change between v2024.04 and v2025.10 is that a
CONFIG_BOARD_INIT option was added and must be enabled in order to link
in the `board_init()` symbol. As such, the firmware update patch adding
`board_init()` has been modified to enable this option as well.

The patch that enabled OF_UPSTREAM has been modified slightly in order
to incorporate upstream changes between versions: the SMP changes to the
Corstone1000 FVP device tree were incorporated into the Linux kernel so
are no longer needed in the U-Boot specific device tree. As such, the
patch adding A320 support adds these CPU nodes in order to override them
where appropriate.

In the process, signatures are removed from each patch.

Beyond this, the directory in which U-Boot searches for the EFI capsule
CRT file changed from object tree to source tree, so the recipe is
updated to reflect that.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-10 15:42:51 -05:00
Jon Mason 50f14fa9bd arm-bsp/fvp-base: add MMC and 9P to kernel config
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-10 15:42:51 -05:00
Jan Luebbe fbb2c0f772 arm/arm-bsp: optee-examples: drop patch included in 4.9.0
This fixes a build error due to:
 patching file Makefile
 Hunk #1 FAILED at 12.
 1 out of 1 hunk FAILED -- rejects in file Makefile
 Patch 0001-Makefile-Avoid-variable-override.patch can be reverse-applied

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-06 14:00:04 -05:00
Ross Burton 320301be3d arm-bsp/external-system: remove redundant DEBUG_PREFIX_MAP fiddling
We have a newer gcc-arm-none-eabi now, so this can be removed.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-06 10:00:04 -05:00
Hugues KAMBA MPIANA be599f9523 arm-bsp: corstone1000: Swap GIC-600 for GIC-700 for Cortex-A320 variant
Make changes across U-Boot, and OP-TEE OS to swap
the GIC-600 for GIC-700 as the latest version of the FVP
swaps the GIC.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-02-04 06:00:06 -05:00
Hugues KAMBA MPIANA 38d2046583 arm/arm-bsp: optee: drop version 4.7.0
Drop support for OP-TEE version 4.7.0 from the layer as
version 4.9.0 is present.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-27 14:30:50 -05:00
Hugues KAMBA MPIANA 955cd40e15 arm-bsp/corstone1000: move to support OP-TEE version 4.9
Bump Corstone-1000 machine OP-TEE version from 4.7.0
to version 4.9.0.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-27 14:30:50 -05:00
Hugues KAMBA MPIANA 4981dca139 arm/arm-bsp: optee: add version 4.9.0
OP-TEE version 4.9.0 has been released on 2026-01-16 [1].

Add OP-TEE recipes to point to version 4.9.0

Link: [1]: https://github.com/OP-TEE/optee_os/blob/master/CHANGELOG.md#op-tee---version-490-2026-01-16

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # xtest on PX30, RK3399, RK3588
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-27 14:30:50 -05:00
Michael Safwat d9eac47e30 arm-bsp/docs:corstone1000: Update copyright and host tool versions
Update Corstone-1000 documentation to reflect 2026 copyright and
current supported host environment.

Signed-off-by: Michael Safwat <michael.safwat@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-23 08:00:04 -05:00
Ross Burton c3c97a6b8f arm-bsp/trusted-firmware-a: ensure native tools respect BUILD_LDFLAGS
TF-A has a number for variables to control how host binaries are built:

- Our BUILD_CC is HOSTCC; this is set in the recipes
- Our BUILD_CFLAGS is HOSTCCFLAGS; this is not set
- Our BUILD_LDFLAGS has no corresponding variable

However when uninative is enabled we really need to pass BUILD_LDFLAGS
as otherwise there can be link problems:

  ld: libcrypto.so: undefined reference to `__isoc23_strtol@GLIBC_2.38'

Patch into the TF-A makefiles support for HOSTLDFLAGS and ensure that we
set all three of the relevant BUILD_ variables.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-22 13:00:04 -05:00
Hugues KAMBA MPIANA de6e6fe7d5 arm-bsp/docs:corstone1000: Update copyright notice
Update the copyright notice year.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-20 15:40:32 -05:00
Jon Mason 755287ed33 arm-bsp/u-boot: remove upstreamed fvp-base patches
2 of the fvp-base specific u-boot patches were merged in the 2026.01
release.  Remove those, as they are no longer necessary.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-15 17:49:51 -05:00
Ross Burton f36c9add46 Revert "CI: work around xen failures until fixed upstream"
The kernel upgrades are now in oe-core, so we can drop this workaround.

This reverts commit 341a0fd976.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-15 17:00:04 -05:00
Ross Burton 6aef0d46a9 arm-bsp/linux-yocto: disable kconfig checking for sbsa-ref and sgi575
The linux-yocto kernel has strict configuration warnings enabled and this
often causes warning, for example with 6.18.3:

[INFO]: the following symbols were not found in the active configuration:
     - CONFIG_SND_SOC_ROCKCHIP
     - CONFIG_SLIM_QCOM_CTRL

For these machines we're using the upstream defconfig and not a config
file that we're maintaining, so fixing these problems upstream is slower
than one would like.

As we don't maintain the config, we can disable the checker for these
two machines. This is _not_ precedence for disabling the audit for any
machines where we're not simply using the upstream defconfig without any
changes.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-15 10:00:04 -05:00
Frazer Carsley 568b3622cd arm-bsp/conf:corstone1000: update bl1.bin path
The path changed when the trusted-firmware-m recipe began to inherit
firmware.bbclass.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-14 05:00:04 -05:00
Frazer Carsley 514061a36e arm-bsp/docs:corstone1000: update paths
The paths for these files has changed due to the change to the
trusted-firmware-m recipe now using the custom firmware.bbclass.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-14 05:00:04 -05:00
Frazer Carsley 604c7e9a4e arm/images: ensured consistent firmware deployment
For builds using multiconfig, all of the firmware binaries listed were
being placed in the ${DEPLOYDIR} directly without preserving their
directory hierarchy. This meant that paths to firmware binaries relative
to the ${DEPLOYDIR} differed between builds depending on whether
multiconfig was enabled or not.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-14 05:00:04 -05:00
Jon Mason f6c78d2770 arm/edk2-firmware: update to edk2-stable202511
Update edk2-firmware and edk2-basetools to the 202511 stable release.

Patches from upstream were needed to get it compiling with clang.

edk2 dropped support for 32bit arm and x86, see
https://edk2.groups.io/g/devel/topic/rfc_remove_ovmf_ia32_and/114152215
Therefore, we're dropping qemuarm edk2 testing and relevant bits

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-12 15:37:28 -05:00
Jon Mason a95040828c arm/trusted-firmware-a: add v2.14.0 support
Add support for v2.14.0, and update corstone1000 config and patches to
use it.  TF-A seems to have changed their poetry settings from POETRY to
host-poetry (when specifying an alternative location/disabling).  So, it
is necessary to modify that for all platforms using COT and v2.14.0

NOTE: sbsa-ref is having issues with fip.bin being too large.  So, set
the version to the LTS until that is resolved.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-12 15:37:18 -05:00
Ross Burton 341a0fd976 CI: work around xen failures until fixed upstream
In master, xen images fail to build as the xt-masquerade module is not
built by the kernel. This has been fixed in the linux-yocto 6.18.3
upgrade but that is not yet merged.

Until it is merged, we can temporarily update the kmeta in our CI.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-12 14:00:05 -05:00
Jon Mason 955b1d8e69 arm/boot-wrapper-aarch64: update to latest commit
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-10 12:00:04 -05:00
Jon Mason fbf30c96c3 arm/machine-summary: remove gn
gn was moved to oe-core.  So, we no longer need to track it as part of
the meta-arm CI machine-report

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-10 12:00:04 -05:00
Jon Mason 0d8f1d5fd0 arm/opencsd: update to 1.7.1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-10 12:00:04 -05:00
Jon Mason 767839df35 arm/hafnium: update to 2.14.0
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-10 12:00:04 -05:00
Jon Mason ae8bf4970e arm/trusted-firmware-m: drop unreferenced patch
Forgot to remove this patch in the previous commit.  Removing now.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-10 12:00:04 -05:00
Hugues KAMBA MPIANA 9d3e85c7d8 docs:corstone1000: Update user guide
- Replace openSUSE Tumbleweed with openSUSE Leap.
- Ensure correct component versions are listed.
- Update changelog and release notes for C25Q4 release.
- Add Positive partial capsule update test.
- Improve user guide for consistency and clarity.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-08 15:00:05 -05:00
Devaraj Ranganna e8ffad9ef3 arm-bsp: corstone1000: Enable secure debug on TF-M v2.2.x
Allow TF-M v2.2.2 to boot with Secure Debug enabled on Corstone-1000 and
align the driver implementation with the current psa-adac library.

- Add missing DRBG macros to fix the
  "Failed to generate challenge!" error during Secure Debug.
- Fix an unintended platform reset occurring immediately after setting
  the debug enable bits in the dcu_en register while in SE LCS.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-07 09:00:04 -05:00
Ross Burton d908c2bc5f meta-arm-bsp/oeqa: ignore new PCI warnings
The PCI subsystem with 6.18 is now warning on boot:

   PCI: OF: of_root node is NULL, cannot create PCI host bridge node

Until this can be root-caused, ignore it.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-06 12:00:04 -05:00
Ross Burton 54d84b7900 meta-arm/oeqa: ignore initrd warning in qemuarm64-secureboot
With kernel 6.18 the kernel will now warn if it tries to run a command
from a ramdisk but it cannot be found[1]. This happens with the
qemuarm64-secureboot machine (but not qemuarm64) because u-boot appears
to be populating the devicetree with a ramdisk entry:

    loading kernel to address 40400000 size 1702a00
      1  qfw          ready   qfw          0  qfw
    ** Booting bootflow 'qfw' with qfw
    ## Flattened Device Tree blob at 7e659890
       Booting using the fdt blob at 0x7e659890
    Working FDT set to 7e659890
       Loading Ramdisk to 7bcfd000, end 7d3ffa00 ... OK
       Loading Device Tree to 000000007d621000, end 000000007d626534 ... OK
    Working FDT set to 7d621000

    Starting kernel ...

The kernel tries to mount and boot this ramdisk but fails because it
isn't a valid initrd or initramfs. The boot continues as usual, but this
warning in the logs triggers parselogs.

Until the boot flow is properly resolved, ignore the message.

[1] linux 98aa4d5d242d ("init/main.c: add warning when file specified in rdinit is inaccessible")

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2026-01-06 12:00:04 -05:00
Bence Balogh 9f2a8ed5eb arm/trusted-firmware-a: Include *.dtb in package
The TF-A can install files with dtb extension. This is not handled in
the firmware.bbclass so append it here.

Signed-off-by: Bence Balogh <bence.balogh@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-19 11:00:04 -05:00
Peter Hoyes 30d4078278 arm/trusted-firmware-m: Use firmware.bbclass
Replace inherit deploy with firmware.

Initialize TFM_DEBUG using the FIRMWARE_DEBUG_BUILD variable. Initialize
TFM_PLATFORM with FIRMWARE_PLATFORM.

Refactor do_install to use ${FIRMWARE_DIR} and remove now redundant
configuration.

Refactor corstone1000 config files to use ${FIRMWARE_DIR} and the
base do_install.

Signed-off-by: Peter Hoyes <peter.hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-16 12:48:34 -05:00
Peter Hoyes 02608a6cb1 arm/scp-firmware: Use firmware.bbclass
Replace inherit deploy with firmware.

Initialize SCP_DEBUG using the FIRMWARE_DEBUG_BUILD variable. Initialize
SCP_PLATFORM using the FIRMWARE_PLATFORM variable.

Refactor do_install to use ${FIRMWARE_DIR} and remove now redundant
configuration.

Signed-off-by: Peter Hoyes <peter.hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-16 12:48:33 -05:00
Peter Hoyes 7bce36a2c6 arm/trusted-firmware-a: Use firmware.bbclass
Replace inherit deploy with firmware.

Initialize TFA_DEBUG using the FIRMWARE_DEBUG_BUILD variable. Initialize
TFA_PLATFORM with FIRMWARE_PLATFORM.

Refactor do_install to use ${FIRMWARE_DIR} and remove now redundant
configuration. Drop the redundant ${TFA_PLATFORM} suffixes.

Update BSP conf files to use the new deploy location, including
symlinking back to ${DEPLOYDIR} where necessary.

Signed-off-by: Peter Hoyes <peter.hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-16 12:48:30 -05:00
Peter Hoyes fff0756d6e arm/classes-recipe: Introduce firmware.bbclass
There are now a handful of firmware component recipes in meta-arm, each
of which does its own (slightly different) deployment handling.

Introduce a bbclass to standardize this, with the aim of cleaning up the
DEPLOY_DIR_IMAGE. Crucially, each firmware component deploys into a
${PN} subdirectory of DEPLOY_DIR_IMAGE. This has a few advantages:

 * Many Arm components have the same or similar binary names (BL1, BL2
   etc). This ensures unique naming and avoids confusion.
 * Recipes can afford to be less picky about which binaries are deployed.
   This simplifies component recipes.
 * It is easier to deploy debug symbols in a common way to an expected
   location.
 * It keeps the DEPLOY_DIR_IMAGE clean in the face of ever-increasing
   firmware complexity.

The bbclass also provides a FIRMWARE_DEBUG_BUILD variable to control the
build type of the firmware in one place, defaulting to the global
DEBUG_BUILD. This should allow BSPs in meta-arm-bsp to more easily
provide a release build by default (by providing an easy switch for
development purposes when needed).

Signed-off-by: Peter Hoyes <peter.hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-16 12:42:49 -05:00
Ryan Eatmon 55d3afbd12 arm/trusted-firmware-a: Add TFA_INSTALL_SUFFIX to install targets
There are times where we need to produce multiple versions of the
trusted-firmed binaries in a given build, but the names for the binaries
are hard-coded in the Makefile and do_install().

This patch adds a new variable, TFA_INSTALL_SUFFIX, that is added to
do_install() that can uniquely name the resulting binaries.  By default,
the suffix is empty so that default behavior is not changed.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-16 09:54:00 -05:00
Ross Burton 1589336148 arm/trusted-firmware-m: apply local patches in the git version
When the git version of this recipe was created, the application of local
patches was left out.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-15 14:00:04 -05:00
Jon Mason fd4fa45a08 arm/trusted-firmware-m: update 2.2.x to latest hotfix release
Update TF-M to the latest hotfix release and rebase the Corstone1000
patches, and drop
0008-Platform-Corstone1000-Increase-BL1-size-and-align-bi.patch
0009-Platform-CS1K-Adapt-ADAC-enabled-build-to-the-new-BL.patch
as they are in the TF-Mv2.2.2 release

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-15 10:00:04 -05:00
Jon Mason 6680b3b376 arm/trusted-firmware-m: update 2.1.x to latest hotfix release
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-15 10:00:04 -05:00
Jon Mason 1baab23041 arm-bsp: add git recipe versions
Add git recipe versions that track the latest git versions of u-boot and
the various OP-TEE recipes.  This, in combination with the previously
existing trusted firmware a and m recipes, allows for using the latest
code in platform development and testing (as part of CI).

For CI usage, a KAS yml file has been created to allow for those recipes
to be used, and an entry for fvp-base has been added to the gitlab CI
yml file.

NOTE: the wildcard for corstone1000 u-boot PREFERRED_VERSION was causing
it to pick-up the newest version (and failing to apply the patches).
The wildcard is unnecessary, since it is using a layer supplied package.
So, remove it and everyone is happy.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-10 12:00:04 -05:00
Jon Mason 4a1969f3e5 arm/trusted-firmware-a: update git recipe to v2.14-rc1
Update the TF-A git recipe to the latest tag.  The license SHA needed to
be updated due to adding of some memmap sources from mbed, which are
under the Apache 2.0 license, which is already present in the inc file.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-10 12:00:04 -05:00
Jon Mason 5f8dd8c3e7 arm-bsp/u-boot: update fvp-base patches
u-boot has accepted some of the fvp-base patches.  Take the upstream
versions and rebase the third patch to apply.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-10 12:00:04 -05:00
Hugues KAMBA MPIANA 3752c4e447 arm-bsp/docs:corstone1000: Add Corstone-1000 with Cortex-A320
- Document Corstone‑1000 platform architecture based on the Cortex‑A320 core
- Add test specification and guide for Corstone‑1000 with Cortex‑A320

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
5.3 yocto-5.3
2025-12-08 09:29:46 -05:00
Frazer Carsley 7680400f78 arm-bsp/u-boot:corstone1000: Add Cortex-A320 suppport
Update Corstone-1000 U-Boot device tree for the Cortex-A320 variant
and enable GICv3/GIC-600, while keeping compatibility with the
existing GIC-400 setup. A single DT image now supports either
configuration via Kconfig guards.

**Device-tree updates (Cortex-A320)**

* Map Ethos-U85 NPU registers at `0x1A050000` (16 KiB) and its SRAM at
  `0x02400000` (2 MiB, no-map), plus a 32 MiB DDR carve-out for DMA.
* Add `/ethosu@1a050000` with interrupts, `dma-ranges`, `cs-region`,
  and `ethosu-mem-config` for driver probe.
* Guard the NPU node behind `CONFIG_ETHOS_U85`.
* Add a Cortex-A320 compatible string to the Corstone-1000 DTS
  downstream.

**GICv3/GIC-600 selection**

* Introduce `CONFIG_GIC_V3` to select the new interrupt controller.
* Add a full GICv3/GIC-600 node guarded by `#ifdef CONFIG_GIC_V3`.
* When GICv3 is enabled, set `cpu@1..3` `reg` to `0x100/0x200/0x300`
  (retain `0x1/0x2/0x3` for GIC-400).
* Update the Ethos-U85 interrupt to **SPI 16** to match the interrupt
  map.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00
Michael Safwat 4f82af2fa7 arm-bsp/tf-a:corstone1000: Add Cortex‑A320 support
Enable Trusted Firmware-A for Corstone-1000 platforms with Cortex-A320 and
switch the interrupt controller from GICv2/GIC-400 to GICv3/GIC-600.

**Platform/feature enablement**

* Map Ethos-U85 NPU registers (`0x1A050000`, 16 KiB) and its SRAM region
  (`0x02400000`, 4 MiB) into Normal World
  (`MT_DEVICE | MT_RW | MT_NS` / `MT_MEMORY | MT_RW | MT_NS`).
* Force Cortex-A320 feature selection: enable Armv9 features, disable
  Cortex-A35 errata, and select the `cortexa320` override in
  `trusted-firmware-a-corstone1000.inc`.
* Build TF-A-Tests with `CORSTONE1000_CORTEX_A320=1` to skip non-applicable
  FF-A, PSCI, and CPU-extension tests on Cortex-A320.

**GICv3/GIC-600 transition (A320 builds)**

* Update `plat_my_core_pos()` and `plat_arm_calc_core_pos()` to compute the
  linear core position using the Cortex-A320 MPIDR_EL1 affinity layout.
* Add an A320-specific core-position routine in assembly, guarded by
  `CORSTONE1000_CORTEX_A320`.
* Switch to the GICv3 driver with GIC-600 extensions:
  * Update platform GIC base addresses to the GIC-600 layout.
  * Use GICv3 APIs; set `USE_GIC_DRIVER=3`, `GICV3_SUPPORT_GIC600=1`,
    and `GIC_ENABLE_V4_EXTN=1`.
* Keep conditional GIC versioning so Cortex-A35 continues to use GICv2/GIC-400.

These changes ensure correct GIC configuration and reliable secondary-core
bring-up on Cortex-A320 while preserving existing Cortex-A35 behavior.

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Michael Safwat <michael.safwat@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00
Harsimran Singh Tungal a51ff01b8f arm-bsp/tf-m:corstone1000: Add Cortex-A320 support
Enable full Corstone‑1000 Cortex‑A320 DSU‑120T platform support in TF‑M:

- Reserve a 4 MiB Host SRAM region at 0x0240_0000 for the
Cortex‑A320 normal world and open it in the CVM firewall
(region 2), gated by `CORSTONE1000_CORTEX_A320``.
- Introduce a DSU‑120T Power-Policy Unit driver plus a
`CORSTONE1000_DSU_120T` CMake option to power on the Cortex‑A320
host cluster with proper secure-enclave firewall and memory-map
setup.
- Add a CMake platform define that auto‑activates when the
`cortexa320` machine feature is present, injecting
DSU‑120T‑specific compile definitions.

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00
Hugues KAMBA MPIANA 0faf5c4d37 arm-bsp/optee-os:corstone1000: Add Cortex-A320 support
Update the OP-TEE OS build logic to detect `MACHINE_FEATURES` and
append the appropriate `arm64-platform-cpuarch` value to
`EXTRA_OEMAKE`, instead of hard-coding `cortex-a35`.

This change ensures that when `MACHINE_FEATURES` includes
`cortexa320`, the OP-TEE build receives the matching `core-arch` flag,
while maintaining `cortex-a35` as the default.

The new Corstone-1000 variant with Cortex-A320 replaces the original
GIC-400 (v2) interrupt controller with a GIC-600, which is
architecturally compliant with GICv3. Since OP-TEE already provides
a generic GICv3 driver, only minimal platform changes are needed
to expose the updated register map and initialize the GICv3 interface.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00