Commit graph

2810 commits

Author SHA1 Message Date
Manish Pandey
887e69ee73 Merge "docs: update Cortex-A32 FVP model version" into integration 2024-06-14 16:37:50 +02:00
Olivier Deprez
685d5ee143 docs: update Cortex-A32 FVP model version
Change [1] migrated Cortex-A32 FVP model to the default version used in
the TF-A CI.

[1] https://review.trustedfirmware.org/c/ci/tf-a-ci-scripts/+/29297

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I038087af957d3ee2b289944b4af1a8cffb1ec5ff
2024-06-13 15:56:03 +02:00
Andre Przywara
c4067a9df6 fix(docs): replace "ARM-TF" with "TF-A" in diagrams
Two diagrams in the documentation contained the string "ARM TF", which
is probably a remainder of the older "ARM Trusted Firmware" name.
Replace that with "TF-A", which is now the more widely known name for
Trusted Firmware.
This was done with an image editing program, by just moving the letters
around, as I didn't find any source for that image.

Change-Id: I1fa18341b3aa8fc8c4ecc8988bf4de66e473caa7
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2024-06-13 15:55:42 +02:00
Yann Gautier
a03dafe516 feat(bl): add plat handler for image loading
In case of load error, platform may need to try another instance, either
from another storage, or from the same storage in case of PSA FWU. On
MTD devices such as NAND, it is required to define backup partitions.
A new function plat_setup_try_img_ops() should be called by platform
code to register handlers (plat_try_images_ops) to manage loading
other images.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Change-Id: Ideaecaf296c0037a26fb4e6680f33e507111378a
2024-06-13 11:30:29 +02:00
Yann Gautier
2c303e393b refactor(bl)!: remove unused plat_try_next_boot_source
The plat_try_next_boot_source() API is not used by any upstream platform
and not used by platforms that asked for this API. It is then removed.
It will be replaced with a more generic interface in next patch.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I298c7acace8c5efb3c66422d8d9280ecd08e5ade
2024-06-13 10:48:02 +02:00
Amit Nagal
c97857dba2 feat(versal2): add support for AMD Versal Gen 2 platform
New SoC is a78 based with gicv3 and uart over pl011. Communication
interfaces are similar to Versal NET platform. System starts with AMD PLM
firmware which loads TF-A(bl31) to memory, which is already configured, and
jumps to it. PLM also prepare handoff structure for TF-A with information
what components were load and flags which indicate which EL level SW should
be started.

Change-Id: I5065b1b7ec4ee58e77dc4096747758480c84009c
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-06-10 08:09:49 +02:00
shengfei Xu
9fd9f1d024 feat(rockchip): add RK3566/RK3568 Socs support
RK3566/RK3568 is a Quad-core soc and Cortex-a55 inside.
This patch supports the following functions:
1. basic platform setup
2. power up/off cpus
3. suspend/resume cpus
4. suspend/resume system
5. reset system

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I8b98a4d07664de26bd6078f63664cbc3d9c1c68c
2024-06-07 11:59:46 +02:00
Soby Mathew
20307efa5e Merge "docs(gpt): update GPT library documentation" into integration 2024-06-03 15:26:05 +02:00
AlexeiFedorov
c944952bc3 docs(gpt): update GPT library documentation
This patch updates GPT library design documentation
with the changes introduced by patches which add
support for large GPT mappings and configuration of
memory size protected by bitlock.

Change-Id: I1f97fa8f003deb07a5f32b7237c1927581a788c8
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
2024-06-03 12:13:06 +01:00
Manish V Badarkhe
a13449da37 Merge "feat(stm32mp15): remove OP-TEE shared mem" into integration 2024-06-03 09:50:20 +02:00
Soby Mathew
261edb6a0f Merge changes I710d1780,Ia9a59bde into integration
* changes:
  feat(gpt): configure memory size protected by bitlock
  feat(gpt): add support for large GPT mappings
2024-05-28 12:26:37 +02:00
Yann Gautier
8dd2a64a12 feat(stm32mp15): remove OP-TEE shared mem
The flag STM32MP15_OPTEE_RSV_SHM was disabled and mark deprecated.
Remove the corresponding code.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I948af3e1de4b89815c967a63abe64f285c405ecc
2024-05-23 17:44:16 +02:00
Manish Pandey
f2735ebccf Merge "docs(changelog): changelog for v2.11 release" into integration 2024-05-23 13:51:22 +02:00
Manish V Badarkhe
669e2b159a docs(changelog): changelog for v2.11 release
Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.11.0

Change-Id: I34c7b342549781057da1b18116500f110bc3f5ad
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Signed-off-by: Juan Pablo Conde <JuanPablo.Conde@arm.com>
2024-05-22 19:19:54 -05:00
Manish Pandey
6370f2cbbe Merge changes from topic "hm/rt-instr" into integration
* changes:
  docs(juno): update PSCI instrumentation data
  docs(n1sdp): update N1SDP PSCI instrumentation data
2024-05-22 17:00:03 +02:00
Manish V Badarkhe
b5ead359f3 docs: move DPE option to experimental section
Since DPE support is experimental, move the build option for
the DPE to the experimental section.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I2e18947d37c52a0151b5ac656098dbae51254956
2024-05-22 14:13:50 +01:00
AlexeiFedorov
d766084fc4 feat(gpt): configure memory size protected by bitlock
This patch adds support in GPT library for configuration
of the memory block size protected by one bit of 'bitlock'
structure. Build option 'RME_GPT_BITLOCK_BLOCK' defines the
number of 512MB blocks covered by each bit. This numeric
parameter must be a power of 2 and can take the values from
0 to 512. Setting this value to 0 chooses a single spinlock
for all GPT L1 table entries. The default value is set to 1
which corresponds to 512MB per bit.

Change-Id: I710d178072894a3ef40daebea701f74d19e8a3d7
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
2024-05-22 11:41:00 +01:00
Harrison Mutai
932d6cdb25 docs(juno): update PSCI instrumentation data
Add the latest instrumentation data as of v2.11-rc0, remove data for
v2.9.

Change-Id: I8c055278d732220a9be88978ed63d27e453b7f2f
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-05-21 13:25:16 +00:00
Harrison Mutai
e9c335fbda docs(n1sdp): update N1SDP PSCI instrumentation data
Add data for v2.11 release and remove data from v2.9.

Change-Id: Ic960cece6f27993cefebf483c768967bd6f2cad1
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-05-21 13:25:16 +00:00
Bipin Ravi
3ab6ae4ef4 docs(maintainers): update the maintainer list for LTS
This patch updates the maintainer list for LTS.

Change-Id: I7942288cd79dd163bebd3397bf908bf29906d59e
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
2024-05-16 16:17:35 -05:00
Madhukar Pappireddy
b131a12377 docs(maintainers): add code owners for runtime services module
This patch adds code owners responsible for maintaining source files
related to runtime services functionality in TF-A.

Change-Id: I24fbbfd017f90a4fae2ffbb94c8eb81d0d837f8e
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
017566560e docs(maintainers): add missing header files
Few header files are added to the lists tracking code owners of
various modules in TF-A project.

Also remove drivers/nuvoton directory, which does not exist, from the list
of files maintained by the corresponding owners.

Change-Id: Iad7ce5b1430965237004c9e76e972a3469d20c9d
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
5ecb6bb0bf docs(maintainers): add code owners for context management module
This patch adds code owners responsible for maintaining context
management source files in TF-A.

Change-Id: Idc679a907b8380e81d5fbb129fcb74cea5983c0e
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
4d16bc70bf docs(maintainers): add code owners for runtime exceptions module
This patch adds code owners responsible for maintaining runtime
exceptions and interrupt management modules in TF-A.

Change-Id: Idb131a2af143097e4d05a285e08ef12cd5d3db2a
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
a45f75a6a7 docs(maintainers): add missing files related to SPMD
Few header files are added to the list maintained by SPMD code owners.
Also, added myself as one of the code owners for SPMD module in TF-A.

Change-Id: Ic017cb98013d349702c35837463586d4aae65543
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
46fc25019f docs(maintainers): update missing files related to EL3 SPMC
Few header files are added to the list maintained by EL3 SPMC
code owner.

Also added missing copyright license footer message.

Change-Id: I72afe4c4e1280ef64610a5efe6d1b0e2c9727bb0
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:55:21 -05:00
Olivier Deprez
ed3525e604 docs: remove reference to phabricator pages
Phabricator wiki is deprecated, remove TF-A links to this website.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I1255a1513524504636b9c914f9dacf3c54063196
2024-05-15 14:27:45 +02:00
AlexeiFedorov
ec0088bbab feat(gpt): add support for large GPT mappings
This patch adds support for large GPT mappings using
Contiguous descriptors. The maximum size of supported
contiguous block in MB is defined in RME_GPT_MAX_BLOCK
build parameter and takes values 0, 2, 32 and 512 and
by default set to 2 in make_helpers/defaults.mk.
Setting RME_GPT_MAX_BLOCK value to 0 disables use of
Contiguous descriptors.
Function gpt_tlbi_by_pa_ll() and its declaration
are removed from lib/aarch64/misc_helpers.S and
include/arch/aarch64/arch_helpers.h, because the
GPT library now uses tlbirpalos_xxx() functions.

Change-Id: Ia9a59bde1741c5666b4ca1de9324e6dfd6f734eb
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
2024-05-14 10:36:42 +02:00
Juan Pablo Conde
14c27f8293 build(amu): restrict counters (RAZ)
The use of AMU counters at the highest implemented exception level
can expose information about them to lower exception levels, such as
specific behavior happening in the CPU (e.g.: MPMM gear shifting in
TC2). In order to prevent this, read accesses to AMU counters are
restricted by default, so they are RAZ (read-as-zero) from lower
exception levels from now on.

Change-Id: I660b0928bea3fe09436ad53b0bb43c3067523178
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2024-05-10 13:39:15 -05:00
Govindraj Raja
d963c6bade docs(prerequisites): update mbedtls version used
With Commit@55aed7d798f3d48d6aa08d58eb46c4cda318bcfb
we have now updated to use mbedtls 3.6.0.

Update document to reflect the same.

Change-Id: I6bd8fcca795373a05bc6beb2e085d24fdd14932f
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-10 09:23:30 -05:00
Manish Pandey
23fc05a33d Merge "docs(context-mgmt): add documentation for context management library" into integration 2024-05-10 12:05:07 +02:00
Arvind Ram Prakash
f99a69c386 feat(dsu): save/restore DSU PMU register
Adds driver support to preserve DSU PMU register values over a DSU
power cycle. This driver needs to be enabled by the platforms that
support DSU and also need it's PMU registers to be preserved

Change-Id: I7fc68a3d7d99ee369379aa5cd114fffc763fc0d2
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
2024-05-09 10:20:32 -05:00
Manish Pandey
a97e1f9747 Merge changes from topic "early_console" into integration
* changes:
  feat(stm32mp2): use early traces
  feat(st-bsec): use early traces
  refactor(st): replace STM32MP_EARLY_CONSOLE with EARLY_CONSOLE
  feat(console): introduce EARLY_CONSOLE
  feat(bl32): create an sp_min_setup function
2024-05-08 23:12:11 +02:00
Manish Pandey
4bd1e7bdc6 Merge changes from topic "add_s32g274ardb2_support" into integration
* changes:
  feat(s32g274a): enable BL31 stage
  feat(s32g274a): add S32G274ARDB2 board support
  feat(nxp-drivers): add Linflex driver
2024-05-08 17:16:50 +02:00
Manish Pandey
2ba0c06c65 Merge "docs(maintainers): remove a maintainer for MediaTek SoCs" into integration 2024-05-08 15:47:39 +02:00
Manish V Badarkhe
7d00932771 Merge "docs(fvp): restructure FVP platform documentation" into integration 2024-05-07 19:25:55 +02:00
Jayanth Dodderi Chidanand
4efd219362 docs(context-mgmt): add documentation for context management library
This patch adds some documentation for the context management library.
It mainly covers the design at a higher level, with more focus on
the cold boot and warm boot entries as well as the operations
involved during context switch. Further it also includes a section
on feature enablement for individual world contexts.

Change-Id: I77005730f4df7f183f56a2c6dd04f6362e813c07
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2024-05-07 17:52:14 +01:00
Govindraj Raja
320fb2939b refactor(docs): added versioning to smccc services
With addition of vendor-specific el3 monitor service calls debugfs and
pmf are moved from arm-sip to vendor-specific el3 range.

Going forward any changes to SMCCC services can be captured from docs
file table.

Use one FID allocated per sub-feature to track changes in sub-feature.
Modify top level version only when we break version probing or
discovery.

Change-Id: I14ceeab79f29ae57a5d7c523147f6ecaa5574f79
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Govindraj Raja
42cbefc727 feat((smccc): add version FID for PMF
Introduce a version FID for PMF.

Change-Id: I6b0a7f54aefc2839704e03c5da2243d7c85f8a49
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Govindraj Raja
f7679d437d refactor(smccc): move pmf to vendor el3 calls
Move pmf support to vendor-specific EL3 Monitor Service Calls. Remove
pmf call count as it's not supported in vendor-specific el3 as per
SMCCC Documentation 1.5:
https://developer.arm.com/documentation/den0028/latest

Add a deprecation notice to inform PMF is moved from arm-sip range to
vendor-specific EL3 range. PMF support from arm-sip range will be
removed and will not available after TF-A 2.12 release.

Change-Id: Ie1e14aa601d4fc3db352cd5621d842017a18e9ec
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Govindraj Raja
273b898388 refactor(smccc): move debugfs to vendor el3 calls
Move debugfs to Vendor-Specific EL3 Monitor Service Calls.
Function Identifier for Vendor-Specific EL3 Monitor Service is '7' and
allocated subranges of Function identifiers to different services are:

0x87000000-0x8700FFFF-SMC32: Vendor-Specific EL3 Monitor Service Calls
0xC7000000-0xC700FFFF-SMC64: Vendor-Specific EL3 Monitor Service Calls

Amend Debugfs FID's to use this range and id.

Add a deprecation notice to inform debugfs moved from arm-sip range to
Vendor-Specific EL3 range. Debugfs support from arm-sip range will be
removed and will not be available after TF-A 2.12 release.

Reference to debugfs component level documentation:
https://trustedfirmware-a.readthedocs.io/en/latest/components/debugfs-design.html#overview

Change-Id: I97a50170178f361f70c95ed0049bc4e278de59d7
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Govindraj Raja
de6b79d8b5 feat(smccc): add vendor-specific el3 service
Add support for vendor-specific el3 service. SMCCC 1.5 introduces
support for vendor-specific EL3 monitor calls.

SMCCC Documentation reference:
https://developer.arm.com/docs/den0028/latest

Change-Id: Id8bc43842eecdb7a8a2ec7f31a631e88fe4fe0b4
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Govindraj Raja
be5b1e2234 feat(smccc): add vendor specific el3 id
Add vendor specific el3 function id and update docs for the same.

SMCCC Documentation reference:
https://developer.arm.com/documentation/den0028/latest

Change-Id: Ieeb63608ad74d7b764d7131d8a92ecf10053c50d
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-06 09:42:11 -05:00
Jason Chen
beefea8a0c docs(maintainers): remove a maintainer for MediaTek SoCs
Change-Id: I56649f80de0a02919befcb42e15847ceb37b1308
Signed-off-by: Jason Chen <Jason-ch.Chen@mediatek.com>
2024-04-29 16:18:23 +08:00
Manish V Badarkhe
a1901c7d0d Merge changes from topic "rss_rse_rename" into integration
* changes:
  refactor(changelog): change all occurrences of RSS to RSE
  refactor(qemu): change all occurrences of RSS to RSE
  refactor(fvp): change all occurrences of RSS to RSE
  refactor(fiptool): change all occurrences of RSS to RSE
  refactor(psa): change all occurrences of RSS to RSE
  refactor(fvp): remove leftovers from rss measured boot support
  refactor(tc): change all occurrences of RSS to RSE
  docs: change all occurrences of RSS to RSE
  refactor(measured-boot): change all occurrences of RSS to RSE
  refactor(rse): change all occurrences of RSS to RSE
  refactor(psa): rename all 'rss' files to 'rse'
  refactor(tc): rename all 'rss' files to 'rse'
  docs: rename all 'rss' files to 'rse'
  refactor(measured-boot): rename all 'rss' files to 'rse'
  refactor(rss): rename all 'rss' files to 'rse'
2024-04-26 16:55:04 +02:00
Manish Pandey
f9d40b5c4b Merge changes from topic "hm/handoff" into integration
* changes:
  feat(handoff): add support for RESET_TO_BL2
  feat(arm): support FW handoff b/w BL1 & BL2
  feat(handoff): add TL source files to BL1
  feat(handoff): add TE's for BL1 handoff interface
  refactor(bl1): clean up bl2 layout calculation
  feat(arm): support FW handoff b/w BL2 & BL31
2024-04-26 16:22:38 +02:00
Manish Pandey
97e7cfb83b Merge "refactor(docs): restructure min requirements section" into integration 2024-04-26 15:15:51 +02:00
Harrison Mutai
6a4da29058 refactor(bl1): clean up bl2 layout calculation
Layout calculation is spread out between core BL1 logic and common
platform code. Relocate these into common platform code so they are
organised logically.

Change-Id: I8b05403e41b800957a0367316cecd373d10bb1a4
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-04-26 09:00:12 +00:00
Rohit Mathew
2d7902d9bf feat(docs): update maintainer list for neoverse_rd
Add Rohit.Mathew@arm.com to the maintainer list for Neoverse Reference
Design platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I1b8a5714e2707162dd973d9a50215d0a6b622eb1
2024-04-25 11:43:39 +01:00
Ghennadi Procopciuc
8b81a39e28 feat(s32g274a): add S32G274ARDB2 board support
S32G274ARDB2 is a development board to showcase the capabilities of the
S32G2 SoC. It includes 4 ARM Cortex-A53 cores running at 1.0GHz, 4GBs
of DDR, accelerators for automotive networking and many other
peripherals.

The added support is minimal and only includes the BL2 stage, with no
MMU enabled. The FIP is preloaded by the BootROM in SRAM, and BL2 copies
BL31 and BL33 from FIP to their designated addresses.

Change-Id: Iedda23302768ab70d63787117c5f6f3c21eb9842
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com>
Signed-off-by: Dan Nica <dan.nica@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Bogdan Roman <bogdan-gabriel.roman@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-04-25 11:22:53 +03:00