]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
2 years agofix(fvp): fdts: Fix idle-states entry method
Andre Przywara [Mon, 22 Aug 2022 14:54:26 +0000 (15:54 +0100)]
fix(fvp): fdts: Fix idle-states entry method

When firmware implements idle states via PSCI, the value of the DT
entry-method property must be "psci", not "arm,psci".

Fix this to make the CPU description binding compliant.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: Icd1bf704d177368af9b7aab545f47e580791b8cc

2 years agofix(fvp): fdts: fix memtimer subframe addressing
Andre Przywara [Mon, 22 Aug 2022 14:50:22 +0000 (15:50 +0100)]
fix(fvp): fdts: fix memtimer subframe addressing

The arm,armv7-timer-mem DT binding documentation demands that the
 #size-cells property should be <1> only.

Adjust the value to be <1> and drop the now needless leading 0 in the
frame's reg property. Convert to #address-cell = <1> on the way.
Also adjust the interrupts property to use the proper GIC macros.

Change-Id: Ia2224663b1e6aaa7cf94af777473641de6a840d2
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agofeat(fvp): fdts: update rtsm_ve DT files from the Linux kernel
Andre Przywara [Fri, 19 Aug 2022 15:21:29 +0000 (16:21 +0100)]
feat(fvp): fdts: update rtsm_ve DT files from the Linux kernel

The existing DT files for the base FVP model are having some issues,
that lead to warnings reported by the device tree compiler.

Those (and many other issues around (updated) DT binding compliance)
were fixed in the Linux kernel tree, so let's sync those files back into
TF-A.
We cannot copy the files "as is" for now, since we rely on certain custom
properties to be added (max-pwr-lvl in the PSCI node, SDEI nodes, etc).

Merge in the changed parts of the Linux kernel DT (from Linux v6.0-rc1),
and rework the base file to allow including the motherboard.dtsi
unchanged. This should make any future update less painful.

As this also affects the FVP VE boards (Cortex-A7 and Cortex-A5), since
they share the motherboard include file, fix them up as well.

Change-Id: I4f74d05e5583747f8849e32f246f74aeec7a9c60
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agorefactor(fvp): fdts: consolidate GICv2 base FVP DT files
Andre Przywara [Fri, 19 Aug 2022 10:01:16 +0000 (11:01 +0100)]
refactor(fvp): fdts: consolidate GICv2 base FVP DT files

The GICv2 and GICv3 version of the FVP DT files are unnecessarily split,
as the common part of the peripherals is the same: it's literally just
the interrupt controller node that is different.
Since the GICv3 versions now use a generic DT include file (without any
GIC node), let's reuse that for the GICv2 versions of the FVP as well.
We just add a separate fvp-base-gicv2.dtsi file which describes the
GICv2 interrupt controller. Also shorten the compatible string, since
the GICv2 binding documentation does not allow the current combination.

This allows to remove the mostly redundant nodes from the GICv2 .dts
file.

Change-Id: I9018031bb611fb00ca7dbefc1bff7d40c3f05819
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agorefactor(fvp): fdts: consolidate GICv3 base FVP DT files
Andre Przywara [Fri, 19 Aug 2022 10:00:37 +0000 (11:00 +0100)]
refactor(fvp): fdts: consolidate GICv3 base FVP DT files

The GICv2 and GICv3 version of the FVP DT files are unnecessarily split,
as the common part of the peripherals is the same: it's literally just
the interrupt controller node that is different.
To facilitate a unification, refactor the DT include files to explicitly
include a snippet with just the GICv3 description, and a generic base DT
file for the rest. This generic file can then be reused by the GICv2
versions later.

Since we can only have a /memreserve/ entry *before* any DT nodes, move
that line to each file, to allow including the GIC DT file separately.

Change-Id: I9ff357d3fe0ce46e280c30131aeae97a99631512
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agofeat(fvp): dts: drop 32-bit .dts files
Andre Przywara [Fri, 19 Aug 2022 09:26:00 +0000 (10:26 +0100)]
feat(fvp): dts: drop 32-bit .dts files

Conceptually the DT is a hardware description, as such it's independent
from the instruction set that a DT client uses. So having separate DTs
for aarch32 and aarch64 does not make sense and is not needed.

Probably due to historic reasons (a Linux bug fixed in 2016 with Linux
commit ba6dea4f7ced, in Linux v4.8) the CPU reg property was using a
different size between aarch64 and aarch32, even though the size of it
is solely governed by the parent's #address-cells property.

Consolidate this to be always 2, and always use two cells to describe
the CPU's MPIDR register.

This removes the last difference of the -aarch32 versions of the FVP
DT files, so just remove all of them. The respective versions without
that suffix can now be used with AArch32 DT clients as well.

Also remove the respective part in the documentation.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I45d3a2cbba8e04595a741e1cf41900377952673e

2 years agorefactor(fvp): fdts: merge motherboard .dtsi files
Andre Przywara [Fri, 19 Aug 2022 09:45:17 +0000 (10:45 +0100)]
refactor(fvp): fdts: merge motherboard .dtsi files

For no real reason we were shipping two separate DT include files for the
base FVP motherboard peripherals, one for aarch32, one for aarch64.
There is no difference in the hardware description when using a
different instruction set, and the diff between the two files was about
a missing interrupt map for the 64-bit DT files.

Consolidate the situation by just using a single motherboard .dtsi file,
which relies on an interrupt map by the including files.
Provide that map in the two files where it was missing before, and
change the filenames to let all users include the same file now.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I19b77ecc8da9b4bfbd61d02f910b9ab05dbf92e9

2 years agorefactor(fvp_ve): fdts: prepare Cortex-A5 and A7 model DTs
Andre Przywara [Thu, 25 Aug 2022 11:59:10 +0000 (12:59 +0100)]
refactor(fvp_ve): fdts: prepare Cortex-A5 and A7 model DTs

The DT files for the Cortex-A5 and Cortex-A7 FVP models include the
shared rtsm_ve-motherboard.dtsi file, which we need to sync with the
upstream Linux version soon.

To prepare for its changed structure there, adjust the top-level
 #address-cells and #size-cells properties to be compatible with the
expectations of the Linux version.
Also extend the interrupt map to cover all peripherals listed in the
motherboard file, and use the proper GIC macros to make them more
readable on the way.

Change-Id: I7d1493f1a200e8350530f912833f9ffcc5f94b21
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agofix(fvp): fdts: unify and fix PSCI nodes
Andre Przywara [Fri, 10 Dec 2021 18:22:09 +0000 (18:22 +0000)]
fix(fvp): fdts: unify and fix PSCI nodes

The PSCI DT nodes used for the various fvp-base model variants provide
explicit function IDs, as required for the pre-v0.2 PSCI specification.
This prevents them from being used from both AArch32 and AArch64 DT
clients, and using this version of the PSCI spec is long deprecated
anyway.

Remove the old compatible string and the function properties, to
force clients to use the standard function IDs as described in the PSCI
spec. sys_poweroff and sys_reset were never standardised or used anyway.

There should be no client software around that cannot deal with PSCI
v0.2.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: Ie87deb9898eae79b7307c15bcefcd4b311d4dc22

2 years agoMerge changes I072fe5fe,I4066d476,Ie4af38b8,I730e7b04,Iac3356f8, ... into integration
Sandrine Bailleux [Mon, 10 Oct 2022 11:57:17 +0000 (13:57 +0200)]
Merge changes I072fe5fe,I4066d476,Ie4af38b8,I730e7b04,Iac3356f8, ... into integration

* changes:
  fix(psa): extend measured boot logging
  fix(rss): determine the size of sw_type in RSS mboot metadata
  fix(psa): align with original API in tf-m-extras
  fix(rss): clear the message buffer
  feat(tc): enable RSS backend based measured boot
  feat(tc): increase maximum BL1/BL2/BL31 sizes

2 years agoMerge "build(changelog): add new scope for Performance Monitor Extensions" into integ...
Manish V Badarkhe [Mon, 10 Oct 2022 09:49:13 +0000 (11:49 +0200)]
Merge "build(changelog): add new scope for Performance Monitor Extensions" into integration

2 years agoMerge changes from topic "delegated_attest" into integration
Sandrine Bailleux [Mon, 10 Oct 2022 09:06:38 +0000 (11:06 +0200)]
Merge changes from topic "delegated_attest" into integration

* changes:
  feat(psa): remove initial attestation partition API
  docs: add PLAT_RSS_COMMS_PAYLOAD_MAX_SIZE to porting-guide.rst

2 years agoMerge changes from topic "delegated_attest" into integration
Sandrine Bailleux [Mon, 10 Oct 2022 05:53:22 +0000 (07:53 +0200)]
Merge changes from topic "delegated_attest" into integration

* changes:
  fix(rss): remove dependency on attestation header
  fix(rss): rename AP-RSS message size macro
  feat(tc): add RSS-AP message size macro
  feat(tc): add MHU addresses for AP-RSS comms on TC2
  feat(psa): add delegated attestation partition API
  fix(rss): reduce input validation for measured boot

2 years agofix(psa): extend measured boot logging
Tamas Ban [Wed, 5 Oct 2022 11:22:23 +0000 (13:22 +0200)]
fix(psa): extend measured boot logging

Print all the params of
rss_measured_boot_extend_measurement() to
the console to check parameter healthiness.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I072fe5fef72c67e615ab64e06a9e1f6add5e9cfc

2 years agofeat(psa): remove initial attestation partition API
Tamas Ban [Thu, 1 Sep 2022 07:02:49 +0000 (09:02 +0200)]
feat(psa): remove initial attestation partition API

The attestation key derivation and platform attestation token
creation functionality is provided by the Delegated Attestation
partition in RSS.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I2d8c0e6589d11e7c81c698adf75ee2a993e3a0c6

2 years agofix(rss): remove dependency on attestation header
Tamas Ban [Thu, 8 Sep 2022 15:04:49 +0000 (17:04 +0200)]
fix(rss): remove dependency on attestation header

Platform must define the maximum size of the message
over MHU.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I91a6c132c946f4465178910b8ea83544f562e837

2 years agofix(rss): determine the size of sw_type in RSS mboot metadata
Tamas Ban [Mon, 3 Oct 2022 11:19:55 +0000 (13:19 +0200)]
fix(rss): determine the size of sw_type in RSS mboot metadata

Without setting the correct size of sw_type the metadata won't
be propagated to RSS through rss_measured_boot_extend_measurement()
API.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I4066d4762689c96ac2ac8e8b8db5d2b1f108b550

2 years agodocs: add PLAT_RSS_COMMS_PAYLOAD_MAX_SIZE to porting-guide.rst
Tamas Ban [Fri, 16 Sep 2022 12:09:30 +0000 (14:09 +0200)]
docs: add PLAT_RSS_COMMS_PAYLOAD_MAX_SIZE to porting-guide.rst

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I79761347919a0dfa86a29b5424f1d34fc4ab91cb

2 years agofix(rss): rename AP-RSS message size macro
Tamas Ban [Wed, 5 Oct 2022 09:56:04 +0000 (11:56 +0200)]
fix(rss): rename AP-RSS message size macro

Adding PLAT_* prefix to indicate that the
platform needs to provide this definition.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I0bd02be405fd8b1e625bd2b82647ebb2b58265fc

2 years agofix(psa): align with original API in tf-m-extras
Tamas Ban [Mon, 3 Oct 2022 11:06:53 +0000 (13:06 +0200)]
fix(psa): align with original API in tf-m-extras

The measured boot API is available in the tf-m-extras
repo:
partitions/measured_boot/interface/src/measured_boot_api.c

This change make the API behavior align with
the original implementation.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: Ie4af38b859f942b2ef090e92da64d75811b5b49b

2 years agofeat(tc): add RSS-AP message size macro
David Vincze [Mon, 11 Apr 2022 15:08:20 +0000 (17:08 +0200)]
feat(tc): add RSS-AP message size macro

Define the RSS_COMMS_PAYLOAD_MAX_SIZE macro. Its value is platform
specific and gives the largest message size which are exchanged
on the TC2 platform between RSS and AP.

Change-Id: Id831c282dc9a39755b82befead1a81767e217215
Signed-off-by: David Vincze <david.vincze@arm.com>
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
2 years agofix(rss): clear the message buffer
Tamas Ban [Fri, 16 Sep 2022 11:42:29 +0000 (13:42 +0200)]
fix(rss): clear the message buffer

Clear the MHU message buffer to remove assets from memory.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I730e7b044eaf0bf517532a12146e4f542949544e

2 years agofeat(tc): add MHU addresses for AP-RSS comms on TC2
David Vincze [Wed, 13 Apr 2022 12:00:21 +0000 (14:00 +0200)]
feat(tc): add MHU addresses for AP-RSS comms on TC2

Change-Id: I600485ca83f91378d07cac6cee484bc4a1bf2a9c
Signed-off-by: David Vincze <david.vincze@arm.com>
2 years agofeat(tc): enable RSS backend based measured boot
Tamas Ban [Fri, 16 Sep 2022 14:26:15 +0000 (16:26 +0200)]
feat(tc): enable RSS backend based measured boot

Measurements taken during boot are stored in RSS.
These measurements are included in the platform
attestation token.

Change-Id: Iac3356f813fb417315681c718839319832a76191
Signed-off-by: David Vincze <david.vincze@arm.com>
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
2 years agofeat(psa): add delegated attestation partition API
Tamas Ban [Wed, 31 Aug 2022 12:50:27 +0000 (14:50 +0200)]
feat(psa): add delegated attestation partition API

Delegated attestation is a service provided by RSS to:
- Derive a delegated attestation key: Realm Attestation Key
- Query the platform attestation token

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I3edf09fcbef24bca7c8a000ffac8c1ab64dfb812

2 years agofeat(tc): increase maximum BL1/BL2/BL31 sizes
David Vincze [Wed, 4 May 2022 08:11:16 +0000 (10:11 +0200)]
feat(tc): increase maximum BL1/BL2/BL31 sizes

The maximum size of BL1/BL2/BL31 is increased due to
the added new functionalities, such as RSS based
measured boot on TC2.

Change-Id: I939c7c3da6bf870db46b32cd2836c6737de278bb
Signed-off-by: David Vincze <david.vincze@arm.com>
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
2 years agofix(rss): reduce input validation for measured boot
Tamas Ban [Mon, 3 Oct 2022 15:29:45 +0000 (17:29 +0200)]
fix(rss): reduce input validation for measured boot

Remove an assert, which checks whether output buffer is
provided, because in measured boot there is no output.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I08db9c2eea1da2d7120c9872ffbf8d8ee45c8e08

2 years agoMerge changes from topic "mb/drtm-preparatory-patches" into integration
Manish Pandey [Thu, 6 Oct 2022 15:39:35 +0000 (17:39 +0200)]
Merge changes from topic "mb/drtm-preparatory-patches" into integration

* changes:
  docs(drtm): steps to run DRTM implementation
  docs(drtm): add platform APIs for DRTM
  feat(drtm): flush dcache before DLME launch
  feat(drtm): invalidate icache before DLME launch
  feat(drtm): ensure that passed region lies within Non-Secure region of DRAM
  feat(fvp): add plat API to validate that passed region is non-secure
  feat(drtm): ensure that no SDEI event registered during dynamic launch
  feat(drtm): prepare EL state during dynamic launch
  feat(drtm): prepare DLME data for DLME launch
  feat(drtm): take DRTM components measurements before DLME launch
  feat(drtm): add a few DRTM DMA protection APIs
  feat(drtm): add remediation driver support in DRTM
  feat(fvp): add plat API to set and get the DRTM error
  feat(drtm): add Event Log driver support for DRTM
  feat(drtm): check drtm arguments during dynamic launch
  feat(drtm): introduce drtm dynamic launch function
  refactor(measured-boot): split out a few Event Log driver functions
  feat(drtm): retrieve DRTM features
  feat(drtm): add platform functions for DRTM
  feat(sdei): add a function to return total number of events registered
  feat(drtm): add PCR entries for DRTM
  feat(drtm): update drtm setup function
  refactor(crypto): change CRYPTO_SUPPORT flag to numeric
  feat(mbedtls): update mbedTLS driver for DRTM support
  feat(fvp): add crypto support in BL31
  feat(crypto): update crypto module for DRTM support
  build(changelog): add new scope for mbedTLS and Crypto module
  feat(drtm): add standard DRTM service
  build(changelog): add new scope for DRTM service
  feat(fvp): increase MAX_XLAT_TABLES entries for DRTM support
  feat(fvp): increase BL31's stack size for DRTM support
  feat(fvp): add platform hooks for DRTM DMA protection

2 years agoMerge "fix(qti): adding secure rm flag" into integration
Madhukar Pappireddy [Thu, 6 Oct 2022 13:55:47 +0000 (15:55 +0200)]
Merge "fix(qti): adding secure rm flag" into integration

2 years agodocs(drtm): steps to run DRTM implementation
Manish V Badarkhe [Wed, 29 Jun 2022 13:09:47 +0000 (14:09 +0100)]
docs(drtm): steps to run DRTM implementation

Documented steps to run DRTM implementation.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I30dd8c1088a54a8906389c2584d922862610dae0

2 years agodocs(drtm): add platform APIs for DRTM
Lucian Paul-Trifu [Wed, 22 Jun 2022 17:45:36 +0000 (18:45 +0100)]
docs(drtm): add platform APIs for DRTM

Documented platform APIs for DRTM

Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: I22749c26bbe7b3271705dd3db07e8597fce6225b

2 years agofeat(drtm): flush dcache before DLME launch
Manish Pandey [Thu, 21 Jul 2022 12:07:07 +0000 (13:07 +0100)]
feat(drtm): flush dcache before DLME launch

Flush the data cache range before DLME launch to ensure that data
passed by DCE preamble is committed.

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

2 years agofeat(drtm): invalidate icache before DLME launch
Manish Pandey [Tue, 19 Jul 2022 13:35:00 +0000 (14:35 +0100)]
feat(drtm): invalidate icache before DLME launch

As per DRTM beta0 spec table #28, Before the DLME is called the DCE
must invalidate all instruction caches.

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

2 years agoMerge "build: forbid `ENABLE_RME=1` when `SEPARATE_CODE_AND_RODATA=0`" into integration
Sandrine Bailleux [Thu, 6 Oct 2022 07:32:31 +0000 (09:32 +0200)]
Merge "build: forbid `ENABLE_RME=1` when `SEPARATE_CODE_AND_RODATA=0`" into integration

2 years agofix(qti): adding secure rm flag
Muhammad Arsath K F [Thu, 22 Sep 2022 12:49:41 +0000 (05:49 -0700)]
fix(qti): adding secure rm flag

Adding SECURE rm flag to support INTR_EL3_VALID_RM1 routing model.

Signed-off-by: Muhammad Arsath K F <quic_mkf@quicinc.com>
Change-Id: Ie72d62148e81d3cf7fb05f46124f846cc45d9d41

2 years agoMerge "fix(semihosting): fix seek call failure check" into integration
Madhukar Pappireddy [Wed, 5 Oct 2022 16:42:50 +0000 (18:42 +0200)]
Merge "fix(semihosting): fix seek call failure check" into integration

2 years agofeat(drtm): ensure that passed region lies within Non-Secure region of DRAM
Manish V Badarkhe [Wed, 13 Jul 2022 08:47:03 +0000 (09:47 +0100)]
feat(drtm): ensure that passed region lies within Non-Secure region of DRAM

Ensured DLME data region and DRTM parameters are lies within Non-Secure
region of DRAM by calling platform function 'plat_drtm_validate_ns_region'.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I93ead775f45ca7748193631f8f9eec4326fcf20a

2 years agofeat(fvp): add plat API to validate that passed region is non-secure
Manish V Badarkhe [Mon, 4 Jul 2022 13:51:07 +0000 (14:51 +0100)]
feat(fvp): add plat API to validate that passed region is non-secure

Added a platform function to check passed region is within
the Non-Secure region of DRAM.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ie5808fa6a1b6e6bc99f4185fa8acc52af0d5f14d

2 years agofeat(drtm): ensure that no SDEI event registered during dynamic launch
Manish Pandey [Thu, 23 Jun 2022 12:11:48 +0000 (13:11 +0100)]
feat(drtm): ensure that no SDEI event registered during dynamic launch

Ensured no SDEI event are registered during dynamic launch.

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

2 years agofeat(drtm): prepare EL state during dynamic launch
Manish Pandey [Thu, 23 Jun 2022 09:43:31 +0000 (10:43 +0100)]
feat(drtm): prepare EL state during dynamic launch

Prepared EL state before dynamic launch

Change-Id: I3940cd7fc74da1a1addbeb08ae34f16771395e61
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
2 years agofeat(drtm): prepare DLME data for DLME launch
Manish V Badarkhe [Wed, 22 Jun 2022 12:11:14 +0000 (13:11 +0100)]
feat(drtm): prepare DLME data for DLME launch

Prepared DLME data before DLME launch

Change-Id: I28e2132d9c832ab5bd25cf884925b99cc48258ea
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): take DRTM components measurements before DLME launch
Manish V Badarkhe [Tue, 21 Jun 2022 17:11:53 +0000 (18:11 +0100)]
feat(drtm): take DRTM components measurements before DLME launch

Taken measurement of various DRTM components in the Event Log
buffer to pass it to DLME.

Change-Id: Ic56620161f42596d22bf40d5c83c041cbce0b618
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): add a few DRTM DMA protection APIs
Manish V Badarkhe [Tue, 21 Jun 2022 17:08:50 +0000 (18:08 +0100)]
feat(drtm): add a few DRTM DMA protection APIs

Added DRTM DMA protections APIs, and called them during
the DLME launch and DRTM SMC handling.

Change-Id: I29e7238c04e2ca9f26600276c5c05bff5387789e
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): add remediation driver support in DRTM
Manish V Badarkhe [Tue, 21 Jun 2022 08:41:32 +0000 (09:41 +0100)]
feat(drtm): add remediation driver support in DRTM

Added remediation driver for DRTM to set/get the error
from non-volatile memory

Change-Id: I8f0873dcef4936693e0f39a3c95096cb689c04b7
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
2 years agofeat(fvp): add plat API to set and get the DRTM error
Manish V Badarkhe [Tue, 12 Jul 2022 20:48:04 +0000 (21:48 +0100)]
feat(fvp): add plat API to set and get the DRTM error

Added a platform function to set and get DRTM error.
Also, added a platform function to reset the system.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I471f2387f8c78b21a06af063a6fa02cda3646557

2 years agofeat(drtm): add Event Log driver support for DRTM
Manish V Badarkhe [Fri, 17 Jun 2022 10:42:17 +0000 (11:42 +0100)]
feat(drtm): add Event Log driver support for DRTM

Added Event Log driver support for DRTM. This driver
is responsible for the doing the hash measurement of
various DRTM components as per [1], and putting these
measurements in the Event Log buffer.

[1]: https://developer.arm.com/documentation/den0113/a, section 3.16

Change-Id: I9892c313cf6640b82e261738116fe00f7975ee12
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): check drtm arguments during dynamic launch
Manish Pandey [Tue, 21 Jun 2022 14:36:45 +0000 (15:36 +0100)]
feat(drtm): check drtm arguments during dynamic launch

Check the sanity of arguments before dynamic launch.

Change-Id: Iad68f852b09851b0c55a55df6ba16576e105758a
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
2 years agofeat(drtm): introduce drtm dynamic launch function
Manish Pandey [Mon, 20 Jun 2022 16:42:41 +0000 (17:42 +0100)]
feat(drtm): introduce drtm dynamic launch function

This function is placeholder for checking all the necessary conditions
before doing drtm dynamic launch.
In this patch following conditions are checked (based on Table 31 of
DRTM spec beta0), rest of the conditions will be added in later
patches.
 - Only boot PE is online
 - Caller execution state is AArch64
 - Caller exception level is NS-EL2 or NS-EL1

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

2 years agorefactor(measured-boot): split out a few Event Log driver functions
Manish V Badarkhe [Wed, 15 Jun 2022 14:06:43 +0000 (15:06 +0100)]
refactor(measured-boot): split out a few Event Log driver functions

Reorganized a few Event Log functions into multiple functions so that
they can be used for the upcoming DRTM feature. This change mainly
implements below new functions -
1. event_log_buf_init - called by 'event_log_init' to initialise Event
   Log buffer
2. event_log_write_specid_event - called by 'event_log_fixed_header' to
   write specification id event to Event Log buffer
3. event_log_measure and event_log_record - called by
   'event_log_measure_and_record' to measure and record the measurement
   to the Event Log buffer

Change-Id: I1aabb57f79bead726fcf36d59839702cd6a3521d
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): retrieve DRTM features
Manish V Badarkhe [Thu, 16 Jun 2022 12:46:43 +0000 (13:46 +0100)]
feat(drtm): retrieve DRTM features

Retrieved below DRTM features via DRTM_FEATURES SMC call -
1. TPM features
2. Minimum memory requirement
3. Boot PE ID
4. DMA protection

Change-Id: Ia6dc497259541ce30a6550afa35d95d9a9a366af
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
2 years agofeat(drtm): add platform functions for DRTM
johpow01 [Fri, 11 Mar 2022 23:50:58 +0000 (17:50 -0600)]
feat(drtm): add platform functions for DRTM

Added platform hooks to retrieve DRTM features and
address map.
Additionally, implemented these hooks for the FVP platform.

Signed-off-by: John Powell <john.powell@arm.com>
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I5621cc9807ffff8139ae8876250147f7b2c76759

2 years agofeat(sdei): add a function to return total number of events registered
John Powell [Thu, 12 May 2022 17:49:55 +0000 (12:49 -0500)]
feat(sdei): add a function to return total number of events registered

This patch adds a public API to return the total number of registered
events. The purpose of this is primarily for DRTM to ensure that no
SDEI event can interfere with a dynamic launch.

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I1d1cba2da7d5566cc340620ee1ce7d7844740b86

2 years agofeat(drtm): add PCR entries for DRTM
Manish V Badarkhe [Thu, 3 Mar 2022 11:42:27 +0000 (11:42 +0000)]
feat(drtm): add PCR entries for DRTM

Added PCR entries for the measurement performed by the
DCE and D-CRTM in DRTM implementation

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: Ib9bfafe7fa2efa1cc36d7ff138468d648235dcf1

2 years agofeat(drtm): update drtm setup function
Manish V Badarkhe [Thu, 24 Feb 2022 20:22:39 +0000 (20:22 +0000)]
feat(drtm): update drtm setup function

Updated DRTM setup functionality that mainly does below 2 things
1. Initialise the DRTM DMA protection, this function assumes the
   platform must support complete DMA protection.
2. Initialise the Crypto module that will be useful to calculate
   the hash of various DRTM element involved.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Change-Id: I3d6e4d534686d391fa7626094d2b2535dac74e00

2 years agorefactor(crypto): change CRYPTO_SUPPORT flag to numeric
Manish V Badarkhe [Mon, 20 Jun 2022 14:32:38 +0000 (15:32 +0100)]
refactor(crypto): change CRYPTO_SUPPORT flag to numeric

Updated CRYPTO_SUPPORT flag to numeric to provide below
supports -
1. CRYPTO_SUPPORT = 1 -> Authentication verification only
2. CRYPTO_SUPPORT = 2 -> Hash calculation only
3. CRYPTO_SUPPORT = 3 -> Authentication verification and
                         hash calculation

Change-Id: Ib34f31457a6c87d2356d736ad2d048dc787da56f
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(mbedtls): update mbedTLS driver for DRTM support
Manish V Badarkhe [Fri, 25 Feb 2022 09:11:12 +0000 (09:11 +0000)]
feat(mbedtls): update mbedTLS driver for DRTM support

Updated mbedTLS driver to include mbedTLS functions necessary for a
DRTM supported build.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: If0120374a971519cf84f93e0c59e1a320a72cd97

2 years agofeat(fvp): add crypto support in BL31
Manish V Badarkhe [Fri, 25 Feb 2022 09:06:57 +0000 (09:06 +0000)]
feat(fvp): add crypto support in BL31

DRTM implementation needs crypto support in BL31 to calculate
hash of various DRTM components

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: I659ce8e54550946db253d23f150cca8b2fa7b880

2 years agofeat(crypto): update crypto module for DRTM support
Manish V Badarkhe [Fri, 25 Feb 2022 08:29:35 +0000 (08:29 +0000)]
feat(crypto): update crypto module for DRTM support

Updated crypto module to include crypto calls necessary for a
DRTM supported build.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: I4f945997824393f46864b7fb7fd380308a025452

2 years agobuild(changelog): add new scope for mbedTLS and Crypto module
Manish V Badarkhe [Thu, 22 Sep 2022 20:41:55 +0000 (21:41 +0100)]
build(changelog): add new scope for mbedTLS and Crypto module

Added new scope for mbedTLS and Crypto module.

Change-Id: I127e7e32f103210e0a1c4c3072afa7249a24a7db
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2 years agofeat(drtm): add standard DRTM service
Manish V Badarkhe [Wed, 23 Feb 2022 11:26:53 +0000 (11:26 +0000)]
feat(drtm): add standard DRTM service

Added a dummy DRTM setup function and also, introduced DRTM SMCs
handling as per DRTM spec [1]. Few basic SMCs are handled in this
change such as ARM_DRTM_SVC_VERSION and ARM_DRTM_SVC_FEATURES
that returns DRTM version and functions ids supported respectively,
and others are dummy for now.

[1]: https://developer.arm.com/documentation/den0113/latest

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Change-Id: I8c7afe920c78e064cbab2298f59e6837c70ba8ff

2 years agobuild(changelog): add new scope for DRTM service
Manish V Badarkhe [Mon, 27 Jun 2022 08:21:14 +0000 (09:21 +0100)]
build(changelog): add new scope for DRTM service

Added new scope for DRTM service.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Idffb178026ef2910102b55e640d5f5bf904e6064

2 years agofeat(fvp): increase MAX_XLAT_TABLES entries for DRTM support
Manish V Badarkhe [Wed, 23 Feb 2022 09:47:59 +0000 (09:47 +0000)]
feat(fvp): increase MAX_XLAT_TABLES entries for DRTM support

DRTM implementation maps the DLME data region provided by the
DCE-preamble in BL31, hence increased MAX_XLAT_TABLES entries
count.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Change-Id: I5f0ac69e009c4f81d3590fdb1f4c0a7f73c5c99d

2 years agofeat(fvp): increase BL31's stack size for DRTM support
Lucian Paul-Trifu [Wed, 23 Feb 2022 09:34:45 +0000 (09:34 +0000)]
feat(fvp): increase BL31's stack size for DRTM support

The stack size of BL31 has been increased to accommodate the
introduction of mbedTLS support for DRTM.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Change-Id: Id0beacf4df553af4ecbe714af20e71604ccfed59

2 years agofeat(fvp): add platform hooks for DRTM DMA protection
Lucian Paul-Trifu [Wed, 22 Jun 2022 17:45:30 +0000 (18:45 +0100)]
feat(fvp): add platform hooks for DRTM DMA protection

Added necessary platform hooks for DRTM DMA protection.
These calls will be used by the subsequent DRTM implementation
patches.
DRTM platform API declarations have been listed down in a
separate header file.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Change-Id: Ib9726d1d3570800241bde702ee7006a64f1739ec

2 years agobuild: forbid `ENABLE_RME=1` when `SEPARATE_CODE_AND_RODATA=0`
Chris Kay [Thu, 29 Sep 2022 15:21:24 +0000 (16:21 +0100)]
build: forbid `ENABLE_RME=1` when `SEPARATE_CODE_AND_RODATA=0`

This change mitigates against read-only data being used for malicious
execution on platforms utilizing the RME/CCA.

Change-Id: I0068535aeaa5d2515c7c54ee0dc19200c7a86ba5
Signed-off-by: Chris Kay <chris.kay@arm.com>
2 years agoMerge "fix(qemu): enable SVE and SME" into integration
Sandrine Bailleux [Wed, 5 Oct 2022 13:08:32 +0000 (15:08 +0200)]
Merge "fix(qemu): enable SVE and SME" into integration

2 years agoMerge "fix(rss): fix build issues with comms protocol" into integration
Sandrine Bailleux [Wed, 5 Oct 2022 12:44:05 +0000 (14:44 +0200)]
Merge "fix(rss): fix build issues with comms protocol" into integration

2 years agofix(rss): fix build issues with comms protocol
Tamas Ban [Mon, 3 Oct 2022 13:34:02 +0000 (15:34 +0200)]
fix(rss): fix build issues with comms protocol

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I77d2d3c5ac39a840b768f84f859d76b3965749aa

2 years agoMerge changes from topic "mt8188 cpu_pm" into integration
Olivier Deprez [Wed, 5 Oct 2022 11:37:10 +0000 (13:37 +0200)]
Merge changes from topic "mt8188 cpu_pm" into integration

* changes:
  feat(mediatek): move lpm drivers back to common
  feat(mt8188): add cpu_pm driver
  fix(mt8188): refine c-state power domain for extensibility

2 years agoMerge "fix(mt8186-emi-mpu): fix SCP permission" into integration
Olivier Deprez [Wed, 5 Oct 2022 09:31:36 +0000 (11:31 +0200)]
Merge "fix(mt8186-emi-mpu): fix SCP permission" into integration

2 years agofix(qemu): enable SVE and SME
Andre Przywara [Tue, 4 Oct 2022 12:41:32 +0000 (13:41 +0100)]
fix(qemu): enable SVE and SME

Starting with QEMU v3.1.0 (Dec 2018), QEMU's TCG emulation engine supports
the SVE architecture extension. In QEMU v7.1.0 (Aug 2022) it also gained
SME support.

As it stands today, running TF-A under QEMU with "-cpu max" makes Linux
hang, because SME and SVE accesses trap to EL3, but are never handled
there. This is because the Linux kernel sees the SVE or SME feature bits,
and assumes firmware has enabled the feature for lower exception levels.
This requirement is described in the Linux kernel booting protocol.

Enable those features in the TF-A build, so that BL31 does the proper
EL3 setup to make the feature usable in non-secure world.
We check the actual feature bits before accessing SVE or SME registers,
so this is safe even for older QEMU version or when not running with
-cpu max. As SVE and SME are AArch64 features only, do not enable them
when building for AArch32.

Change-Id: I5b718eb298a0bbcf36244479e8d42e54a2faca61
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2 years agoMerge changes from topic "aarch32_debug_aborts" into integration
Manish Pandey [Wed, 5 Oct 2022 09:15:28 +0000 (11:15 +0200)]
Merge changes from topic "aarch32_debug_aborts" into integration

* changes:
  feat(stm32mp1): add plat_report_*_abort functions
  feat(debug): add helpers for aborts on AARCH32
  feat(debug): add AARCH32 CP15 fault registers

2 years agoMerge "feat(fvp): support building RSS comms driver" into integration
Manish Pandey [Wed, 5 Oct 2022 09:00:26 +0000 (11:00 +0200)]
Merge "feat(fvp): support building RSS comms driver" into integration

2 years agoMerge "refactor(console): move putchar() to console driver" into integration
Madhukar Pappireddy [Tue, 4 Oct 2022 15:06:43 +0000 (17:06 +0200)]
Merge "refactor(console): move putchar() to console driver" into integration

2 years agofix(mt8186-emi-mpu): fix SCP permission
Yidi Lin [Mon, 3 Oct 2022 11:26:33 +0000 (19:26 +0800)]
fix(mt8186-emi-mpu): fix SCP permission

Hardware video decoding is not working after enabling EMI MPU protection
for SCP.

According to coreboot DEVAPC setting, SCP belongs to domain 4 instead of
domain 3. So correct the permission setting.

BUG=b:249954378
TEST=play video and see codec irq count is incrementing.

Signed-off-by: Yidi Lin <yidilin@chromium.org>
Change-Id: If71de3eabf8682909f96924c159aa92f25deb96c

2 years agoMerge "fix(versal-net): use api_id directly without FUNCID_MASK" into integration
Manish V Badarkhe [Tue, 4 Oct 2022 09:50:43 +0000 (11:50 +0200)]
Merge "fix(versal-net): use api_id directly without FUNCID_MASK" into integration

2 years agoMerge changes I134f125f,Ia4bf45bf into integration
Manish V Badarkhe [Tue, 4 Oct 2022 08:45:50 +0000 (10:45 +0200)]
Merge changes I134f125f,Ia4bf45bf into integration

* changes:
  refactor(sgi): rename RD-Edmunds to RD-V2
  refactor(cpu): use the updated IP name for Demeter CPU

2 years agorefactor(console): move putchar() to console driver
Claus Pedersen [Mon, 12 Sep 2022 23:47:10 +0000 (23:47 +0000)]
refactor(console): move putchar() to console driver

Moving putchar() out of libc and adding a weak dummy
implementation in libc.

This is to remove libc's dependencies to the platform
driver.

Signed-off-by: Claus Pedersen <claustbp@google.com>
Change-Id: Ib7fefaec0babb783def614ea23521f482fa4a28a

2 years agofeat(mediatek): move lpm drivers back to common
Bo-Chen Chen [Thu, 29 Sep 2022 02:41:26 +0000 (10:41 +0800)]
feat(mediatek): move lpm drivers back to common

In order to sync drivers with MediaTek internal code base, we move lpm
drivers back to common folder.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I1066e092febe0abb9782a46f668613e137737c88

2 years agofeat(mt8188): add cpu_pm driver
Edward-JW Yang [Mon, 5 Sep 2022 09:36:36 +0000 (17:36 +0800)]
feat(mt8188): add cpu_pm driver

- Add cpu_pm driver for CPU idle and SMP flow.
- Add SMP driver for CPU power on/off control.
- Add CPC driver to handle CPU powered on/off in CPU suspend.
- Add mbox driver for tinysys support.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.com>
Change-Id: I20141474e1c43cdfacb9f2c6a2285721e50a617c

2 years agofix(mt8188): refine c-state power domain for extensibility
Edward-JW Yang [Thu, 15 Sep 2022 13:09:10 +0000 (21:09 +0800)]
fix(mt8188): refine c-state power domain for extensibility

1. MT8188 uses "suspend to RAM" instead of "suspend to idle", so
   remove s2idle state.
2. Definition c-state power domain:
    - bit[7:4] (main state id):
      1: Cluster.
      2: Mcusys.
      3: Memory.
      4: System pll.
      5: System bus.
      6: SoC 26m/DCXO.
      7: Vcore buck.
      15: Suspend.
    - bit[3:0] (reserved for state_id extension):
      4: CPU buck.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.corp-partner.google.com>
Change-Id: Ibacd3d642f78726e1f1c08f18892481d2695f9e6

2 years agoMerge "refactor(psci): unify psci_is_last_on_cpu and psci_is_last_on_cpu_safe" into...
Manish Pandey [Mon, 3 Oct 2022 14:46:52 +0000 (16:46 +0200)]
Merge "refactor(psci): unify psci_is_last_on_cpu and psci_is_last_on_cpu_safe" into integration

2 years agofeat(stm32mp1): add plat_report_*_abort functions
Yann Gautier [Thu, 29 Aug 2019 17:04:29 +0000 (19:04 +0200)]
feat(stm32mp1): add plat_report_*_abort functions

The new helpers are created in STM32MP1 platform for prefetch and data
aborts.
While at it, put plat_report_exception() under DEBUG flag. If DEBUG is
not set, the weak function which does the same will be used.
This plat_report_exception() function can also be simplified, as it will
no more be used to report aborts.

Change-Id: Ibe989b28e236693f317cffb0545ea0611b7bdde4
Signed-off-by: Yann Gautier <yann.gautier@st.com>
2 years agofeat(debug): add helpers for aborts on AARCH32
Yann Gautier [Fri, 15 Feb 2019 15:42:20 +0000 (16:42 +0100)]
feat(debug): add helpers for aborts on AARCH32

New helper functions are created to handle data & prefetch aborts
in AARCH32. They call platform functions, just like what
report_exception is doing.
As extended MSR/MRS instructions (to access lr_abt in monitor mode)
are only available if CPU (Armv7) has virtualization extension,
the functions branch to original report_exception handlers if this is
not the case.
Those new helpers are created mainly to distinguish data and prefetch
aborts, as they both share the same mode.
This adds 40 bytes of code.

Change-Id: I5dd31930344ad4e3a658f8a9d366a87a300aeb67
Signed-off-by: Yann Gautier <yann.gautier@st.com>
2 years agofeat(debug): add AARCH32 CP15 fault registers
Yann Gautier [Tue, 21 May 2019 16:59:18 +0000 (18:59 +0200)]
feat(debug): add AARCH32 CP15 fault registers

For an easier debug on Aarch32, in case of abort, it is useful to access
DFSR, IFSR, DFAR and IFAR CP15 registers.

Change-Id: Ie6b5a2882cd701f76e9d455ec43bd4b0fbe3cc78
Signed-off-by: Yann Gautier <yann.gautier@st.com>
2 years agofix(versal-net): use api_id directly without FUNCID_MASK
Michal Simek [Mon, 3 Oct 2022 12:02:57 +0000 (14:02 +0200)]
fix(versal-net): use api_id directly without FUNCID_MASK

The purpose of this code is to extract api_id from smc_fid but this masking
is done already in the code with using generic mask from smccc.h
(FUNCID_NUM_MASK). That's why remove FUNCID_MASK is which not needed and
actually also equal to already used FUNCID_NUM_MASK.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I1113825baa5d9d58d9d7c5d9d5855fecf62e8d45

2 years agoMerge "build(rss): introduce rss_comms.mk makefile" into integration
Sandrine Bailleux [Mon, 3 Oct 2022 11:37:54 +0000 (13:37 +0200)]
Merge "build(rss): introduce rss_comms.mk makefile" into integration

2 years agofeat(fvp): support building RSS comms driver
Sandrine Bailleux [Wed, 31 Aug 2022 12:05:38 +0000 (14:05 +0200)]
feat(fvp): support building RSS comms driver

On one hand, there is currently no upstream platform supporting the
RSS. On the other hand, we are gradually introducing driver code for
RSS. Even though we cannot test this code in the TF-A CI right now, we
can at least build it to make sure no build regressions are introduced
as we continue development.

This patch adds support for overriding PLAT_RSS_NOT_SUPPORTED build
flag (which defaults to 1 on the Base AEM FVP) from the command
line. This allows introducing an ad-hoc CI build config with
PLAT_RSS_NOT_SUPPORTED=0, which will correctly pull in the RSS and MHU
source files. Of course, the resulting firmware will not be
functional.

Change-Id: I2b0e8dd03bf301e7063dd4734ea5266b73265be1
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2 years agobuild(rss): introduce rss_comms.mk makefile
Sandrine Bailleux [Wed, 31 Aug 2022 11:53:10 +0000 (13:53 +0200)]
build(rss): introduce rss_comms.mk makefile

Provide a new makefile as a convenience for platform makefiles to pull
in the list of source files and headers for the RSS communication
driver.

Change-Id: I188a1a8f4e77318cdc87c3155b280090c46ce813
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2 years agorefactor(sgi): rename RD-Edmunds to RD-V2
Joel Goddard [Wed, 21 Sep 2022 16:21:12 +0000 (21:51 +0530)]
refactor(sgi): rename RD-Edmunds to RD-V2

Neoverse Reference Design platform RD-Edmunds has been renamed to RD-V2
and so all corresponding references have been changed.

Signed-off-by: Joel Goddard <joel.goddard@arm.com>
Change-Id: I134f125f8ce9ec2f42988ecd742de307da936f2b

2 years agorefactor(cpu): use the updated IP name for Demeter CPU
Joel Goddard [Wed, 21 Sep 2022 16:22:28 +0000 (21:52 +0530)]
refactor(cpu): use the updated IP name for Demeter CPU

Neoverse Demeter CPU has been renamed to Neoverse V2 CPU.
Correspondingly, update the CPU library, file names and other
references to use the updated IP name.

Signed-off-by: Joel Goddard <joel.goddard@arm.com>
Change-Id: Ia4bf45bf47807c06f4c966861230faea420d088f

2 years agoMerge changes from topic "st_uart_updates" into integration
Manish Pandey [Mon, 3 Oct 2022 09:58:07 +0000 (11:58 +0200)]
Merge changes from topic "st_uart_updates" into integration

* changes:
  feat(stm32mp1): add early console in SP_min
  feat(st): properly manage early console
  feat(st-uart): manage STM32MP_RECONFIGURE_CONSOLE
  docs(st): introduce STM32MP_RECONFIGURE_CONSOLE
  feat(st): add trace for early console
  fix(stm32mp1): enable crash console in FIQ handler
  feat(st-uart): add initialization with the device tree
  refactor(stm32mp1): move DT_UART_COMPAT in include file
  feat(stm32mp1): configure the serial boot load address
  fix(stm32mp1): update the FIP load address for serial boot
  refactor(st): configure baudrate for UART programmer
  refactor(st-uart): compute the over sampling dynamically

2 years agoMerge "fix(rcar3): fix RPC-IF device node name" into integration
Sandrine Bailleux [Mon, 3 Oct 2022 09:21:28 +0000 (11:21 +0200)]
Merge "fix(rcar3): fix RPC-IF device node name" into integration

2 years agoMerge "fix(st): add missing string.h include" into integration
Manish V Badarkhe [Mon, 3 Oct 2022 09:14:30 +0000 (11:14 +0200)]
Merge "fix(st): add missing string.h include" into integration

2 years agoMerge "fix(intel): fix asynchronous read response by copying data to input buffer...
Sandrine Bailleux [Mon, 3 Oct 2022 08:51:09 +0000 (10:51 +0200)]
Merge "fix(intel): fix asynchronous read response by copying data to input buffer" into integration

2 years agoMerge "fix(intel): fix Mac verify update and finalize for return response data" into...
Sandrine Bailleux [Mon, 3 Oct 2022 08:50:01 +0000 (10:50 +0200)]
Merge "fix(intel): fix Mac verify update and finalize for return response data" into integration

2 years agofix(rcar3): fix RPC-IF device node name
Geert Uytterhoeven [Wed, 23 Mar 2022 13:21:31 +0000 (14:21 +0100)]
fix(rcar3): fix RPC-IF device node name

According to the Generic Names Recommendation in the Devicetree
Specification Release v0.3, and the DT Bindings for the Renesas Reduced
Pin Count Interface, the node name for a Renesas RPC-IF device should be
"spi".  The node name matters, as the node is enabled by passing a DT
fragment from TF-A to subsequent software.

Fix this by renaming the device node in the passed DT fragment from
"rpc" to "spi".

Fixes: 12c75c8886a0ee69 ("feat(plat/rcar3): emit RPC status to DT fragment if RPC unlocked")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Change-Id: Idb43353947607611331abc344f8c8ae932a20408

2 years agofix(st): add missing string.h include
Yann Gautier [Mon, 3 Oct 2022 07:30:34 +0000 (09:30 +0200)]
fix(st): add missing string.h include

Since patch on libc refactoring, there is a compilation error with
STM32MP_USB_PROGRAMMER=1:
plat/st/common/stm32cubeprogrammer_usb.c:81:35: error:
 implicit declaration of function 'strnlen'
 [-Werror=implicit-function-declaration]
      length += strnlen((char *)&dfu->buffer[GET_PHASE_LEN],

The string.h header file should be included.

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

2 years agoMerge "chore(libc): clean up includes in lib/libc/printf.c" into integration
Joanna Farley [Fri, 30 Sep 2022 15:50:15 +0000 (17:50 +0200)]
Merge "chore(libc): clean up includes in lib/libc/printf.c" into integration

2 years agoMerge "docs(changelog): fix incorrect documentation title" into integration
Lauren Wehrmeister [Fri, 30 Sep 2022 13:35:42 +0000 (15:35 +0200)]
Merge "docs(changelog): fix incorrect documentation title" into integration