Commit graph

11359 commits

Author SHA1 Message Date
Andre Przywara
5016ee44a7 fix(morello): dts: fix SMMU IRQ ordering
The official SMMUv3 DT bindings require a certain order of the
interrupts, Linux' "make dtbs_check" reports:
============
.../morello-soc.dt.yaml: iommu@4f400000: interrupt-names: 'oneOf' conditional failed, one must be fixed:
        ['eventq', 'priq', 'cmdq-sync', 'gerror'] is too long
        'combined' was expected
        'gerror' was expected
        'priq' was expected
        'cmdq-sync' was expected
        From schema: Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml
============

Swap the order of the interrupt-names and their corresponding interrupts
values to improve bindings compliance.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I2110b8509593a4f1aadff11bd518ec4a0f3f5d3c
2022-07-19 11:45:10 +01:00
Andre Przywara
30df8904d0 fix(morello): dts: add model names
The core root node DT bindings require every DT to have a "model"
property. Linux' "make dtbs_check" reports:
============
.../morello-soc.dt.yaml: /: 'model' is a required property
     From schema: dt-schema.git/dtschema/schemas/root-node.yaml
============

Add a model name to both the SoC and FVP files to improve bindings
compliance.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I64923edb947f8939dfa24c13a37996b1ba34ea54
2022-07-19 11:45:05 +01:00
Olivier Deprez
a20256034e Merge "fix(mt8186): move SSPM base register definition to platform_def.h" into integration 2022-07-19 10:30:30 +02:00
Yidi Lin
2a2b51d8f7 fix(mt8186): move SSPM base register definition to platform_def.h
- move base register definition to platform_def.h for maintenance.
- SSPM_MBOX_3_BASE is redefined, use SSPM_MBOX_BASE instead.

Signed-off-by: Yidi Lin <yidilin@chromium.org>
Change-Id: Ibb0291ce7b7426068392e90bd70f29d1a90d5297
2022-07-19 15:56:19 +08:00
Manish V Badarkhe
37d87416aa Merge "refactor(fvp): add missing header guard in fvp_critical_data.h" into integration 2022-07-18 19:57:09 +02:00
Sandrine Bailleux
8dc7645c56 refactor(fvp): add missing header guard in fvp_critical_data.h
Change-Id: If7d1a9dd756164c8e31e29d9e36973f1a21fc8b6
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2022-07-18 12:59:05 +02:00
Manish V Badarkhe
645557cde7 Merge "docs(security): update info on use of OpenSSL 3.0" into integration 2022-07-18 10:22:45 +02:00
Juan Pablo Conde
8caf10acab docs(security): update info on use of OpenSSL 3.0
OpenSSL 3.0 is a pre-requisite since v2.7 and can be installed
on the operating system by updating the previous version.
However, this may not be convenient for everyone, as some may
want to keep their previous versions of OpenSSL.

This update on the docs shows that there is an alternative to
install OpenSSL on the system by using a local build of
OpenSSL 3.0 and pointing both the build and run commands to
that build.

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: Ib9ad9ee5c333f7b04e2747ae02433aa66e6397f3
2022-07-15 18:09:18 -04:00
Manish V Badarkhe
58d64ea06a Merge "feat(tc): move start address for BL1 to 0x1000" into integration 2022-07-15 17:11:55 +02:00
Anders Dellien
9335c28a01 feat(tc): move start address for BL1 to 0x1000
Locate BL1 at 0x1000 to compensate for the MCUBoot
header size.

Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: I30a5ccf8212786479bff8286f3d0abb9dec4b7d0
2022-07-15 17:05:19 +02:00
Sandrine Bailleux
e905f23620 Merge "docs: re-parent BL2 platform hooks for measured boot" into integration 2022-07-15 07:26:10 +02:00
Madhukar Pappireddy
abe9b53871 Merge "fix(errata): workaround for Cortex-A78C 2132064" into integration 2022-07-15 00:09:24 +02:00
laurenw-arm
8008babd58 fix(errata): workaround for Cortex-A78C 2132064
Cortex-A78C erratum 2132064 is a cat B erratum that applies to revisions
r0p1 and r0p2 and is still open.

This patch implements workaround option 2 that places the data
prefetcher in the most conservative mode to greatly reduce prefetches
by writing the following bits to the value indicated:
ecltr[7:6], PF_MODE = 2'b11

SDEN can be found here:
https://developer.arm.com/documentation/SDEN2004089/latest

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: Ica2561c1e257643c2482085447ef852fa62a1eb2
2022-07-13 12:54:39 -05:00
Sandrine Bailleux
a0915ba436 docs: re-parent BL2 platform hooks for measured boot
bl2_plat_mboot_init/finish() functions documentation was incorrectly
hooked up to BL2U-specific section.

Change-Id: I758cb8142e992b0c85ee36d5671fc9ecd5bde29b
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2022-07-13 10:07:54 +02:00
Manish Pandey
6367d196aa Merge "build(changelog): add stm32mp13 and stm32mp15 fdts scopes" into integration 2022-07-12 16:57:17 +02:00
Madhukar Pappireddy
af757e4017 Merge "fix(ufs): removes dp and run-stop polling loops" into integration 2022-07-12 15:03:44 +02:00
anans
660c208d9b fix(ufs): removes dp and run-stop polling loops
These polling loops are not required according to the spec

Signed-off-by: anans <anans@google.com>
Change-Id: I50d832ba495f30cc7a0553c84e58b747d51e0a4e
2022-07-12 08:59:18 +00:00
Venkatesh Yadav Abbarapu
205c7ad4cd feat(versal): get the handoff params using IPI
Use the IPI command GET_HANDOFF_PARAM to get the TF-A handoff
params, rather than using the PLM's PPU RAM area. With this
approach this resolves the issue when XPPU is enabled.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: I6828c391ad696d2d36e994684aa21b023711ba2d
2022-07-12 09:22:50 +05:30
Venkatesh Yadav Abbarapu
237a7de149 refactor(xilinx): move the atf handoff structure
Move the ATF handoff structure from the plat_startup.c to the
header file plat_startup.h, as these can be used by the platform code.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ifb425d444eb65fe8648952d2ff64d4e92c2b340a
2022-07-12 09:21:56 +05:30
Venkatesh Yadav Abbarapu
7e5f0abf9a refactor(versal): move payload and module ID macros
Move the payload and  module ID macros from the pm_api_sys.c file and
add it in the header file, as these macros can be used other than PM.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: I678444b79ac3799a82bd93915e4639b3babf5fb9
2022-07-12 09:21:11 +05:30
Manish Pandey
f341c10e20 Merge changes Ie650728a,Ie2736ef4 into integration
* changes:
  refactor(stm32mp1-fdts): add missing spaces for consistent codestyle
  refactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM
2022-07-11 13:08:18 +02:00
Manish V Badarkhe
5726fb77b8 Merge "docs(prerequisites): fix "Build Host" title" into integration 2022-07-11 11:33:30 +02:00
Sandrine Bailleux
4a1bcd5071 docs(prerequisites): fix "Build Host" title
Add an empty line just before the "Build Host" title.

Without this, the title is not properly recognized, it does not get
added to the table of contents and the underlining characters appear
as dashes, as can be seen here:

https://trustedfirmware-a.readthedocs.io/en/v2.7/getting_started/prerequisites.html#prerequisites

Change-Id: Ia89cf3de0588495cbe64b0247dc860619f5ea6a8
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2022-07-11 10:57:23 +02:00
Bipin Ravi
994e1cfd6d Merge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration 2022-07-08 19:25:50 +02:00
Bipin Ravi
fab7a17d42 Merge "feat(cpus): add a64fx cpu to tf-a" into integration 2022-07-08 19:21:11 +02:00
Mark Brown
bebcf27f1c feat(sve): support full SVE vector length
Currently the SVE code hard codes a maximum vector length of 512 bits
when configuring SVE rather than the architecture supported maximum.
While this is fine for current physical implementations the architecture
allows for vector lengths up to 2048 bits and emulated implementations
generally allow any length up to this maximum.

Since there may be system specific reasons to limit the maximum vector
length make the limit configurable, defaulting to the architecture
maximum. The default should be suitable for most implementations since
the hardware will limit the actual vector length selected to what is
physically supported in the system.

Signed-off-by: Mark Brown <broonie@kernel.org>
Change-Id: I22c32c98a81c0cf9562411189d8a610a5b61ca12
2022-07-08 17:17:11 +01:00
Yann Gautier
3e35da97fc build(changelog): add stm32mp13 and stm32mp15 fdts scopes
Some fdts changes in STM32MP1 family can be dedicated to one SoC,
STM32MP13 or STM32MP15. Add the dedicated scopes.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I2d64244054251c1f89dfe1ebbf6ce9dac21d47b6
2022-07-08 17:01:33 +02:00
Madhukar Pappireddy
0cb8dd7a61 Merge changes Iec22dcab,Ib88b4b5d,I50cd6b82,If1167785,I9b3a08ef, ... into integration
* changes:
  feat(imx8m): keep pu domains in default state during boot stage
  feat(imx8m): add the PU power domain support on imx8mm/mn
  feat(imx8m): add the anamix pll override setting
  feat(imx8m): add the ddr frequency change support for imx8m family
  feat(imx8mn): enable dram retention suuport on imx8mn
  feat(imx8mm): enable dram retention suuport on imx8mm
  feat(imx8m): add dram retention flow for imx8m family
2022-07-08 15:40:59 +02:00
Johann Neuhauser
119e1c42a1 refactor(stm32mp1-fdts): add missing spaces for consistent codestyle
Change-Id: Ie650728a0c671f553679b050afd969ce604ca111
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
2022-07-08 15:26:47 +02:00
Johann Neuhauser
27997113fb refactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM
Change-Id: Ie2736ef4c463c51d109c13e59f541fe65039d7c6
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
2022-07-08 15:26:41 +02:00
Manish Pandey
275353dc53 Merge "feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board" into integration 2022-07-08 14:48:18 +02:00
Johann Neuhauser
eef485abb1 feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board
This is an SoM in SODIMM-200 format on an evaluation board called
"DHCOM Premium Developer Kit #2" (DHCOM PDK2 for short). The SoM features an
STM32MP157C SoC with 1 GB DDR3, 8 GB eMMC, microSD and 2 MB SPI flash.
The baseboard has multiple UART, USB, SPI, and I2C ports/headers and several
other interfaces that are not important for TF-A.

These dts(i) files are based on DHCOM dt's from Linux 5.16 and U-Boot 2022.01.
The DRAM calibration values are taken from U-Boot 2022.01 and are optimized for
industrial temperature range above 85° C.

TF-A on this board was fully tested with the latest OP-TEE developer setup.

Change-Id: I696c01742954d761fbad312cd1059e3ab01fa93c
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
2022-07-08 13:52:40 +02:00
Manish Pandey
a4a36421df Merge "feat(libfdt): add function to set MAC addresses" into integration 2022-07-08 13:29:58 +02:00
Bipin Ravi
a1a2b6d1e2 Merge "refactor(arm): add debug logs to show the reason behind skipping firmware config loading" into integration 2022-07-07 23:45:38 +02:00
Manish V Badarkhe
6f60e94e0a refactor(arm): add debug logs to show the reason behind skipping firmware config loading
Added debug logs to show the reason behind skipping firmware
configuration loading, and also a few debug strings were corrected.
Additionally, a panic will be triggered if the configuration sanity
fails.

Change-Id: I6bbd67b72801e178a14cbe677a8831b25a907d0c
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2022-07-07 19:07:21 +02:00
Rohit Ner
28645ebd70 fix(ufs): add retries to ufs_read_capacity
This change replaces the polling loop with fixed number of retries,
returns error values and handles them in ufs_enum.

Signed-off-by: Rohit Ner <rohitner@google.com>
Change-Id: Ia769ef26703c7525091e55ff46aaae4637db933c
2022-07-07 07:14:33 -07:00
Daniel Boulby
884d515625 fix(cpus): workaround for Neoverse-N2 erratum 2388450
Neoverse-N2 erratum 2388450 is a cat B erratum that applies to
revision r0p0 and is fixed in r0p1. The workaround is to set
bit[40] of CPUACTLR2_EL1 to disable folding of demand requests into
older prefetches with L2 miss requests outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1982442/latest

Change-Id: I6dd949c79cea8dbad322e569aa5de86cf8cf9639
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
2022-07-07 15:05:15 +01:00
Manish V Badarkhe
92eba8665a Merge "fix(morello): move BL31 to run from DRAM space" into integration 2022-07-07 15:28:13 +02:00
Manish V Badarkhe
c8d6e581fa Merge changes from topic "sgi-updates-jul-2022" into integration
* changes:
  feat(sgi): bump bl1 rw size
  refactor(sgi): rewrite address space size definitions
2022-07-07 12:38:56 +02:00
Joanna Farley
89666eb302 Merge "feat(zynqmp): resolve the misra 10.1 warnings" into integration 2022-07-07 12:22:19 +02:00
Vijayenthiran Subramaniam
94df8da3ab feat(sgi): bump bl1 rw size
Increase BL1 RW size by 16 KiB to accommodate for future development.

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Change-Id: I21626a97de4a6c98c25b93b9f79e16325c6e4349
2022-07-07 15:40:22 +05:30
Vijayenthiran Subramaniam
1d74b4bbba refactor(sgi): rewrite address space size definitions
The value of the macro CSS_SGI_REMOTE_CHIP_MEM_OFFSET can be different
across all the Neoverse reference design platforms. This value depends
on the number of address bits used per chip. So let all platforms define
CSS_SGI_ADDR_BITS_PER_CHIP which specifies the number of address bits
used per chip.

In addition to this, reuse the definition of CSS_SGI_ADDR_BITS_PER_CHIP
for single chip platforms and CSS_SGI_REMOTE_CHIP_MEM_OFFSET for multi-
chip platforms to determine the maximum address space size. Also,
increase the RD-N2 multi-chip address space per chip from 4TB to 64TB.

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Change-Id: If5e69ec26c2389304c71911729d4addbdf8b2686
2022-07-07 15:40:17 +05:30
Manoj Kumar
05330a49cd fix(morello): move BL31 to run from DRAM space
The EL3 runtime firmware has been running from internal trusted
SRAM space on the Morello platform. Due to unavailability of tag
support for the internal trusted SRAM this becomes a problem if
we enable capability pointers in BL31.

To support capability pointers in BL31 it has to be run from the
main DDR memory space. This patch updates the Morello platform
configuration such that BL31 is loaded and run from DDR space.

Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
Change-Id: I16d4d757fb6f58c364f5133236d50fc06845e0b4
2022-07-07 10:53:37 +01:00
Manish Pandey
f9bebcef24 Merge "fix(rme): xlat table setup fails for bl2" into integration 2022-07-07 11:38:37 +02:00
Soby Mathew
e516ba6de5 fix(rme): xlat table setup fails for bl2
The patch 8c980a4 created a 4KB shared region from the 32MB
Realm region for RMM-EL3 communication. But this meant that BL2
needs to map a region of 32MB - 4KB, which required more xlat
tables at runtime. This patch maps the entire 32MB region in BL2
which is more memory efficient in terms of xlat tables needed.

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: I17aa27545293d7b5bbec1c9132ea2c22bf2e7e65
2022-07-07 10:35:50 +02:00
Venkatesh Yadav Abbarapu
bfd7c88190 feat(zynqmp): resolve the misra 10.1 warnings
MISRA Violation: MISRA-C:2012 R.10.1
1) The expression of non-boolean essential type is being interpreted as a
boolean value for the operator.
2) The operand to the operator does not have an essentially unsigned type.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I97bbc056f4fee167742429e144144ba793bf77b3
2022-07-07 10:20:48 +02:00
Itaru Kitayama
74ec90e69b feat(cpus): add a64fx cpu to tf-a
while sbsa maintainers upstream decide whether new cpus types
should be in, add fujitsu a64fx cpu type in advance

Signed-off-by: Itaru Kitayama <itaru.kitayama@fujitsu.com>
Change-Id: I521a62f1233f3fe6e92f040edaff2cc60a1bd874
2022-07-07 07:17:25 +09:00
Manish Pandey
4ee3a974a6 Merge changes from topic "st_fix_stm32mp13" into integration
* changes:
  fix(stm32mp13): correct USART addresses
  feat(stm32mp13): change BL33 memory mapping
2022-07-06 16:08:27 +02:00
Olivier Deprez
303c52a742 Merge "docs(rmmd): add myself as RMMD and RME owner" into integration 2022-07-06 08:47:26 +02:00
Javier Almansa Sobrino
7e06575b77 docs(rmmd): add myself as RMMD and RME owner
Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I93f5e622e37f3156bd5326b7d3a3d0d7f73b2c2e
2022-07-05 17:43:34 +01:00