]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofeat(rme): add dummy platform token to RMMD
Soby Mathew [Tue, 22 Mar 2022 16:19:39 +0000 (16:19 +0000)]
feat(rme): add dummy platform token to RMMD

Add a dummy platform token to RMMD and return it on request. The
platform token is requested with an SMC with the following parameters:
    * Fid (0xC40001B3).
    * Platform token PA (the platform token is copied at this address by
      the monitor). The challenge object needs to be passed by
      the caller in this buffer.
    * Platform token len.
    * Challenge object len.

When calling the SMC, the platform token buffer received by EL3 contains
the challenge object. It is not used on the FVP and is only printed to
the log.

Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
Signed-off-by: Subhasish Ghosh <subhasish.ghosh@arm.com>
Change-Id: I8b2f1d54426c04e76d7a3baa6b0fbc40b0116348

3 years agorefactor(rme): reorg existing RMMD EL3 service FIDs
Soby Mathew [Tue, 22 Mar 2022 13:58:52 +0000 (13:58 +0000)]
refactor(rme): reorg existing RMMD EL3 service FIDs

This patch reworks the GTSI service implementation in RMMD
such that it is made internal to RMMD. This rework also
lays the ground work for additional RMMD services which
can be invoked from RMM.

The rework renames some of the FID macros to make it
more suited for adding more RMMD services. All the RMM-EL31
service SMCs are now routed via rmmd_rmm_el3_handler().

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: Ic52ca0f33b79a1fd1deefa8136f9586b088b2e07

3 years agoMerge "fix(layerscape): update WA for Errata A-050426" into integration
Madhukar Pappireddy [Mon, 21 Mar 2022 14:10:56 +0000 (15:10 +0100)]
Merge "fix(layerscape): update WA for Errata A-050426" into integration

3 years agoMerge changes from topic "spectre_bhb" into integration
Madhukar Pappireddy [Fri, 18 Mar 2022 14:55:39 +0000 (15:55 +0100)]
Merge changes from topic "spectre_bhb" into integration

* changes:
  fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57
  fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72
  fix(fvp): disable reclaiming init code by default

3 years agofix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57
Bipin Ravi [Thu, 24 Feb 2022 05:45:50 +0000 (23:45 -0600)]
fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57

This patch applies CVE-2022-23960 workarounds for Cortex-A75,
Cortex-A73, Cortex-A72 & Cortex-A57. This patch also implements
the new SMCCC_ARCH_WORKAROUND_3 and enables necessary discovery
hooks for Coxtex-A72, Cortex-A57, Cortex-A73 and Cortex-A75 to
enable discovery of this SMC via SMC_FEATURES. SMCCC_ARCH_WORKAROUND_3
is implemented for A57/A72 because some revisions are affected by both
CVE-2022-23960 and CVE-2017-5715 and this allows callers to replace
SMCCC_ARCH_WORKAROUND_1 calls with SMCCC_ARCH_WORKAROUND_3. For details
of SMCCC_ARCH_WORKAROUND_3, please refer SMCCCv1.4 specification.

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: Ifa6d9c7baa6764924638efe3c70468f98d60ed7c

3 years agofix(layerscape): update WA for Errata A-050426
Wasim Khan [Wed, 23 Feb 2022 11:03:48 +0000 (12:03 +0100)]
fix(layerscape): update WA for Errata A-050426

Update WA for Errata A-050426 as Commands for
PEX (PEX1..PEX6) , lnx1_e1000#0, lnx1_xfi and
lnx2_xfi has been moved to PBI phase.

This patch requires RCW to include PBI commands
to write commands in BIST mode for PEX, lnx1_e1000,
lnx1_xfi and lnx2_xfi IP blocks.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Change-Id: I27c2b055c82c0b58df83449f9082bfbfdeb65115

3 years agofix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72
Bipin Ravi [Wed, 16 Feb 2022 05:24:51 +0000 (23:24 -0600)]
fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72

Implements mitigation for Cortex-A72 CPU versions that support
the CSV2 feature(from r1p0). It also applies the mitigation for
Cortex-A57 CPU.

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I7cfcf06537710f144f6e849992612033ddd79d33

3 years agofix(fvp): disable reclaiming init code by default
Madhukar Pappireddy [Wed, 16 Mar 2022 19:20:48 +0000 (14:20 -0500)]
fix(fvp): disable reclaiming init code by default

In anticipation of Spectre BHB workaround mitigation patches, we
disable the RECLAIM_INIT_CODE for FVP platform. Since the spectre
BHB mitigation workarounds inevitably increase the size of the various
segments due to additional instructions and/or macros, these segments
cannot be fit in the existing memory layout designated for BL31 image.
The issue is specifically seen in complex build configs for FVP
platform. One such config has TBB with Dual CoT and test secure
payload dispatcher(TSPD) enabled. Even a small increase in individual
segment size in order of few bytes might lead to build fails due to
alignment requirements(PAGE_ALIGN to 4KB).

This is needed to workaround the following build failures observed
across multiple build configs:

aarch64-none-elf-ld.bfd: BL31 init has exceeded progbits limit.

aarch64-none-elf-ld.bfd: /work/workspace/workspace/tf-worker_ws_2/trusted_firmware/build/fvp/debug/bl31/bl31.elf section coherent_ram will not fit in region RAM
aarch64-none-elf-ld.bfd: BL31 image has exceeded its limit.
aarch64-none-elf-ld.bfd: region RAM overflowed by 4096 bytes

Change-Id: Idfab539e9a40f4346ee11eea1e618c97e93e19a1
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
3 years agoMerge "fix(xilinx): fix coding style violations" into integration
Madhukar Pappireddy [Wed, 16 Mar 2022 14:41:31 +0000 (15:41 +0100)]
Merge "fix(xilinx): fix coding style violations" into integration

3 years agoMerge "feat(mt8186): add DFD control in SiP service" into integration
Manish Pandey [Wed, 16 Mar 2022 11:55:03 +0000 (12:55 +0100)]
Merge "feat(mt8186): add DFD control in SiP service" into integration

3 years agoMerge "fix(a3k): change fatal error to warning when CM3 reset is not implemented...
Manish Pandey [Wed, 16 Mar 2022 11:37:17 +0000 (12:37 +0100)]
Merge "fix(a3k): change fatal error to warning when CM3 reset is not implemented" into integration

3 years agofix(a3k): change fatal error to warning when CM3 reset is not implemented
Pali Rohár [Sat, 12 Mar 2022 11:45:56 +0000 (12:45 +0100)]
fix(a3k): change fatal error to warning when CM3 reset is not implemented

This allows TF-A's a3700_system_reset() function to try Warm reset
method when CM3 reset method is not implemented by WTMI firmware.

Signed-off-by: Pali Rohár <pali@kernel.org>
Change-Id: I7303197373e1a8ca5a44ba0b1e90b48855d6c0c3

3 years agoMerge changes from topic "spectre_bhb" into integration
Madhukar Pappireddy [Tue, 15 Mar 2022 17:29:55 +0000 (18:29 +0100)]
Merge changes from topic "spectre_bhb" into integration

* changes:
  fix(security): loop workaround for CVE-2022-23960 for Cortex-A76
  refactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639

3 years agoMerge changes from topic "revert-14286-uart_segregation-VURJFOWMTM" into integration
Madhukar Pappireddy [Tue, 15 Mar 2022 13:39:49 +0000 (14:39 +0100)]
Merge changes from topic "revert-14286-uart_segregation-VURJFOWMTM" into integration

* changes:
  Revert "feat(sgi): deviate from arm css common uart related defi..."
  Revert "feat(sgi): route TF-A logs via secure uart"
  Revert "feat(sgi): add page table translation entry for secure uart"

3 years agoMerge "fix(security): workaround for CVE-2022-23960" into integration
Madhukar Pappireddy [Sat, 12 Mar 2022 00:39:37 +0000 (01:39 +0100)]
Merge "fix(security): workaround for CVE-2022-23960" into integration

3 years agoRevert "feat(sgi): deviate from arm css common uart related defi..."
Madhukar Pappireddy [Fri, 11 Mar 2022 19:49:20 +0000 (20:49 +0100)]
Revert "feat(sgi): deviate from arm css common uart related defi..."

Revert submission 14286-uart_segregation

Reason for revert: Need to wait for companion patches in CI and UEFI/Linux to be upstreamed.

Reverted Changes:
I8574b31d5:feat(sgi): add page table translation entry for se...
I8896ae05e:feat(sgi): route TF-A logs via secure uart
I39170848e:feat(sgi): deviate from arm css common uart relate...

Change-Id: I28a370dd8b3a37087da621460eccc1acd7a30287

3 years agoRevert "feat(sgi): route TF-A logs via secure uart"
Madhukar Pappireddy [Fri, 11 Mar 2022 19:49:20 +0000 (20:49 +0100)]
Revert "feat(sgi): route TF-A logs via secure uart"

Revert submission 14286-uart_segregation

Reason for revert: Need to wait for companion patches in CI and UEFI/Linux to be upstreamed.

Reverted Changes:
I8574b31d5:feat(sgi): add page table translation entry for se...
I8896ae05e:feat(sgi): route TF-A logs via secure uart
I39170848e:feat(sgi): deviate from arm css common uart relate...

Change-Id: I7c488aed9fcb70c55686d705431b3fe017b8927d

3 years agoRevert "feat(sgi): add page table translation entry for secure uart"
Madhukar Pappireddy [Fri, 11 Mar 2022 19:49:20 +0000 (20:49 +0100)]
Revert "feat(sgi): add page table translation entry for secure uart"

Revert submission 14286-uart_segregation

Reason for revert: Need to wait for companion patches in CI and UEFI/Linux to be upstreamed.

Reverted Changes:
I8574b31d5:feat(sgi): add page table translation entry for se...
I8896ae05e:feat(sgi): route TF-A logs via secure uart
I39170848e:feat(sgi): deviate from arm css common uart relate...

Change-Id: I9bec02496f826e184c6efa643f869b2eb3b52539

3 years agoMerge "fix(st): don't try to read boot partition on SD cards" into integration
Madhukar Pappireddy [Fri, 11 Mar 2022 17:00:38 +0000 (18:00 +0100)]
Merge "fix(st): don't try to read boot partition on SD cards" into integration

3 years agofeat(mt8186): add DFD control in SiP service
Rex-BC Chen [Thu, 2 Dec 2021 06:03:44 +0000 (14:03 +0800)]
feat(mt8186): add DFD control in SiP service

DFD (Design for Debug) is a debugging tool, which scans flip-flops and
dumps to internal RAM on the WDT reset. After system reboots, those
values could be showed for debugging.

BUG=b:222217317
TEST=build pass

Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Change-Id: I659ea1e0789cf135a71a13b752edaa35123e0941

3 years agofix(st): don't try to read boot partition on SD cards
Uwe Kleine-König [Thu, 10 Mar 2022 21:21:55 +0000 (22:21 +0100)]
fix(st): don't try to read boot partition on SD cards

When trying to boot from an SD card with STM32MP_EMMC_BOOT enabled,
booting fails with:

ERROR:   Got unexpected value for active boot partition, 0
ASSERT: plat/st/common/bl2_stm32_io_storage.c:285

because SD cards don't provide a boot partition. So only try reading
from such a partition when booting from eMMC.

Fixes: 214c8a8d08b2 ("feat(plat/st): add STM32MP_EMMC_BOOT option")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Change-Id: I354b737a3ae3ea577e83dfeb7096df22275d852d

3 years agoMerge "fix(brcm): allow build to specify mbedTLS absolute path" into integration
Joanna Farley [Fri, 11 Mar 2022 09:31:16 +0000 (10:31 +0100)]
Merge "fix(brcm): allow build to specify mbedTLS absolute path" into integration

3 years agofix(security): loop workaround for CVE-2022-23960 for Cortex-A76
Bipin Ravi [Wed, 9 Feb 2022 01:32:38 +0000 (19:32 -0600)]
fix(security): loop workaround for CVE-2022-23960 for Cortex-A76

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I8d433b39a5c0f9e1cef978df8a2986d7a35d3745

3 years agorefactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639
Bipin Ravi [Thu, 3 Feb 2022 05:03:28 +0000 (23:03 -0600)]
refactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639

Re-factored the prior implementation of workaround for CVE-2018-3639
using branch and link instruction to save vector space to include the
workaround for CVE-2022-23960.

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ib3fe949583160429b5de8f0a4a8e623eb91d87d4

3 years agofix(security): workaround for CVE-2022-23960
Bipin Ravi [Tue, 18 Jan 2022 07:59:06 +0000 (01:59 -0600)]
fix(security): workaround for CVE-2022-23960

Implements the loop workaround for Cortex-A77, Cortex-A78,
Cortex-A710, Cortex-X2, Neoverse N1, Neoverse N2 and Neoverse V1
CPUs.

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I11d342df7a2068a15e18f4974c645af3b341235b

3 years agoMerge "fix(fvp): op-tee sp manifest doesn't map gicd" into integration
Olivier Deprez [Thu, 10 Mar 2022 17:47:09 +0000 (18:47 +0100)]
Merge "fix(fvp): op-tee sp manifest doesn't map gicd" into integration

3 years agoMerge "fix(fvp): FCONF Trace Not Shown" into integration
Madhukar Pappireddy [Thu, 10 Mar 2022 17:24:14 +0000 (18:24 +0100)]
Merge "fix(fvp):  FCONF Trace Not Shown" into integration

3 years agoMerge changes from topic "uart_segregation" into integration
Madhukar Pappireddy [Thu, 10 Mar 2022 15:36:29 +0000 (16:36 +0100)]
Merge changes from topic "uart_segregation" into integration

* changes:
  feat(sgi): add page table translation entry for secure uart
  feat(sgi): route TF-A logs via secure uart
  feat(sgi): deviate from arm css common uart related definitions

3 years agofix(brcm): allow build to specify mbedTLS absolute path
Manish V Badarkhe [Wed, 9 Mar 2022 21:49:59 +0000 (21:49 +0000)]
fix(brcm): allow build to specify mbedTLS absolute path

Updated makefile so that build can accept absolute mbedTLS path.

Change-Id: Ife73266a01d7ed938aafc5e370240023237ebf61
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
3 years agofix(fvp): FCONF Trace Not Shown
Juan Pablo Conde [Tue, 1 Feb 2022 20:19:58 +0000 (15:19 -0500)]
fix(fvp):  FCONF Trace Not Shown

Updating call order for arm_console_boot_init() and arm_bl31_early_platform_setup().

Signed-off-by:  Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: If932fff2ee4282a0aacf8751fa81e7665b886467

3 years agoMerge "fix(brcm): fix the build failure with mbedTLS config" into integration
Joanna Farley [Thu, 10 Mar 2022 09:14:49 +0000 (10:14 +0100)]
Merge "fix(brcm): fix the build failure with mbedTLS config" into integration

3 years agoMerge "fix(gpt_rme): rework delegating/undelegating sequence" into integration
Soby Mathew [Wed, 9 Mar 2022 19:47:08 +0000 (20:47 +0100)]
Merge "fix(gpt_rme): rework delegating/undelegating sequence" into integration

3 years agofix(brcm): fix the build failure with mbedTLS config
Manish V Badarkhe [Wed, 9 Mar 2022 14:12:34 +0000 (14:12 +0000)]
fix(brcm): fix the build failure with mbedTLS config

Patch [1] introduces a mechanism to provide the platform
specified mbedTLS config file, but that result in build failure
for Broadcom platform.
This build failure is due to the absence of the mbedTLS configuration
file i.e. brcm_mbedtls_config.h in the TF-A source code repository.
"fatal error: brcm_mbedtls_config.h: No such file or directory"

This problem was resolved by removing the 'brcm_mbedtls_config.h' entry
from the broadcom platform makefile, allowing this platform to use
the default mbedtls_config.h file.

[1]: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13726

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

3 years agofeat(sgi): add page table translation entry for secure uart
Rohit Mathew [Mon, 13 Dec 2021 15:33:04 +0000 (15:33 +0000)]
feat(sgi): add page table translation entry for secure uart

Add page table translation entry for secure uart so that logs from
secure partition can be routed via the same.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I8574b31d5d138d9f94972deb903124f8c5b70ce4

3 years agofeat(sgi): route TF-A logs via secure uart
Rohit Mathew [Mon, 13 Dec 2021 15:40:25 +0000 (15:40 +0000)]
feat(sgi): route TF-A logs via secure uart

Route the boot, runtime and crash stage logs via secure UART port
instead of the existing use of non-secure UART. This aligns with the
security state the PE is in when logs are put out. In addition to this,
this allows consolidation of the UART related macros across all the
variants of the Neoverse reference design platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I8896ae05eaedf06dead520659375af0329f31015

3 years agofeat(sgi): deviate from arm css common uart related definitions
Rohit Mathew [Mon, 13 Dec 2021 13:50:15 +0000 (13:50 +0000)]
feat(sgi): deviate from arm css common uart related definitions

The Neoverse reference design platforms will migrate to use different
set of secure and non-secure UART ports. This implies that the board
specific macros defined in the common Arm platform code will no longer
be usable for Neoverse reference design platforms.

In preparation for migrating to a different set of UART ports, add a
Neoverse reference design platform specific copy of the board
definitions. The value of these definitions will be changed in
subsequent patches.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I39170848ecd81a7c1bbd3689bd905e45f9435f5c

3 years agofix(gpt_rme): rework delegating/undelegating sequence
Robert Wakim [Thu, 21 Oct 2021 14:39:56 +0000 (15:39 +0100)]
fix(gpt_rme): rework delegating/undelegating sequence

The previous delegating/undelegating sequence was incorrect as per the
specification DDI0615, "Architecture Reference Manual Supplement, The
Realm  Management Extension (RME), for Armv9-A" Sections A1.1.1 and
A1.1.2

Off topic:
 - cleaning the gpt_is_gpi_valid and gpt_check_pass_overlap

Change-Id: Idb64d0a2e6204f1708951137062847938ab5e0ac
Signed-off-by: Robert Wakim <robert.wakim@arm.com>
3 years agoMerge changes I713f6e93,Iac4fbf4d,I43d02c77,Iadecd544,Ib31f9c4a, ... into integration
Madhukar Pappireddy [Wed, 9 Mar 2022 14:17:24 +0000 (15:17 +0100)]
Merge changes I713f6e93,Iac4fbf4d,I43d02c77,Iadecd544,Ib31f9c4a, ... into integration

* changes:
  build(intel): enable access to on-chip ram in BL31 for N5X
  fix(intel): make FPGA memory configurations platform specific
  fix(intel): fix ECC Double Bit Error handling
  build(intel): define a macro for SIMICS build
  build(intel): add N5X as a new Intel platform
  build(intel): initial commit for crypto driver

3 years agofix(fvp): op-tee sp manifest doesn't map gicd
Olivier Deprez [Tue, 25 May 2021 09:56:01 +0000 (11:56 +0200)]
fix(fvp): op-tee sp manifest doesn't map gicd

Following I2d274fa897171807e39b0ce9c8a28824ff424534:
Remove GICD registers S2 mapping from OP-TEE partition when it runs in a
secure partition on top of Hafnium.
The partition is not meant to access the GIC directly but use the
Hafnium provided interfaces.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I1a38101f6ae9911662828734a3c9572642123f32

3 years agofix(xilinx): fix coding style violations
Michal Simek [Wed, 9 Mar 2022 07:53:20 +0000 (08:53 +0100)]
fix(xilinx): fix coding style violations

Fix coding style violations and alignments:
- Remove additional newlines in headers
- Remove additional newlines in code
- Add newline to separate variable from the code
- Use the same indentation in platform.mk
- Align function parameters
- Use tabs for indentation in kernel-doc format

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

3 years agobuild(intel): enable access to on-chip ram in BL31 for N5X
Boon Khai Ng [Fri, 21 May 2021 14:56:37 +0000 (22:56 +0800)]
build(intel): enable access to on-chip ram in BL31 for N5X

This adds the ncore ccu access and enable access to the
on-chip ram for N5X device in BL31.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I713f6e93d33b6e91705547477ca32cfba5c8c13d

3 years agofix(intel): make FPGA memory configurations platform specific
Sieu Mun Tang [Mon, 28 Feb 2022 07:24:59 +0000 (15:24 +0800)]
fix(intel): make FPGA memory configurations platform specific

Define FPGA_CONFIG_SIZE and FPGA_CONFIG_ADDR in
platform-specific header. This is due to different
allocated sizes between platforms.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Iac4fbf4d4940cdf31834a9d4332f9292870dee76

3 years agofix(intel): fix ECC Double Bit Error handling
Sieu Mun Tang [Mon, 7 Mar 2022 04:13:04 +0000 (12:13 +0800)]
fix(intel): fix ECC Double Bit Error handling

SError and Abort are handled in Linux (EL1) instead of
EL3. This patch adds some functionality that complements the
use cases by Linux as follows:

- Provide SMC for ECC DBE notification to EL3
- Determine type of reset needed and service the request in
  place of Linux

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I43d02c77f28004a31770be53599a5a42de412211

3 years agobuild(intel): define a macro for SIMICS build
Abdul Halim, Muhammad Hadi Asyrafi [Mon, 29 Jun 2020 04:15:27 +0000 (12:15 +0800)]
build(intel): define a macro for SIMICS build

SIMICS builds have different UART configurations compared
to hardware build. Hence, this patch defines a macro to
differentiate between both.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Iadecd5445e06611486ac3c6a214a6d0dc8ccd27b

3 years agobuild(intel): add N5X as a new Intel platform
Sieu Mun Tang [Mon, 7 Mar 2022 04:04:59 +0000 (12:04 +0800)]
build(intel): add N5X as a new Intel platform

This commit adds a new Intel platform called N5X.
This preliminary patch only have Bl31 support.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ib31f9c4a5a0dabdce81c1d5b0d4776188add7195

3 years agobuild(intel): initial commit for crypto driver
Sieu Mun Tang [Wed, 2 Mar 2022 03:04:09 +0000 (11:04 +0800)]
build(intel): initial commit for crypto driver

This patch adds driver for Intel FPGA's Crypto Services.
These services are provided by Intel platform
Secure Device Manager(SDM) and are made accessible by
processor components (ie ATF).
Below is the list of enabled features:
- Send SDM certificates
- Efuse provision data dump
- Encryption/decryption service
- Hardware IP random number generator

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: If7604cd1cacf27a38a9a29ec6b85b07385e1ea26

3 years agoMerge "fix(errata): workaround for Cortex-A710 2282622" into integration
Bipin Ravi [Tue, 8 Mar 2022 23:05:22 +0000 (00:05 +0100)]
Merge "fix(errata): workaround for  Cortex-A710 2282622" into integration

3 years agofix(errata): workaround for Cortex-A710 2282622
johpow01 [Tue, 1 Mar 2022 00:34:04 +0000 (18:34 -0600)]
fix(errata): workaround for  Cortex-A710 2282622

Cortex-A710 erratum 2282622 is a Cat B erratum that applies to revisions
r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set
CPUACTLR2_EL1[0] to 1, which will force PLDW/PFRM ST to behave like
PLD/PRFM LD and not cause invalidations to other PE caches.

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

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

3 years agoMerge "docs(security): security advisory for CVE-2022-23960" into integration
Madhukar Pappireddy [Tue, 8 Mar 2022 20:58:48 +0000 (21:58 +0100)]
Merge "docs(security): security advisory for CVE-2022-23960" into integration

3 years agodocs(security): security advisory for CVE-2022-23960
Bipin Ravi [Sat, 26 Feb 2022 01:12:10 +0000 (19:12 -0600)]
docs(security): security advisory for CVE-2022-23960

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I17b0847ff71e4a291bf7ba41fd71fe08c400b5e8

3 years agoMerge changes I18d47384,Icc3c7424,I73f20d82,I07325644,Iff10ad26, ... into integration
Madhukar Pappireddy [Tue, 8 Mar 2022 15:29:49 +0000 (16:29 +0100)]
Merge changes I18d47384,Icc3c7424,I73f20d82,I07325644,Iff10ad26, ... into integration

* changes:
  fix(zynqmp): query node status to power up APU
  feat(zynqmp): pm_api_clock_get_num_clocks cleanup
  feat(zynqmp): add feature check support
  fix(zynqmp): use common interface for eemi apis
  feat(zynqmp): add support to get info of xilfpga
  feat(zynqmp): pass ioctl calls to firmware

3 years agoMerge "fix(st-pmic): add static const to pmic_ops" into integration
Madhukar Pappireddy [Tue, 8 Mar 2022 15:03:01 +0000 (16:03 +0100)]
Merge "fix(st-pmic): add static const to pmic_ops" into integration

3 years agofix(st-pmic): add static const to pmic_ops
Yann Gautier [Wed, 9 Feb 2022 16:35:45 +0000 (17:35 +0100)]
fix(st-pmic): add static const to pmic_ops

The static was found by sparse tool:
drivers/st/pmic/stm32mp_pmic.c:456:18: warning: symbol 'pmic_ops'
 was not declared. Should it be static?
The const was also missing.

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

3 years agoMerge "refactor(mbedtls): allow platform to specify their config file" into integration
Bipin Ravi [Mon, 7 Mar 2022 20:40:26 +0000 (21:40 +0100)]
Merge "refactor(mbedtls): allow platform to specify their config file" into integration

3 years agoMerge "docs(maintainers): add maintained files for MediaTek SoCs" into integration
Madhukar Pappireddy [Mon, 7 Mar 2022 17:46:39 +0000 (18:46 +0100)]
Merge "docs(maintainers): add maintained files for MediaTek SoCs" into integration

3 years agoMerge "fix(versal): fix the incorrect log message" into integration
Madhukar Pappireddy [Mon, 7 Mar 2022 15:05:21 +0000 (16:05 +0100)]
Merge "fix(versal): fix the incorrect log message" into integration

3 years agofix(versal): fix the incorrect log message
Venkatesh Yadav Abbarapu [Thu, 3 Mar 2022 08:58:36 +0000 (01:58 -0700)]
fix(versal): fix the incorrect log message

When the atf-handoff-params are updated we are returning
FSBL_HANDOFF_SUCCESS, but the return condition is wrongly
updated and added a error log which is incorrect.
Fixing the incorrect log message.

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

3 years agoMerge "fix(st-clock): initialize pllcfg table" into integration
Madhukar Pappireddy [Sun, 6 Mar 2022 00:24:17 +0000 (01:24 +0100)]
Merge "fix(st-clock): initialize pllcfg table" into integration

3 years agoMerge changes from topic "st-uart-baudrate" into integration
Madhukar Pappireddy [Sun, 6 Mar 2022 00:23:23 +0000 (01:23 +0100)]
Merge changes from topic "st-uart-baudrate" into integration

* changes:
  refactor(st): configure UART baudrate
  docs(stm32mp1): document some compilation flags
  feat(st-uart): manage oversampling by 8
  fix(st-uart): correctly fill BRR register

3 years agorefactor(st): configure UART baudrate
Yann Gautier [Wed, 2 Mar 2022 13:31:55 +0000 (14:31 +0100)]
refactor(st): configure UART baudrate

Add the possibility to configure console UART baudrate, it can be passed
as a command line parameter with STM32MP_UART_BAUDRATE. The default value
remains 115200.

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

3 years agodocs(stm32mp1): document some compilation flags
Yann Gautier [Thu, 3 Mar 2022 17:22:46 +0000 (18:22 +0100)]
docs(stm32mp1): document some compilation flags

Add missing serial boot devices flags.
Add optional compilation flags, and their defauld values.

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

3 years agofeat(st-uart): manage oversampling by 8
Yann Gautier [Mon, 28 Feb 2022 17:28:06 +0000 (18:28 +0100)]
feat(st-uart): manage oversampling by 8

UART oversampling by 8 allows higher baud rates for UART. This is
required when (UART freq / baudrate) <= 16. In this case the OVER8 bit
needs to be enabled in CR1 register. And the BRR register management is
different:
USARTDIV = (2 * UART freq / baudrate) (with div round nearest)
BRR[15:4] = USARTDIV[15:4]
BRR[3] = 0
BRR[2:0] = USARTDIV[3:0] >> 1

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

3 years agofix(st-uart): correctly fill BRR register
Yann Gautier [Mon, 28 Feb 2022 16:29:49 +0000 (17:29 +0100)]
fix(st-uart): correctly fill BRR register

To get the nearest divisor for BRR register, we use:
Divisor =  (Uart clock + (baudrate / 2)) / baudrate
But lsl was wrongly used instead of lsr to have the division by 2.

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

3 years agofix(st-clock): initialize pllcfg table
Yann Gautier [Fri, 4 Mar 2022 10:08:47 +0000 (11:08 +0100)]
fix(st-clock): initialize pllcfg table

The issue was found by Coverity:
CID 376582:    (UNINIT)
    Using uninitialized value "*pllcfg[_PLL4]" when calling
    "stm32mp1_check_pll_conf".
CID 376582:    (UNINIT)
    Using uninitialized value "*pllcfg[_PLL3]" when calling
    "stm32mp1_check_pll_conf".

Check PLL configs are valid before using pllcfg.

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

3 years agoMerge "feat(ff-a): forward FFA_VERSION from SPMD to SPMC" into integration
Olivier Deprez [Fri, 4 Mar 2022 12:22:45 +0000 (13:22 +0100)]
Merge "feat(ff-a): forward FFA_VERSION from SPMD to SPMC" into integration

3 years agodocs(maintainers): add maintained files for MediaTek SoCs
Rex-BC Chen [Fri, 4 Mar 2022 03:50:43 +0000 (11:50 +0800)]
docs(maintainers): add maintained files for MediaTek SoCs

Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Change-Id: I2d71b2fef2f2aee507a6e7c4b9b9d8175446a0ca

3 years agoMerge "feat(mt8186): disable 26MHz clock while suspending" into integration
Manish Pandey [Thu, 3 Mar 2022 12:57:27 +0000 (13:57 +0100)]
Merge "feat(mt8186): disable 26MHz clock while suspending" into integration

3 years agofix(zynqmp): query node status to power up APU
Ravi Patel [Thu, 15 Apr 2021 12:55:19 +0000 (05:55 -0700)]
fix(zynqmp): query node status to power up APU

If APU is in suspending state and if wakeup request comes then
PMUFW returns error which is not handled at ATF side.

To fix this, get the APU node status before calling wakeup and
return error if found in suspending state.

Here, we can not handle the error code of pm_req_wakeup() from PMUFW
because ATF is already calling pm_client_wakeup() before calling
pm_req_wakeup().

Signed-off-by: Ravi Patel <ravi.patel@xilinx.com>
Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: I18d47384e46e22ae49e804093ad0641b7a6349e2

3 years agofeat(zynqmp): pm_api_clock_get_num_clocks cleanup
Michal Simek [Wed, 2 Feb 2022 08:15:31 +0000 (09:15 +0100)]
feat(zynqmp): pm_api_clock_get_num_clocks cleanup

There is no reason to have even one additional useless line that's why
remove it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: Icc3c74249dfe64173aa5c88fb0f9ffe7576fc2aa

3 years agofeat(zynqmp): add feature check support
Ronak Jain [Tue, 21 Dec 2021 09:39:59 +0000 (01:39 -0800)]
feat(zynqmp): add feature check support

This API returns version of supported APIs.

Here, there are three cases to check API version by using feature
check implementation.

1. Completely implemented in TF-A: I mean the EEMI APIs which are
completely implemented in the TF-A only. So check those IDs and
return appropriate version for the same. Right now, it is base
version.

2. Completely implemented in firmware: I mean the EEMI APIs which are
completely implemented in the firmware only. Here, TF-A only passes
Linux request to the firmware to get the version of supported API. So
check those IDs and send request to firmware to get the version and
return to Linux if the version is supported or return the error code
if the feature is not supported.

3. Partially implemented (Implemented in TF-A and firmware both):
First check dependent EEMI API version with the expected version in
the TF-A. If the dependent EEMI API is supported in firmware then
return its version and check with the expected version in the TF-A.
If the version matches then check for the actual requested EEMI API
version. If the version is supported then return version of API
implemented in TF-A.

Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: I73f20d8222c518df1cda7879548b408b130b5b2e

3 years agofix(zynqmp): use common interface for eemi apis
Ronak Jain [Fri, 21 Jan 2022 07:11:18 +0000 (23:11 -0800)]
fix(zynqmp): use common interface for eemi apis

Currently all EEMI API has its own implementation in TF-A which is
redundant. Most EEMI API implementation in TF-A does same work. It
prepares payload received from kernel, sends payload to firmware,
receives response from firmware and send response back to kernel.

So use common interface for EEMI APIs which has similar functionality.
This will optimize TF-A code.

Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: I07325644a1fae80211f2588d5807c21973f6d48f

3 years agofeat(zynqmp): add support to get info of xilfpga
Nava kishore Manne [Thu, 13 Jan 2022 07:59:36 +0000 (13:29 +0530)]
feat(zynqmp): add support to get info of xilfpga

Adds support to get the xilfpga library version and feature list info.

Signed-off-by: Nava kishore Manne <nava.manne@xilinx.com>
Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: Iff10ad2628a6a90230c18dc3aebf9dde89f53ecd

3 years agofeat(zynqmp): pass ioctl calls to firmware
Rajan Vaja [Tue, 12 Oct 2021 10:30:09 +0000 (03:30 -0700)]
feat(zynqmp): pass ioctl calls to firmware

Firmware supports new IOCTL for different purposes. To avoid
maintaining new IOCTL IDs in ATF, pass IOCTL call to firmware
for IOCTL IDs implemented in firmware.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: Ie14697c8da9581b0f695f4d33f05161ece558385

3 years agoMerge "feat(zynqmp): increase the max xlat tables when debug build is enabled" into...
Madhukar Pappireddy [Wed, 2 Mar 2022 18:28:13 +0000 (19:28 +0100)]
Merge "feat(zynqmp): increase the max xlat tables when debug build is enabled" into integration

3 years agoMerge "feat(versal): remove the time stamp configuration" into integration
Madhukar Pappireddy [Wed, 2 Mar 2022 17:30:48 +0000 (18:30 +0100)]
Merge "feat(versal): remove the time stamp configuration" into integration

3 years agoMerge "docs(rme): minor update to 4 world execution instructions" into integration
Madhukar Pappireddy [Wed, 2 Mar 2022 15:53:53 +0000 (16:53 +0100)]
Merge "docs(rme): minor update to 4 world execution instructions" into integration

3 years agodocs(rme): minor update to 4 world execution instructions
Manish Pandey [Wed, 2 Mar 2022 14:02:51 +0000 (14:02 +0000)]
docs(rme): minor update to 4 world execution instructions

Following updates done
  - Clarification on building Hafnium
  - New test suite "Invalid memory access"

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

3 years agofeat(zynqmp): increase the max xlat tables when debug build is enabled
Venkatesh Yadav Abbarapu [Wed, 2 Mar 2022 05:10:05 +0000 (22:10 -0700)]
feat(zynqmp): increase the max xlat tables when debug build is enabled

Update the MAX_XLAT_TABLES as the memory map has been
added for the dtb to accomodate in DDR address.

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

3 years agofeat(versal): remove the time stamp configuration
Venkatesh Yadav Abbarapu [Sun, 30 Jan 2022 06:17:25 +0000 (23:17 -0700)]
feat(versal): remove the time stamp configuration

Remove the time stamp and system counter configuration, as
this configuration is already done by the first stage bootloader.

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

3 years agoMerge "fix(ufs): don't zero out buf before ufs read" into integration
Madhukar Pappireddy [Tue, 1 Mar 2022 21:58:55 +0000 (22:58 +0100)]
Merge "fix(ufs): don't zero out buf before ufs read" into integration

3 years agorefactor(mbedtls): allow platform to specify their config file
Manish V Badarkhe [Thu, 27 Jan 2022 13:50:23 +0000 (13:50 +0000)]
refactor(mbedtls): allow platform to specify their config file

Common mbedTLS implementation include the fixed configuration
file of mbedTLS and that does not gives flexilibility to the
platform to include their own mbedTLS configuration.
Hence changes are done so that platform can include their own
mbedTLS configuration file.

Signed-off-by: Lucian Paul-Trifu <lucian.paul-trifu@arm.com>
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: I04546589f67299e26b0a6a6e151cdf1fdb302607

3 years agofix(ufs): don't zero out buf before ufs read
Channa Kadabi [Mon, 28 Feb 2022 21:35:16 +0000 (13:35 -0800)]
fix(ufs): don't zero out buf before ufs read

ufs_read_blocks always zeros out the buffer before passing
to UFS for DMA. We don't need to zero out buf before reading
from UFS storage, this change remove the memset in ufs_read_blocks.

Signed-off-by: Channa Kadabi <kadabi@google.com>
Change-Id: I8029a7ea07fbd8cce29b383c80a3cfc782c5b7ec

3 years agoMerge "feat(plat/zynqmp): fix section `coherent_ram' will not fit in region `RAM...
Manish Pandey [Tue, 1 Mar 2022 13:58:41 +0000 (14:58 +0100)]
Merge "feat(plat/zynqmp): fix section `coherent_ram' will not fit in region `RAM'" into integration

3 years agoMerge "fix(intel): assert if bl_mem_params is NULL pointer" into integration
Madhukar Pappireddy [Mon, 28 Feb 2022 19:36:30 +0000 (20:36 +0100)]
Merge "fix(intel): assert if bl_mem_params is NULL pointer" into integration

3 years agoMerge changes from topic "st-fix-enum" into integration
Manish Pandey [Mon, 28 Feb 2022 17:30:38 +0000 (18:30 +0100)]
Merge changes from topic "st-fix-enum" into integration

* changes:
  fix(stm32mp1): fix enum prints
  fix(st-clock): print enums as unsigned

3 years agofix(stm32mp1): fix enum prints
Yann Gautier [Mon, 28 Feb 2022 10:39:56 +0000 (11:39 +0100)]
fix(stm32mp1): fix enum prints

With gcc-11, the -Wformat-signedness warning complains about enum values
that should be printed as unsigned values. But the current version of
compiler used in CI states that this parameter is signed. Just cast the
value then.

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

3 years agoMerge changes I75b3e3bf,I4cf9f1d9,I50d2ae74,Idbe62410,I84bbd06e, ... into integration
Madhukar Pappireddy [Mon, 28 Feb 2022 16:18:39 +0000 (17:18 +0100)]
Merge changes I75b3e3bf,I4cf9f1d9,I50d2ae74,Idbe62410,I84bbd06e, ... into integration

* changes:
  fix(intel): null pointer handling for resp_len
  fix(intel): define macros to handle buffer entries
  fix(intel): change SMC return arguments for INTEL_SIP_SMC_MBOX_SEND_CMD
  fix(intel): always set doorbell to SDM after sending command
  fix(intel): fix bit masking issue in intel_secure_reg_update
  fix(intel): fix ddr address range checker
  build(changelog): add new scope for Intel platform

3 years agoMerge "fix(intel): enable HPS QSPI access by default" into integration
Madhukar Pappireddy [Mon, 28 Feb 2022 15:37:06 +0000 (16:37 +0100)]
Merge "fix(intel): enable HPS QSPI access by default" into integration

3 years agofix(st-clock): print enums as unsigned
Yann Gautier [Mon, 28 Feb 2022 10:34:05 +0000 (11:34 +0100)]
fix(st-clock): print enums as unsigned

With gcc-11, the -Wformat-signedness warning complains about enum values
that should be printed as unsigned values. Change %d to %u for several
lines in the clock driver.

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

3 years agoMerge "fix(measured-boot): add RMM entry to event_log_metadata" into integration
Sandrine Bailleux [Mon, 28 Feb 2022 09:39:59 +0000 (10:39 +0100)]
Merge "fix(measured-boot): add RMM entry to event_log_metadata" into integration

3 years agoMerge "fix(cert_create): let distclean Makefile target remove the cert_create tool...
Manish Pandey [Fri, 25 Feb 2022 13:52:23 +0000 (14:52 +0100)]
Merge "fix(cert_create): let distclean Makefile target remove the cert_create tool" into integration

3 years agofix(cert_create): let distclean Makefile target remove the cert_create tool
Nicolas Boulenguez [Wed, 31 Mar 2021 10:22:45 +0000 (12:22 +0200)]
fix(cert_create): let distclean Makefile target remove the cert_create tool

For some targets, Make recursively invokes itself in subdirectories.
When delegating the distclean target to tools/cert_create/Makefile,
the submake is called with the clean target instead of realclean.
Because of this, the submake never removes the cert_create executable.

A proper but more intrusive fix would
* avoid confusion about the semantics by following traditions or using
  new names
  https://www.gnu.org/prep/standards/standards.html#Standard-Targets
* avoid typing errors with the special $@ variable.
Something like:

In tools/cert_create/Makefile:
mostlyclean:
  # Remove most objects but keep some results.
        $(call SHELL_DELETE_ALL, src/build_msg.o ${OBJECTS})
clean: mostlyclean
  # mostlyclean, then remove things built by Make.
        $(call SHELL_DELETE,${BINARY})
distclean: clean
  # clean, then remove things built by ./configure (none here).
realclean maintainer-clean: distclean
  # distclean, then remove things built by autootols (none here).

In Makefile:
mostlyclean clean distclean realclean maintainer-clean:
$(MAKE) -C subdir1 $@
$(MAKE) -C subdir2 $@

Signed-off-by: Nicolas Boulenguez <nicolas@debian.org>
Change-Id: Iabfeca3da5724ab90a56ad6dcd6870d0a1d6b07f

3 years agoMerge changes I1784d643,Icb6e3699,I7805756e into integration
Bipin Ravi [Fri, 25 Feb 2022 03:50:31 +0000 (04:50 +0100)]
Merge changes I1784d643,Icb6e3699,I7805756e into integration

* changes:
  fix(errata): workaround for Cortex-A510 erratum 2172148
  fix(errata): workaround for Cortex-A510 erratum 2218950
  fix(errata): workaround for Cortex-A510 erratum 2250311

3 years agofix(errata): workaround for Cortex-A510 erratum 2172148
johpow01 [Wed, 16 Feb 2022 04:55:22 +0000 (22:55 -0600)]
fix(errata): workaround for Cortex-A510 erratum 2172148

Cortex-A510 erratum 2172148 is a Cat B erratum that applies to revisions
r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.

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

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

3 years agofix(errata): workaround for Cortex-A510 erratum 2218950
johpow01 [Tue, 15 Feb 2022 02:19:08 +0000 (20:19 -0600)]
fix(errata): workaround for Cortex-A510 erratum 2218950

Cortex-A510 erratum 2218950 is a Cat B erratum that applies to revisions
r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.

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

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

3 years agofix(errata): workaround for Cortex-A510 erratum 2250311
johpow01 [Mon, 14 Feb 2022 03:00:10 +0000 (21:00 -0600)]
fix(errata): workaround for Cortex-A510 erratum 2250311

Cortex-A510 erratum 2250311 is a Cat B erratum that applies to revisions
r0p0, r0p1, r0p2, r0p3 and r1p0 and is fixed in r1p1.

This erratum workaround is a bit different because it interacts with a
feature supported in TFA. The typical method of implementing an errata
workaround will not work in this case as the MPMM feature would just be
re-enabled by context management at every core power on after being
disabled by the errata framework. So in addition to disabling MPMM, this
workaround also sets a flag in the MPMM runtime framework indicating
that the feature should not be enabled even if ENABLE_MPMM=1.

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

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

3 years agoMerge changes I7b1498fa,I1d2ebee3,I875519ff,I8c427ef2 into integration
Bipin Ravi [Thu, 24 Feb 2022 19:47:47 +0000 (20:47 +0100)]
Merge changes I7b1498fa,I1d2ebee3,I875519ff,I8c427ef2 into integration

* changes:
  fix(errata): workaround for Cortex-A510 erratum 2041909
  fix(errata): workaround for Cortex-A510 erratum 2042739
  fix(errata): workaround for Cortex-A510 erratum 2288014
  fix(errata): workaround for Cortex-A510 erratum 1922240

3 years agoMerge "docs(el3-runtimes): context management refactor proposal" into integration
Soby Mathew [Thu, 24 Feb 2022 14:23:44 +0000 (15:23 +0100)]
Merge "docs(el3-runtimes): context management refactor proposal" into integration

3 years agofeat(mt8186): disable 26MHz clock while suspending
jason-ch chen [Thu, 24 Feb 2022 03:05:23 +0000 (11:05 +0800)]
feat(mt8186): disable 26MHz clock while suspending

Change resource_req to 0 to disable 26MHz clock.
SPM firmware will pull-down SRCLKENA0 after 26MHz off while suspending.

TEST=verify 26MHz clock off using the oscilloscope.
BUG=b:215639203

Signed-off-by: Jason-ch Chen <jason-ch.chen@mediatek.com>
Change-Id: I05702d14a015cabccd6d4af0e3f2a534fbe4dd12

3 years agodocs(el3-runtimes): context management refactor proposal
Soby Mathew [Mon, 24 Jan 2022 11:45:38 +0000 (11:45 +0000)]
docs(el3-runtimes): context management refactor proposal

This patch submits an RFC to refactor the context management
mechanism in TF-A.

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: Ia1ad5a85cb86c129e2feaf36bed123f0067c3965