]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofeat(versal): resolve the misra 10.1 warnings
Venkatesh Yadav Abbarapu [Wed, 20 Jul 2022 03:33:22 +0000 (09:03 +0530)]
feat(versal): resolve the misra 10.1 warnings

MISRA Violation: MISRA-C:2012 R.10.1
-The operand to the operator does not have an essentially unsigned type.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I9cde2f1ebceaad8a41c69489ef1d2e6f21f04ed1

3 years agoMerge "feat(versal): get the handoff params using IPI" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:46 +0000 (15:20 +0200)]
Merge "feat(versal): get the handoff params using IPI" into integration

3 years agoMerge "refactor(xilinx): move the atf handoff structure" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:41 +0000 (15:20 +0200)]
Merge "refactor(xilinx): move the atf handoff structure" into integration

3 years agoMerge "refactor(versal): move payload and module ID macros" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:33 +0000 (15:20 +0200)]
Merge "refactor(versal): move payload and module ID macros" into integration

3 years agoMerge "fix(mt8186): move SSPM base register definition to platform_def.h" into integr...
Olivier Deprez [Tue, 19 Jul 2022 08:30:30 +0000 (10:30 +0200)]
Merge "fix(mt8186): move SSPM base register definition to platform_def.h" into integration

3 years agofix(mt8186): move SSPM base register definition to platform_def.h
Yidi Lin [Fri, 8 Jul 2022 08:16:09 +0000 (16:16 +0800)]
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

3 years agoMerge "refactor(fvp): add missing header guard in fvp_critical_data.h" into integration
Manish V Badarkhe [Mon, 18 Jul 2022 17:57:09 +0000 (19:57 +0200)]
Merge "refactor(fvp): add missing header guard in fvp_critical_data.h" into integration

3 years agorefactor(fvp): add missing header guard in fvp_critical_data.h
Sandrine Bailleux [Mon, 18 Jul 2022 10:58:59 +0000 (12:58 +0200)]
refactor(fvp): add missing header guard in fvp_critical_data.h

Change-Id: If7d1a9dd756164c8e31e29d9e36973f1a21fc8b6
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agoMerge "docs(security): update info on use of OpenSSL 3.0" into integration
Manish V Badarkhe [Mon, 18 Jul 2022 08:22:45 +0000 (10:22 +0200)]
Merge "docs(security): update info on use of OpenSSL 3.0" into integration

3 years agodocs(security): update info on use of OpenSSL 3.0
Juan Pablo Conde [Tue, 28 Jun 2022 20:56:32 +0000 (16:56 -0400)]
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

3 years agoMerge "feat(tc): move start address for BL1 to 0x1000" into integration
Manish V Badarkhe [Fri, 15 Jul 2022 15:11:55 +0000 (17:11 +0200)]
Merge "feat(tc): move start address for BL1 to 0x1000" into integration

3 years agofeat(tc): move start address for BL1 to 0x1000
Anders Dellien [Wed, 13 Apr 2022 10:02:14 +0000 (11:02 +0100)]
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

3 years agoMerge "docs: re-parent BL2 platform hooks for measured boot" into integration
Sandrine Bailleux [Fri, 15 Jul 2022 05:26:10 +0000 (07:26 +0200)]
Merge "docs: re-parent BL2 platform hooks for measured boot" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A78C 2132064" into integration
Madhukar Pappireddy [Thu, 14 Jul 2022 22:09:24 +0000 (00:09 +0200)]
Merge "fix(errata): workaround for Cortex-A78C 2132064" into integration

3 years agofix(errata): workaround for Cortex-A78C 2132064
laurenw-arm [Tue, 12 Jul 2022 15:43:52 +0000 (10:43 -0500)]
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

3 years agodocs: re-parent BL2 platform hooks for measured boot
Sandrine Bailleux [Wed, 13 Jul 2022 08:07:54 +0000 (10:07 +0200)]
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>
3 years agoMerge "build(changelog): add stm32mp13 and stm32mp15 fdts scopes" into integration
Manish Pandey [Tue, 12 Jul 2022 14:57:17 +0000 (16:57 +0200)]
Merge "build(changelog): add stm32mp13 and stm32mp15 fdts scopes" into integration

3 years agoMerge "fix(ufs): removes dp and run-stop polling loops" into integration
Madhukar Pappireddy [Tue, 12 Jul 2022 13:03:44 +0000 (15:03 +0200)]
Merge "fix(ufs): removes dp and run-stop polling loops" into integration

3 years agofix(ufs): removes dp and run-stop polling loops
anans [Tue, 12 Jul 2022 08:48:29 +0000 (08:48 +0000)]
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

3 years agofeat(versal): get the handoff params using IPI
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:49:03 +0000 (09:19 +0530)]
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

3 years agorefactor(xilinx): move the atf handoff structure
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:41:23 +0000 (09:11 +0530)]
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

3 years agorefactor(versal): move payload and module ID macros
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:36:01 +0000 (09:06 +0530)]
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

3 years agoMerge changes Ie650728a,Ie2736ef4 into integration
Manish Pandey [Mon, 11 Jul 2022 11:08:18 +0000 (13:08 +0200)]
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

3 years agoMerge "docs(prerequisites): fix "Build Host" title" into integration
Manish V Badarkhe [Mon, 11 Jul 2022 09:33:30 +0000 (11:33 +0200)]
Merge "docs(prerequisites): fix "Build Host" title" into integration

3 years agodocs(prerequisites): fix "Build Host" title
Sandrine Bailleux [Mon, 11 Jul 2022 08:53:42 +0000 (10:53 +0200)]
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>
3 years agoMerge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration
Bipin Ravi [Fri, 8 Jul 2022 17:25:50 +0000 (19:25 +0200)]
Merge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration

3 years agoMerge "feat(cpus): add a64fx cpu to tf-a" into integration
Bipin Ravi [Fri, 8 Jul 2022 17:21:11 +0000 (19:21 +0200)]
Merge "feat(cpus): add a64fx cpu to tf-a" into integration

3 years agobuild(changelog): add stm32mp13 and stm32mp15 fdts scopes
Yann Gautier [Fri, 8 Jul 2022 13:55:14 +0000 (15:55 +0200)]
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

3 years agoMerge changes Iec22dcab,Ib88b4b5d,I50cd6b82,If1167785,I9b3a08ef, ... into integration
Madhukar Pappireddy [Fri, 8 Jul 2022 13:40:59 +0000 (15:40 +0200)]
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

3 years agorefactor(stm32mp1-fdts): add missing spaces for consistent codestyle
Johann Neuhauser [Fri, 8 Jul 2022 13:22:05 +0000 (15:22 +0200)]
refactor(stm32mp1-fdts): add missing spaces for consistent codestyle

Change-Id: Ie650728a0c671f553679b050afd969ce604ca111
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agorefactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM
Johann Neuhauser [Fri, 8 Jul 2022 13:18:43 +0000 (15:18 +0200)]
refactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM

Change-Id: Ie2736ef4c463c51d109c13e59f541fe65039d7c6
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agoMerge "feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2...
Manish Pandey [Fri, 8 Jul 2022 12:48:18 +0000 (14:48 +0200)]
Merge "feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board" into integration

3 years agofeat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board
Johann Neuhauser [Wed, 16 Feb 2022 16:12:34 +0000 (17:12 +0100)]
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>
3 years agoMerge "feat(libfdt): add function to set MAC addresses" into integration
Manish Pandey [Fri, 8 Jul 2022 11:29:58 +0000 (13:29 +0200)]
Merge "feat(libfdt): add function to set MAC addresses" into integration

3 years agoMerge "refactor(arm): add debug logs to show the reason behind skipping firmware...
Bipin Ravi [Thu, 7 Jul 2022 21:45:38 +0000 (23:45 +0200)]
Merge "refactor(arm): add debug logs to show the reason behind skipping firmware config loading" into integration

3 years agorefactor(arm): add debug logs to show the reason behind skipping firmware config...
Manish V Badarkhe [Mon, 20 Jun 2022 16:40:40 +0000 (17:40 +0100)]
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>
3 years agofix(cpus): workaround for Neoverse-N2 erratum 2388450
Daniel Boulby [Wed, 6 Jul 2022 13:33:13 +0000 (14:33 +0100)]
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>
3 years agoMerge "fix(morello): move BL31 to run from DRAM space" into integration
Manish V Badarkhe [Thu, 7 Jul 2022 13:28:13 +0000 (15:28 +0200)]
Merge "fix(morello): move BL31 to run from DRAM space" into integration

3 years agoMerge changes from topic "sgi-updates-jul-2022" into integration
Manish V Badarkhe [Thu, 7 Jul 2022 10:38:56 +0000 (12:38 +0200)]
Merge changes from topic "sgi-updates-jul-2022" into integration

* changes:
  feat(sgi): bump bl1 rw size
  refactor(sgi): rewrite address space size definitions

3 years agoMerge "feat(zynqmp): resolve the misra 10.1 warnings" into integration
Joanna Farley [Thu, 7 Jul 2022 10:22:19 +0000 (12:22 +0200)]
Merge "feat(zynqmp): resolve the misra 10.1 warnings" into integration

3 years agofeat(sgi): bump bl1 rw size
Vijayenthiran Subramaniam [Tue, 25 Jan 2022 17:29:10 +0000 (22:59 +0530)]
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

3 years agorefactor(sgi): rewrite address space size definitions
Vijayenthiran Subramaniam [Tue, 25 Jan 2022 15:07:20 +0000 (20:37 +0530)]
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

3 years agofix(morello): move BL31 to run from DRAM space
Manoj Kumar [Thu, 23 Jun 2022 11:30:37 +0000 (12:30 +0100)]
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

3 years agoMerge "fix(rme): xlat table setup fails for bl2" into integration
Manish Pandey [Thu, 7 Jul 2022 09:38:37 +0000 (11:38 +0200)]
Merge "fix(rme): xlat table setup fails for bl2" into integration

3 years agofix(rme): xlat table setup fails for bl2
Soby Mathew [Wed, 6 Jul 2022 15:01:40 +0000 (16:01 +0100)]
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

3 years agofeat(zynqmp): resolve the misra 10.1 warnings
Venkatesh Yadav Abbarapu [Mon, 4 Jul 2022 06:10:27 +0000 (11:40 +0530)]
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

3 years agofeat(cpus): add a64fx cpu to tf-a
Itaru Kitayama [Mon, 4 Jul 2022 05:36:00 +0000 (14:36 +0900)]
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

3 years agoMerge changes from topic "st_fix_stm32mp13" into integration
Manish Pandey [Wed, 6 Jul 2022 14:08:27 +0000 (16:08 +0200)]
Merge changes from topic "st_fix_stm32mp13" into integration

* changes:
  fix(stm32mp13): correct USART addresses
  feat(stm32mp13): change BL33 memory mapping

3 years agoMerge "docs(rmmd): add myself as RMMD and RME owner" into integration
Olivier Deprez [Wed, 6 Jul 2022 06:47:26 +0000 (08:47 +0200)]
Merge "docs(rmmd): add myself as RMMD and RME owner" into integration

3 years agodocs(rmmd): add myself as RMMD and RME owner
Javier Almansa Sobrino [Tue, 5 Jul 2022 14:32:01 +0000 (15:32 +0100)]
docs(rmmd): add myself as RMMD and RME owner

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I93f5e622e37f3156bd5326b7d3a3d0d7f73b2c2e

3 years agofix(stm32mp13): correct USART addresses
Yann Gautier [Tue, 5 Jul 2022 11:29:13 +0000 (13:29 +0200)]
fix(stm32mp13): correct USART addresses

On STM32MP13, USART1 and USART2 addresses are 0x4C000000 and 0x4C001000.
Whereas on STM32MP15, the addresses were 0x5C000000 and 0x4000E000.
Use dedicated flags to choose the correct address, that could be use
for early or crash console.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I98bd97a0ac8b0408a50376801e2a1961b241a3d6

3 years agofeat(stm32mp13): change BL33 memory mapping
Patrick Delaunay [Tue, 13 Apr 2021 12:44:48 +0000 (14:44 +0200)]
feat(stm32mp13): change BL33 memory mapping

U-Boot is loaded at the beginning of the DDR:
STM32MP_DDR_BASE = 0xC0000000.

This patch remove the need to use the 0x100000 offset, reserved
on STM32MP15 for flashlayout.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Change-Id: I8d0a93f4db411cf59838e635a315c729cccee269

3 years agoMerge "feat(sme): fall back to SVE if SME is not there" into integration
Manish Pandey [Tue, 5 Jul 2022 12:32:39 +0000 (14:32 +0200)]
Merge "feat(sme): fall back to SVE if SME is not there" into integration

3 years agoMerge changes from topic "jas/rmm-el3-ifc" into integration
Soby Mathew [Tue, 5 Jul 2022 10:03:49 +0000 (12:03 +0200)]
Merge changes from topic "jas/rmm-el3-ifc" into integration

* changes:
  docs(rmmd): document EL3-RMM Interfaces
  feat(rmmd): add support to create a boot manifest
  fix(rme): use RMM shared buffer for attest SMCs
  feat(rmmd): add support for RMM Boot interface

3 years agofeat(sme): fall back to SVE if SME is not there
Mark Brown [Mon, 9 May 2022 12:26:36 +0000 (13:26 +0100)]
feat(sme): fall back to SVE if SME is not there

Due to their interrelationship in the architecture the SVE and SME
features in TF-A are mutually exclusive. This means that a single binary
can't be shared between systems with and without SME if the system
without SME does support SVE, SVE will not be initialised so lower ELs
will run into trouble trying to use it. This unusual behaviour for TF-A
which normally gracefully handles situations where features are enabled
but not supported on the current hardware.

Address this by calling the SVE enable and disable functions if SME is
not supported rather than immediately exiting, these perform their own
feature checks so if neither SVE nor SME is supported behaviour is
unchanged.

Signed-off-by: Mark Brown <broonie@kernel.org>
Change-Id: I2c606202fa6c040069f44e29d36b5abb48391874

3 years agodocs(rmmd): document EL3-RMM Interfaces
Javier Almansa Sobrino [Thu, 7 Apr 2022 17:26:49 +0000 (18:26 +0100)]
docs(rmmd): document EL3-RMM Interfaces

This patch documents the RMM-EL3 Boot and runtime interfaces.

Note that for the runtime interfaces, some services are not
documented in this patch and will be added on a later doc patch.

These services are:

* RMMD_GTSI_DELEGATE
* RMMD_GTSI_UNDELEGATE
* RMMD_RMI_REQ_COMPLETE

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I8fcc89d91fe5a334c2f68c6bfd1fd672a8738b5c

3 years agoMerge "feat(spmd): avoid spoofing in FF-A direct request" into integration
Olivier Deprez [Tue, 5 Jul 2022 08:21:59 +0000 (10:21 +0200)]
Merge "feat(spmd): avoid spoofing in FF-A direct request" into integration

3 years agoMerge "feat(arm): forbid running RME-enlightened BL31 from DRAM" into integration
Sandrine Bailleux [Tue, 5 Jul 2022 08:21:36 +0000 (10:21 +0200)]
Merge "feat(arm): forbid running RME-enlightened BL31 from DRAM" into integration

3 years agofeat(rmmd): add support to create a boot manifest
Javier Almansa Sobrino [Mon, 25 Apr 2022 16:18:15 +0000 (17:18 +0100)]
feat(rmmd): add support to create a boot manifest

This patch also adds an initial RMM Boot Manifest (v0.1) for fvp
platform.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I1374f8f9cb207028f1820953cd2a5cf6d6c3b948

3 years agofix(rme): use RMM shared buffer for attest SMCs
Javier Almansa Sobrino [Wed, 13 Apr 2022 16:57:35 +0000 (17:57 +0100)]
fix(rme): use RMM shared buffer for attest SMCs

Use the RMM shared buffer to attestation token and signing key SMCs.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I313838b26d3d9334fb0fe8cd4b229a326440d2f4

3 years agofeat(rmmd): add support for RMM Boot interface
Javier Almansa Sobrino [Wed, 24 Nov 2021 18:37:37 +0000 (18:37 +0000)]
feat(rmmd): add support for RMM Boot interface

This patch adds the infrastructure needed to pass boot arguments from
EL3 to RMM and allocates a shared buffer between both worlds that can
be used, among others, to pass a boot manifest to RMM. The buffer is
composed a single memory page be used by a later EL3 <-> RMM interface
by all CPUs.

The RMM boot manifest is not implemented by this patch.

In addition to that, this patch also enables support for RMM when
RESET_TO_BL31 is enabled.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I855cd4758ee3843eadd9fb482d70a6d18954d82a

3 years agofeat(arm): forbid running RME-enlightened BL31 from DRAM
Sandrine Bailleux [Mon, 4 Jul 2022 09:17:43 +0000 (11:17 +0200)]
feat(arm): forbid running RME-enlightened BL31 from DRAM

According to Arm CCA security model [1],

"Root world firmware, including Monitor, is the most trusted CCA
component on application PE. It enforces CCA security guarantees for
not just Realm world, but also for Secure world and for itself.

It is expected to be small enough to feasibly fit in on-chip memory,
and typically needs to be available early in the boot process when
only on-chip memory is available."

For these reasons, it is expected that "monitor code executes entirely
from on-chip memory."

This precludes usage of ARM_BL31_IN_DRAM for RME-enlightened firmware.

[1] Arm DEN0096 A.a, section 7.3 "Use of external memory by CCA".

Change-Id: I752eb45f1e6ffddc7a6f53aadcc92a3e71c1759f
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agofeat(spmd): avoid spoofing in FF-A direct request
Shruti [Thu, 9 Jun 2022 10:03:11 +0000 (11:03 +0100)]
feat(spmd): avoid spoofing in FF-A direct request

Validate that non-secure caller does not spoof
SPMD, SPMC or any secure endpoint ID
in FFA_MSG_SEND_DIRECT_REQ.

Change-Id: I7eadb8886142d94bef107cf485462dfcda828895
Signed-off-by: Shruti <shruti.gupta@arm.com>
3 years agoMerge changes from topics "binary-format-sp", "od/meas-boot-spmc" into integration
Sandrine Bailleux [Thu, 30 Jun 2022 14:47:49 +0000 (16:47 +0200)]
Merge changes from topics "binary-format-sp", "od/meas-boot-spmc" into integration

* changes:
  feat(spm): add tpm event log node to spmc manifest
  fix(measured-boot): add SP entries to event_log_metadata

3 years agoMerge "feat(stm32mp15): manage OP-TEE shared memory" into integration
Manish Pandey [Thu, 30 Jun 2022 14:29:22 +0000 (16:29 +0200)]
Merge "feat(stm32mp15): manage OP-TEE shared memory" into integration

3 years agofeat(stm32mp15): manage OP-TEE shared memory
Yann Gautier [Thu, 30 Jun 2022 09:33:27 +0000 (11:33 +0200)]
feat(stm32mp15): manage OP-TEE shared memory

On STM32MP15, there is currently an OP-TEE shared memory area at the end
of the DDR. But this area will in term be removed. To allow a smooth
transition, a new flag is added (STM32MP15_OPTEE_RSV_SHM). It reflects
the OP-TEE flag: CFG_CORE_RESERVED_SHM. The flag is enabled by default
(no behavior change). It will be set to 0 when OP-TEE is aligned, and
then later be removed.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I91146cd8a26a24be22143c212362294c1e880264

3 years agoMerge changes from topic "xlnx_zynqmp_misra_fix1" into integration
Joanna Farley [Wed, 29 Jun 2022 22:36:46 +0000 (00:36 +0200)]
Merge changes from topic "xlnx_zynqmp_misra_fix1" into integration

* changes:
  fix(zynqmp): resolve the misra 8.6 warnings
  fix(zynqmp): resolve the misra 4.6 warnings

3 years agoMerge "fix(sptool): fix concurrency issue for SP packages" into integration
Madhukar Pappireddy [Wed, 29 Jun 2022 13:27:32 +0000 (15:27 +0200)]
Merge "fix(sptool): fix concurrency issue for SP packages" into integration

3 years agofix(sptool): fix concurrency issue for SP packages
Daniel Boulby [Thu, 9 Jun 2022 11:04:30 +0000 (12:04 +0100)]
fix(sptool): fix concurrency issue for SP packages

Add dependency between rules to generate SP packages and their dtb files
to ensure the dtb files are built before the sptool attempts to generate
the SP package.

Change-Id: I071806f4aa09f39132e3e1990c91d71dc9acd728
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
3 years agoMerge "docs: add Manish Badarkhe to maintainer list" into integration
Joanna Farley [Tue, 28 Jun 2022 11:23:18 +0000 (13:23 +0200)]
Merge "docs: add Manish Badarkhe to maintainer list" into integration

3 years agoMerge "feat(stm32mp1): save boot auth status and partition info" into integration
Manish Pandey [Tue, 28 Jun 2022 08:53:01 +0000 (10:53 +0200)]
Merge "feat(stm32mp1): save boot auth status and partition info" into integration

3 years agoMerge "fix(measured-boot): clear the entire digest array of Startup Locality event...
Sandrine Bailleux [Tue, 28 Jun 2022 07:33:44 +0000 (09:33 +0200)]
Merge "fix(measured-boot): clear the entire digest array of Startup Locality event" into integration

3 years agoMerge changes from topic "HEAD" into integration
Madhukar Pappireddy [Tue, 28 Jun 2022 01:43:48 +0000 (03:43 +0200)]
Merge changes from topic "HEAD" into integration

* changes:
  feat(synquacer): add FWU Multi Bank Update support
  feat(synquacer): add TBBR support
  feat(synquacer): add BL2 support
  refactor(synquacer): move common source files

3 years agofeat(synquacer): add FWU Multi Bank Update support
Jassi Brar [Mon, 23 May 2022 18:16:01 +0000 (13:16 -0500)]
feat(synquacer): add FWU Multi Bank Update support

Add FWU Multi Bank Update support. This reads the platform metadata
and update the FIP base address so that BL2 can load correct BL3X
based on the boot index.

Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: Manish V Badarkhe <manish.badarkhe@arm.com>
Cc: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: I5d96972bc4b3b9a12a8157117e53a05da5ce89f6
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
3 years agofeat(synquacer): add TBBR support
Jassi Brar [Thu, 3 Mar 2022 21:24:31 +0000 (15:24 -0600)]
feat(synquacer): add TBBR support

enable Trusted-Boot for Synquacer platform.

Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: Manish V Badarkhe <manish.badarkhe@arm.com>
Cc: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: I2608b4d573d95d55da1fc5544333e0dbf3f763f2
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
3 years agofeat(synquacer): add BL2 support
Jassi Brar [Thu, 3 Mar 2022 21:24:31 +0000 (15:24 -0600)]
feat(synquacer): add BL2 support

Add BL2 support by default. Move the legacy mode behind the
RESET_TO_BL31 define.

Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: Manish V Badarkhe <manish.badarkhe@arm.com>
Cc: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: Ic490745a7e8f6114172733428ebd6bd6adfcc1ec
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
3 years agorefactor(synquacer): move common source files
Jassi Brar [Thu, 3 Mar 2022 21:24:31 +0000 (15:24 -0600)]
refactor(synquacer): move common source files

Prepare for introduction of BL2 support by moving
reusable files from BL31_SOURCES into PLAT_BL_COMMON_SOURCES

Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Masahisa Kojima <masahisa.kojima@linaro.org>
Cc: Manish V Badarkhe <manish.badarkhe@arm.com>
Cc: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: I21137cdd40d027cfa77f1dec3598ee85d4873581
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
3 years agodocs: add Manish Badarkhe to maintainer list
Manish Pandey [Mon, 27 Jun 2022 17:05:48 +0000 (18:05 +0100)]
docs: add Manish Badarkhe to maintainer list

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I8fd116962bb9775e2f96faee37bbf73073e15512

3 years agoMerge "feat(auth): enable MBEDTLS_CHECK_RETURN_WARNING" into integration
Madhukar Pappireddy [Mon, 27 Jun 2022 16:01:12 +0000 (18:01 +0200)]
Merge "feat(auth): enable MBEDTLS_CHECK_RETURN_WARNING" into integration

3 years agoMerge changes from topic "st_optee_paged" into integration
Manish Pandey [Mon, 27 Jun 2022 16:00:50 +0000 (18:00 +0200)]
Merge changes from topic "st_optee_paged" into integration

* changes:
  feat(stm32mp1): optionally use paged OP-TEE
  feat(optee): check paged_image_info

3 years agofeat(stm32mp1): save boot auth status and partition info
Igor Opaniuk [Thu, 23 Jun 2022 18:19:26 +0000 (21:19 +0300)]
feat(stm32mp1): save boot auth status and partition info

Introduce a functionality for saving/restoring boot auth status
and partition used for booting (FSBL partition on which the boot
was successful).

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Change-Id: I4d7f153b70dfc49dad8c1c3fa71111a350caf1ee

3 years agoMerge changes from topic "mb_hash" into integration
Lauren Wehrmeister [Mon, 27 Jun 2022 15:32:59 +0000 (17:32 +0200)]
Merge changes from topic "mb_hash" into integration

* changes:
  refactor(imx): update config of mbedtls support
  refactor(qemu): update configuring mbedtls support
  refactor(measured-boot): mb algorithm selection

3 years agoMerge "fix(nxp-ddr): fix firmware buffer re-mapping issue" into integration
Madhukar Pappireddy [Mon, 27 Jun 2022 13:46:58 +0000 (15:46 +0200)]
Merge "fix(nxp-ddr): fix firmware buffer re-mapping issue" into integration

3 years agofeat(auth): enable MBEDTLS_CHECK_RETURN_WARNING
Sandrine Bailleux [Wed, 15 Jun 2022 13:31:52 +0000 (15:31 +0200)]
feat(auth): enable MBEDTLS_CHECK_RETURN_WARNING

Define the MBEDTLS_CHECK_RETURN_WARNING macro in mbedTLS configuration
file to get compile-time warnings for mbedTLS functions we call and do
not check the return value of. Right now, this does not flag anything
but it could help catching bugs in the future.

This was a new feature introduced in mbed TLS 2.28.0 release.

Change-Id: If26f3c83b6ccc8bc60e75c3e582ab20817d047aa
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agoMerge "fix(measured-boot): fix verbosity level of RSS digests traces" into integration
Sandrine Bailleux [Mon, 27 Jun 2022 07:37:39 +0000 (09:37 +0200)]
Merge "fix(measured-boot): fix verbosity level of RSS digests traces" into integration

3 years agofeat(imx8m): keep pu domains in default state during boot stage
Jacky Bai [Fri, 17 Jan 2020 01:51:27 +0000 (09:51 +0800)]
feat(imx8m): keep pu domains in default state during boot stage

No need to keep all PU domains on as the full power domain driver
support has been added.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Iec22dcabbbfe3f38b915104a437d396d7b1bb2d8

3 years agofeat(imx8m): add the PU power domain support on imx8mm/mn
Jacky Bai [Wed, 11 Dec 2019 08:26:59 +0000 (16:26 +0800)]
feat(imx8m): add the PU power domain support on imx8mm/mn

Add the PU power domain support for imx8mm/mn.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Ib88b4b5db956fdf2c77d2f2f3723d61a7060409d

3 years agofeat(imx8m): add the anamix pll override setting
Jacky Bai [Mon, 9 Dec 2019 05:27:39 +0000 (13:27 +0800)]
feat(imx8m): add the anamix pll override setting

Add PLL power down override & bypass support when
system enter DSM mode.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I50cd6b82151961ab849f58714a8c307d3f7f4166

3 years agofeat(imx8m): add the ddr frequency change support for imx8m family
Jacky Bai [Mon, 25 Nov 2019 05:19:37 +0000 (13:19 +0800)]
feat(imx8m): add the ddr frequency change support for imx8m family

Add the DDR frequency change support.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: If1167785796b8678c351569b83d2922c66f6e530

3 years agofeat(imx8mn): enable dram retention suuport on imx8mn
Jacky Bai [Tue, 3 Dec 2019 02:38:11 +0000 (10:38 +0800)]
feat(imx8mn): enable dram retention suuport on imx8mn

Enable dram retention support on i.MX8MN.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I9b3a08efbbd154b2fc7e41bedb36a4d4e3784448

3 years agofeat(imx8mm): enable dram retention suuport on imx8mm
Jacky Bai [Mon, 25 Nov 2019 06:45:32 +0000 (14:45 +0800)]
feat(imx8mm): enable dram retention suuport on imx8mm

Enable dram retention support on i.MX8MM.

Change-Id: I76ada615d386602e551d572ff4e60ee19bb8e418
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
3 years agofeat(imx8m): add dram retention flow for imx8m family
Jacky Bai [Mon, 25 Nov 2019 06:43:26 +0000 (14:43 +0800)]
feat(imx8m): add dram retention flow for imx8m family

Add the dram retention flow for i.MX8M SoC family.

Change-Id: Ifb8ba5b2f6f002133cf47c07fef73df29c51c890
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
3 years agoMerge "fix(zynqmp): move bl31 with DEBUG=1 back to OCM" into integration
Manish Pandey [Fri, 24 Jun 2022 11:43:41 +0000 (13:43 +0200)]
Merge "fix(zynqmp): move bl31 with DEBUG=1 back to OCM" into integration

3 years agoMerge changes from topic "xlnx_versal_misra_fix" into integration
Manish Pandey [Fri, 24 Jun 2022 11:40:01 +0000 (13:40 +0200)]
Merge changes from topic "xlnx_versal_misra_fix" into integration

* changes:
  fix(versal): resolve misra 15.6 warnings
  fix(zynqmp): resolve misra 8.13 warnings
  fix(versal): resolve misra 8.13 warnings
  fix(versal): resolve the misra 4.6 warnings

3 years agoMerge changes from topic "lw/cca_cot" into integration
Manish Pandey [Fri, 24 Jun 2022 10:44:06 +0000 (12:44 +0200)]
Merge changes from topic "lw/cca_cot" into integration

* changes:
  feat(arm): retrieve the right ROTPK for cca
  feat(arm): add support for cca CoT
  feat(arm): provide some swd rotpk files
  build(tbbr): drive cert_create changes for cca CoT
  refactor(arm): add cca CoT certificates to fconf
  feat(fiptool): add cca, core_swd, plat cert in FIP
  feat(cert_create): define the cca chain of trust
  feat(cca): introduce new "cca" chain of trust
  build(changelog): add new scope for CCA
  refactor(fvp): increase bl2 size when bl31 in DRAM

3 years agoMerge changes from topic "ns/cpu_info" into integration
Madhukar Pappireddy [Wed, 22 Jun 2022 15:45:45 +0000 (17:45 +0200)]
Merge changes from topic "ns/cpu_info" into integration

* changes:
  feat(plat/arm/sgi): increase memory reserved for bl31 image
  feat(plat/arm/sgi): read isolated cpu mpid list from sds

3 years agoMerge "feat(board/rdn2): add a new 'isolated-cpu-list' property" into integration
Madhukar Pappireddy [Wed, 22 Jun 2022 15:45:40 +0000 (17:45 +0200)]
Merge "feat(board/rdn2): add a new 'isolated-cpu-list' property" into integration

3 years agofeat(stm32mp1): optionally use paged OP-TEE
Yann Gautier [Mon, 20 Jun 2022 09:43:17 +0000 (11:43 +0200)]
feat(stm32mp1): optionally use paged OP-TEE

STM32MP13 can encrypt the DDR. OP-TEE is then fully in DDR, and there
is no need for paged image on STM32MP13. The management of the paged
OP-TEE is made conditional, and will be kept only for STM32MP15.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I85ac7aaf6a172c4ee529736113ed40fe66835fd7

3 years agofeat(optee): check paged_image_info
Yann Gautier [Mon, 20 Jun 2022 09:24:22 +0000 (11:24 +0200)]
feat(optee): check paged_image_info

For OP-TEE without pager, the paged image may not be present in OP-TEE
header. We could then pass NULL for paged_image_info to the function
parse_optee_header(). It avoids creating a useless struct for that
non existing image. But we should then avoid assigning header_ep args
that depend on paged_image_info.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I4fdb45a91ac1ba6f912d6130813f5215c7e28c8b

3 years agoMerge changes from topic "st_clk_fixes" into integration
Madhukar Pappireddy [Tue, 21 Jun 2022 15:19:58 +0000 (17:19 +0200)]
Merge changes from topic "st_clk_fixes" into integration

* changes:
  fix(st-clock): correct MISRA C2012 15.6
  fix(st-clock): correctly check ready bit