Skip to content

[zep fromtree] plat: corstone1000: Add support for Cortex-A320 variant#172

Merged
tomi-font merged 1 commit intozephyrproject-rtos:zephyr_tf-m_v2.2.2from
npitre:corstone1000-a320-dsu120t
Feb 27, 2026
Merged

[zep fromtree] plat: corstone1000: Add support for Cortex-A320 variant#172
tomi-font merged 1 commit intozephyrproject-rtos:zephyr_tf-m_v2.2.2from
npitre:corstone1000-a320-dsu120t

Conversation

@npitre
Copy link

@npitre npitre commented Feb 16, 2026

Summary

Cherry-pick of upstream TF-M commit 991c6eb
to the Zephyr mirror.

This adds:

  • DSU-120T Power-Policy Unit (PPU) driver for Cortex-A320 host power-on
  • Host SRAM allocation for the Cortex-A320 normal world
  • New CMake options CORSTONE1000_DSU_120T and CORSTONE1000_CORTEX_A320

Required by the Zephyr Corstone-1000-A320 FVP board support:
zephyrproject-rtos/zephyr#104035

Upstream reference

Cherry-picked cleanly onto zephyr_tf-m_v2.2.2 (no conflicts).

npitre pushed a commit to npitre/zephyr that referenced this pull request Feb 16, 2026
TF-A: switch to upstream ARM-software/arm-trusted-firmware

  The Zephyr mirror (zephyrproject-rtos/trusted-firmware-a @ 0a29cac8f)
  tracks an older TF-A release that predates Corstone-1000 Cortex-A320
  support. Switch to the upstream repository which includes:

  - 25148ce39d76 ("feat(corstone-1000): add Cortex-A320 support")
    Adds Cortex-A320 CPU library, DSU-120T cluster configuration,
    and FVP platform definitions.

  - 98c651652021 ("chore: rename arcadia to Cortex-A320")
    Renames internal "arcadia" references to "Cortex-A320".

  The selected revision (25148ce39d76) is the most recent commit
  touching the Corstone-1000 A320 platform files on upstream master.

TF-M: add west patch for A320 support on existing mirror pin

  The Zephyr mirror (zephyrproject-rtos/tf-m @ 6788687e0, branch
  zephyr_tf-m_v2.2.2) carries [zep noup] integration patches for
  picolibc, DWARF format, and toolchain setup that are not present
  in upstream TF-M. Switching to upstream would break the Zephyr
  build, so the mirror pin is kept and a patch is applied via
  Zephyr's west patch mechanism (zephyr/patches.yml):

  991c6ebc3812 ("plat: corstone1000: Add support for Cortex-A320 variant")
    Author: Harsimran Singh Tungal
    Review: https://review.trustedfirmware.org/c/TF-M/
            trusted-firmware-m/+/45749
    Adds the DSU-120T PPU driver required to power on the
    Cortex-A320 host CPU on the Corstone-1000-A320 FVP.
    Already on upstream TF-M main but not yet cherry-picked
    to the Zephyr mirror.

  This patch will become unnecessary once the Zephyr TF-M mirror
  picks up the corresponding upstream change. A cherry-pick PR has
  been submitted: zephyrproject-rtos/trusted-firmware-m#172

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Copy link
Collaborator

@tomi-font tomi-font left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to add a link to the upstream change request (can be found with the Change-Id, but more importantly please cherry-pick the commit with -x.

Add support for powering on the Cortex-A320 host in the DSU-120T
cluster and reserve Host SRAM for the normal world on the
Corstone-1000 platform. These changes enable secure-enclave firmware
control of the Cortex-A320 power domain and memory access
configuration.

**DSU-120T Power-Policy Unit (PPU) driver**

* Introduce a minimal driver to program the DSU-120T Power-Policy
  Units, allowing the secure-enclave firmware to bring the
  Cortex-A320 host cluster out of reset.
* The DSU utility-bus registers are located at:
  * `0x6091_0000` in the Host memory map.
  * `0xC091_0000` in the Secure-Enclave memory map.
* The FC1 firewall is configured so that only the Secure Enclave may
  write to this window.
* Add new CMake option `CORSTONE1000_DSU_120T` and platform define to
  enable Cortex-A320 DSU-120T–specific code.

**Host SRAM allocation**

* Reserve a 4 MiB block of Host SRAM at `0x0240_0000` for the
  Cortex-A320 normal world.
* Open the same region in the Host-side firewall (CVM, region 2)
  to allow non-secure access.
* This configuration is compiled in when `CORSTONE1000_CORTEX_A320`
  is defined.

These updates prepare the Corstone-1000 platform for Cortex-A320
integration with proper cluster power management and normal-world
memory accessibility.

Change-Id: Iad060ace6a8d08ee19df8851f6af7c43b5e0b255
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
(cherry picked from commit 991c6eb)
@npitre npitre force-pushed the corstone1000-a320-dsu120t branch from 1a8e73b to 220104b Compare February 17, 2026 17:41
@npitre npitre requested a review from tomi-font February 17, 2026 17:48
npitre pushed a commit to npitre/zephyr that referenced this pull request Feb 17, 2026
TF-A: switch to upstream ARM-software/arm-trusted-firmware

  The Zephyr mirror (zephyrproject-rtos/trusted-firmware-a @ 0a29cac8f)
  tracks an older TF-A release that predates Corstone-1000 Cortex-A320
  support. Switch to the upstream repository which includes:

  - 25148ce39d76 ("feat(corstone-1000): add Cortex-A320 support")
    Adds Cortex-A320 CPU library, DSU-120T cluster configuration,
    and FVP platform definitions.

  - 98c651652021 ("chore: rename arcadia to Cortex-A320")
    Renames internal "arcadia" references to "Cortex-A320".

  The selected revision (25148ce39d76) is the most recent commit
  touching the Corstone-1000 A320 platform files on upstream master.

TF-M: add west patch for A320 support on existing mirror pin

  The Zephyr mirror (zephyrproject-rtos/tf-m @ 6788687e0, branch
  zephyr_tf-m_v2.2.2) carries [zep noup] integration patches for
  picolibc, DWARF format, and toolchain setup that are not present
  in upstream TF-M. Switching to upstream would break the Zephyr
  build, so the mirror pin is kept and a patch is applied via
  Zephyr's west patch mechanism (zephyr/patches.yml):

  991c6ebc3812 ("plat: corstone1000: Add support for Cortex-A320 variant")
    Author: Harsimran Singh Tungal
    Review: https://review.trustedfirmware.org/c/TF-M/
            trusted-firmware-m/+/45749
    Adds the DSU-120T PPU driver required to power on the
    Cortex-A320 host CPU on the Corstone-1000-A320 FVP.
    Already on upstream TF-M main but not yet cherry-picked
    to the Zephyr mirror.

  This patch will become unnecessary once the Zephyr TF-M mirror
  picks up the corresponding upstream change. A cherry-pick PR has
  been submitted: zephyrproject-rtos/trusted-firmware-m#172

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
npitre pushed a commit to npitre/zephyr that referenced this pull request Feb 19, 2026
Add west patches for external modules not yet updated in their
Zephyr mirrors:

- TF-M: DSU-120T PPU driver
  PR: zephyrproject-rtos/trusted-firmware-m#172

- TF-A: Cortex-A320 support (GICv3, MPIDR layout,
  Ethos-U85/SRAM mappings, multicore hold pen)
  PR: zephyrproject-rtos/trusted-firmware-a#8

- TF-A: Secondary core hold pen cache coherency fix
  (pending upstream)

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
@wearyzen wearyzen self-requested a review February 23, 2026 17:54
@wearyzen
Copy link
Collaborator

For TF-M and TF-A the steps to get an MR merged are:

npitre pushed a commit to npitre/zephyr that referenced this pull request Feb 23, 2026
Point west.yml TF-M and TF-A revisions to their respective Zephyr
mirror PRs that add Cortex-A320 support:

- TF-M: DSU-120T PPU driver for Cortex-A320 host power-on
  PR: zephyrproject-rtos/trusted-firmware-m#172

- TF-A: Cortex-A320 support (GICv3, MPIDR layout,
  Ethos-U85/SRAM mappings, multicore hold pen)
  PR: zephyrproject-rtos/trusted-firmware-a#8

Add west patch for TF-A secondary core hold pen cache coherency fix
(pending upstream review):
  https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/48505

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
@npitre
Copy link
Author

npitre commented Feb 23, 2026

Thanks for the instructions @wearyzen. I've updated the Zephyr PR (zephyrproject-rtos/zephyr#104035) to point west.yml at pull/172/head for TF-M and pull/8/head for TF-A. CI is now all green (only the expected "Prevent Merging" due to the DNM manifest label).

@wearyzen
Copy link
Collaborator

@tomi-font the CI on zephyrproject-rtos/zephyr#104035 is green and show Corstone-1000-A320 tests as passed so could we merge this PR?

@tomi-font tomi-font merged commit 27023e9 into zephyrproject-rtos:zephyr_tf-m_v2.2.2 Feb 27, 2026
npitre pushed a commit to npitre/zephyr that referenced this pull request Feb 27, 2026
Point west.yml TF-M and TF-A revisions to add Cortex-A320 support:

- TF-M: DSU-120T PPU driver for Cortex-A320 host power-on (merged)
  zephyrproject-rtos/trusted-firmware-m#172

- TF-A: Cortex-A320 support (GICv3, MPIDR layout,
  Ethos-U85/SRAM mappings, multicore hold pen)
  PR: zephyrproject-rtos/trusted-firmware-a#8

Add west patch for TF-A generic hold pen with cache coherency fix
(upstream review):
  https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/48636
  https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/48505
  https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/48637
  https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/48638

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants