1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-01-11 15:00:39 +00: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
2025-10-20 12:00:05 -04:00
2025-06-28 11:03:40 -04:00
2024-09-27 11:25:37 -04:00
2023-02-04 04:52:21 -05:00
2019-11-15 11:19:35 -05:00

Introduction

This repository contains the Arm layers for OpenEmbedded.

  • meta-arm

    This layer contains general recipes for the Arm architecture, such as firmware, FVPs, and Arm-specific integration.

  • meta-arm-bsp

    This layer contains machines for Arm reference platforms, for example FVP Base, Corstone1000, and Juno.

  • meta-arm-toolchain

    This layer contains recipes for Arm's binary toolchains (GCC and Clang for -A and -M), and a recipe to build Arm's GCC.

Other Directories

  • ci

    This directory contains gitlab continuous integration configuration files (KAS yaml files) as well as scripts needed for this.

  • documentation

    This directory contains information on the files in this repository, building, and other relevant documents.

  • kas

    This directory contains KAS yaml files to describe builds for systems not used in CI.

  • scripts

    This directory contains scripts used in running the CI tests.

Mailing List

To interact with the meta-arm developer community, please email the meta-arm mailing list at meta-arm@lists.yoctoproject.org. Currently, it is configured to only allow emails to members from those subscribed. To subscribe to the meta-arm mailing list, please go to https://lists.yoctoproject.org/g/meta-arm

Contributing

Currently, we only accept patches from the meta-arm mailing list. For general information on how to submit a patch, please read https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

E-mail meta-arm@lists.yoctoproject.org with patches created using this process. You can configure git-send-email to automatically use this address for the meta-arm repository with the following git command:

$ git config --local --add sendemail.to meta-arm@lists.yoctoproject.org

Commits and patches added should follow the OpenEmbedded patch guidelines:

https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines

The component being changed in the shortlog should be prefixed with the layer name (without the meta- prefix), for example:

arm-bsp/trusted-firmware-a: decrease frobbing level

arm-toolchain/gcc: enable foobar v2

All contributions are under the MIT License.

For a quick start guide on how to build and use meta-arm, go to quick-start.md.

For information on the continuous integration done on meta-arm and how to use it, go to continuous-integration-and-kas.md.

Backporting

Backporting patches to older releases may be done upon request, but only after a version of the patch has been accepted into the master branch. This is done by adding the branch name to email subject line. This should be between the square brackets (e.g., "[" and "]"), and before or after the "PATCH". For example,

[nanbield PATCH] arm/linux-yocto: backport patch to fix 6.5.13 networking issues

Automatic backporting will be done to all branches if the "Fixes: " wording is added to the patch commit message. This is similar to how the Linux kernel community does their LTS kernel backporting. For more information see the "Fixes" portion of https://www.kernel.org/doc/html/latest/process/submitting-patches.html#submittingpatches

Releases and Release Schedule

We follow the Yocto Project release methodology, schedule, and stable/LTS support timelines. For more information on these, please reference:

For more in-depth information on the meta-arm release and branch methodology, go to </documentation/releases.md>.

Reporting bugs

E-mail meta-arm@lists.yoctoproject.org with the error encountered and the steps to reproduce the issue.

Security and Reporting Security Issues

For information on the security of meta-arm and how to report issues, please consult SECURITY.md.

Maintainer(s)

Description
No description provided
Readme 10 MiB
Languages
BitBake 68.9%
Python 24.2%
HTML 2%
Shell 1.8%
Jinja 1.4%
Other 1.7%