]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agoTegra194: memctrl: remove streamid security cfg registers
Pritesh Raithatha [Thu, 11 Apr 2019 11:17:53 +0000 (16:47 +0530)]
Tegra194: memctrl: remove streamid security cfg registers

The stream ID security configuration settings shall be done by the
previous level bootloader. This change removes the same settings
from the Tegra194 platform code as a result.

Change-Id: Ia170ca4c2119db8f1d0251f1c193add006f81004
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra194: memctrl: remove streamid override cfg registers
Pritesh Raithatha [Sun, 28 Apr 2019 09:04:32 +0000 (14:34 +0530)]
Tegra194: memctrl: remove streamid override cfg registers

The stream ID override configuration is saved during System Suspend
as part MB1 bct. This change removes the same support from the Tegra194
platform code as a result.

Change-Id: I4c19dc0d8b29190908673fb5ed7ed892af8906ab
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra: debug prints indicating SC7 entry sequence completion
Varun Wadekar [Wed, 11 Dec 2019 21:22:21 +0000 (13:22 -0800)]
Tegra: debug prints indicating SC7 entry sequence completion

This patch adds prints to display the completion of System Suspend
programming sequence for Tegra platforms. The console needs to
be kept alive until the very end of the System Suspend sequence as
a result.

Change-Id: I8e0e2054a272665d0a067bb894dda1605a9d2eb7
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: add strict checking mode verification
Anthony Zhou [Wed, 5 Feb 2020 12:42:36 +0000 (20:42 +0800)]
Tegra194: add strict checking mode verification

After enabling the strict checking mode, verify that
the strict mode has really been enabled by querying
the MCE.

If the mode is found to be disabled, the code should
assert.

Change-Id: I113ec8decb737f8208059a2a3ba3076fad77890e
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra194: memctrl: update TZDRAM base at 1MB granularity
Varun Wadekar [Mon, 22 Apr 2019 23:12:30 +0000 (16:12 -0700)]
Tegra194: memctrl: update TZDRAM base at 1MB granularity

The Memory controller expects the TZDRAM base value at 1MB granularity
and the current driver does not respect that limitation. This patch
fixes that anomaly.

Change-Id: I6b72270f331ba5081e19811df4a78623e457341a
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: ras: split up RAS error clear SMC call.
David Pu [Fri, 7 Jun 2019 22:30:17 +0000 (15:30 -0700)]
Tegra194: ras: split up RAS error clear SMC call.

In order to make sure SMC call is within 25us, this patch reduces number of RAS
errors accessed to 8 at most for each SMC call and takes a input/output
parameter to specify in progress RAS error record index.

The measured SMC call latency is about 20us under Linux test kernel driver.

Change-Id: Ia1b57c8673e0193dc341a36af0b5c09fb48f965f
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoTegra: platform specific GIC sources
Varun Wadekar [Wed, 26 Feb 2020 22:52:01 +0000 (14:52 -0800)]
Tegra: platform specific GIC sources

The TEGRA_GICv2_SOURCES contains the list of GIC sources required
to compile the GICv2 support for platforms.

This patch includes the TEGRA_GICv2_SOURCES macro from individual
makefiles to allow future platforms to use suport for GICv3.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I429b1a0c7764ab370675f873a50cecda871110cb

5 years agoTegra194: add memory barriers during DRAM to SysRAM copy
Varun Wadekar [Fri, 15 Nov 2019 23:46:14 +0000 (15:46 -0800)]
Tegra194: add memory barriers during DRAM to SysRAM copy

This patch adds memory barriers to the trampoline code copying TZDRAM
contents to SysRAM during exit from System Suspend. These barriers
make sure that all the copies go through before we start executing in
SysRAM.

Reported by: Nathan Tuck <ntuck@nvidia.com>

Change-Id: I3fd2964086b6c0e044cc4165051a4801440db9cd
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: sip: add VPR resize enabled check
Anthony Zhou [Wed, 4 Dec 2019 06:58:23 +0000 (14:58 +0800)]
Tegra: sip: add VPR resize enabled check

The Memory Controller provides a control register to check
if the video memory can be resized. The previous bootloader
might have locked this feature, which will be reflected by
this register.

This patch reads the control register before processing
a video memory resize request. An error code, -ENOTSUP,
is returned if the feature is locked.

Change-Id: Ia1d67f7a94aa15c6b18ff5c9b9b952e179596ae3
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra194: add redundancy checks for MMIO writes
Anthony Zhou [Wed, 13 Nov 2019 10:36:07 +0000 (18:36 +0800)]
Tegra194: add redundancy checks for MMIO writes

MMIO writes should verify that the writes actually went through.
Read the value back after the write operation, perform assert
if the read back value is not same as the write value.

Change-Id: Id2ceb014116f3aa6a9e86505ca1ae9911470a679
Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
5 years agoTegra: remove unused cortex_a53.h
Varun Wadekar [Mon, 18 Nov 2019 19:55:02 +0000 (11:55 -0800)]
Tegra: remove unused cortex_a53.h

This patch removes the unused cortex_a53.h header file from
common Tegra files.

This change fixes the violation of CERTC Rule: DCL23.

Change-Id: Iaf7c34cc6323b78028258e188c00724c52afba85
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra194: report failure to enable dual execution
Kalyani Chidambaram Vaidyanathan [Thu, 7 Nov 2019 21:31:19 +0000 (13:31 -0800)]
Tegra194: report failure to enable dual execution

During boot the platform enables dual execution for Xavier CPUs.
This patch reads back the ACTLR_ELx register to verify that the bit
is actually set. It asserts if the bit is not set.

Change-Id: I5ba9491ced86285d307b95efa647a427ff77c79e
Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
5 years agoTegra194: verify firewall settings before resource use
Kalyani Chidambaram Vaidyanathan [Wed, 2 Oct 2019 20:57:23 +0000 (13:57 -0700)]
Tegra194: verify firewall settings before resource use

The firewall settings for the hardware resources are present in the
Security Configuration Registers. The firewall settings are programmed
by other software components and so must be verified for correctness
before touching the hardware resources they protect.

This patch reads the firewall settings during early boot and asserts
if the settings mismatch.

Change-Id: I53cc9aeadad32e54e460db0fa2c38e46bcc92066
Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge "n1sdp: remote chip SPI numbering for multichip GIC routing" into integration
Manish Pandey [Thu, 27 Aug 2020 12:49:38 +0000 (12:49 +0000)]
Merge "n1sdp: remote chip SPI numbering for multichip GIC routing" into integration

5 years agoMerge "Add support for hexadecimal and pointer format specifiers to snprintf()" into...
Manish Pandey [Thu, 27 Aug 2020 12:19:11 +0000 (12:19 +0000)]
Merge "Add support for hexadecimal and pointer format specifiers to snprintf()" into integration

5 years agoMerge changes I6bf1db15,I8631c34a,Id76ada14 into integration
Madhukar Pappireddy [Wed, 26 Aug 2020 14:59:05 +0000 (14:59 +0000)]
Merge changes I6bf1db15,I8631c34a,Id76ada14 into integration

* changes:
  qti/sc7180: Do shutdown handling outside qtiseclib
  qti: Add SPMI PMIC arbitrator driver
  qti/sc7180: Fix GIC-600 support setting

5 years agoAdd support for hexadecimal and pointer format specifiers to snprintf()
Javier Almansa Sobrino [Fri, 21 Aug 2020 16:32:03 +0000 (17:32 +0100)]
Add support for hexadecimal and pointer format specifiers to snprintf()

The current implementation of snprintf() does not support pointer and
hexadecimal format specifiers, which can be needed, for instance, for
DTB manipulations.

This patch adds that functionality by borrowing some code from the
printf() implementation.

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

5 years agoqti/sc7180: Do shutdown handling outside qtiseclib
Julius Werner [Thu, 21 Feb 2019 01:33:23 +0000 (17:33 -0800)]
qti/sc7180: Do shutdown handling outside qtiseclib

With an open source SPMI driver we can now remove qtiseclib involvement
in reset and shutdown handling by setting the required registers
directly.

Change-Id: I6bf1db15734048df583daa2a4ee98701c6ece621
Signed-off-by: Julius Werner <jwerner@chromium.org>
5 years agoMerge changes from topic "tegra194-spmd" into integration
Madhukar Pappireddy [Tue, 25 Aug 2020 15:09:26 +0000 (15:09 +0000)]
Merge changes from topic "tegra194-spmd" into integration

* changes:
  Tegra194: introduce support for `SPD=spmd`
  Tegra: introduce backend support to compile libfdt
  Tegra: disable signed comparison
  plat: common: include "bl_common.h" from plat_spmd_manifest.c

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Varun Wadekar [Tue, 25 Aug 2020 03:27:26 +0000 (03:27 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra194: remove AON_WDT IRQ mapping
  Tegra: smmu: add smmu_verify function
  Tegra: TZDRAM setup from soc specific early_boot handlers
  Tegra: remove "platform_get_core_pos" function
  Tegra: print GICC registers conditionally
  lib: cpus: sanity check pointers before use
  Tegra: spe: do not flush console in console_putc
  Tegra: verify platform compatibility

5 years agoqti: Add SPMI PMIC arbitrator driver
Julius Werner [Wed, 5 Jun 2019 19:40:35 +0000 (12:40 -0700)]
qti: Add SPMI PMIC arbitrator driver

This patch adds a very rudimentary driver for the SPMI arbitrator used
to access the PMIC. It doesn't support all the controller's actual
arbitration features, so it should probably not be used concurrently
with a running kernel (and it's also not optimized for performance). But
it can be used to set a few registers during boot or on shutdown to
control reset handling, which is all we need it for.

Change-Id: I8631c34a2a89ac71aa1ec9b8266e818c922fe34a
Signed-off-by: Julius Werner <jwerner@chromium.org>
5 years agoqti/sc7180: Fix GIC-600 support setting
Julius Werner [Tue, 25 Aug 2020 01:34:38 +0000 (18:34 -0700)]
qti/sc7180: Fix GIC-600 support setting

The patch adding platform support for sc7180 landed around roughly the
same time as the patch that changed GICV3_IMPL to GICV3_SUPPORT_GIC600.
Thus the sc7180 Makefile is still using the old variable name which now
no longer does anything, and it hangs on boot due to the lacking GIC-600
support. This patch fixes the issue.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: Id76ada1445c3c5ac9a5a3697b4e749088b89d796

5 years agoTegra194: introduce support for `SPD=spmd`
Varun Wadekar [Mon, 20 Jul 2020 04:30:54 +0000 (21:30 -0700)]
Tegra194: introduce support for `SPD=spmd`

This patch introduces the following changes to enable
compilation for `SPD=spmd` command line option.

* compile plat_spmd_manifest.c
* compile libfdt source files

Verified with the `SPD=spmd` command line option for
Tegra194 platforms.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I7f57aa4f1756b19f78d87415bb80794417174bc8

5 years agoTegra: introduce backend support to compile libfdt
Varun Wadekar [Mon, 20 Jul 2020 04:17:57 +0000 (21:17 -0700)]
Tegra: introduce backend support to compile libfdt

This patch includes the following files from libc to
compile libfdt:

* memchr.c
* memcmp.c
* strrchr.c

The BUILD_PLAT macro is evaluated earlier to allow libfdt
installation to the right directory.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: Ie43fcf701dc051670e6372e21b3a84a6416c1735

5 years agoTegra: disable signed comparison
Varun Wadekar [Mon, 24 Aug 2020 23:57:03 +0000 (16:57 -0700)]
Tegra: disable signed comparison

libfdt does not support the -Wsign-compare compiler option
and the right patch will eventually be pushed upstream.

This patch disables the -Wsign-compare compiler option
to allow libfdt compilation for Tegra platforms until
the actual issue is fixed.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: Ib7a93946cad1ea9ec1b46751edb79a74c08ed0ac

5 years agoplat: common: include "bl_common.h" from plat_spmd_manifest.c
Varun Wadekar [Mon, 20 Jul 2020 04:28:10 +0000 (21:28 -0700)]
plat: common: include "bl_common.h" from plat_spmd_manifest.c

This patch includes the bl_common.h from plat_spmd_manifest.c to
fix the following compilation errors

<snip>
plat/common/plat_spmd_manifest.c: In function 'plat_spm_core_manifest_load':
plat/common/plat_spmd_manifest.c:130:18: error: implicit declaration of function 'page_align' [-Werror=implicit-function-declaration]
  130 |  pm_base_align = page_align(pm_base, UP);
      |                  ^~~~~~~~~~
plat/common/plat_spmd_manifest.c:130:38: error: 'UP' undeclared (first use in this function); did you mean 'UL'?
  130 |  pm_base_align = page_align(pm_base, UP);
      |                                      ^~
      |                                      UL
plat/common/plat_spmd_manifest.c:130:38: note: each undeclared identifier is reported only once for each function it appears in
plat/common/plat_spmd_manifest.c:146:38: error: 'DOWN' undeclared (first use in this function)
  146 |  pm_base_align = page_align(pm_base, DOWN);
      |                                      ^~~~
cc1: all warnings being treated as errors
<snip>

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: Ib8edb36c6a80a23df2462e708c513c966aab1fef

5 years agoTegra194: remove AON_WDT IRQ mapping
Varun Wadekar [Mon, 17 Feb 2020 23:29:57 +0000 (15:29 -0800)]
Tegra194: remove AON_WDT IRQ mapping

This patch removes the unused interrupt mapping for AON_WDT
for all Tegra194 platforms.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I475a1e83f809c740e62464b5b4e93cb0a2e33d6b

5 years agoTegra: smmu: add smmu_verify function
Varun Wadekar [Thu, 26 Sep 2019 15:26:41 +0000 (08:26 -0700)]
Tegra: smmu: add smmu_verify function

The SMMU configuration can get corrupted or updated by
external clients during boot without our knowledge.

This patch introduces a "verify" function for the SMMU
driver, to check that the boot configuration settings are
intact.  Usually, this function should be called at the
end of the boot cycle.

This function only calls panic() on silicon platforms.

Change-Id: I2ab45a7f228781e71c73ba1f4ffc49353effe146
Signed-off-by: George Bauernschmidt <georgeb@nvidia.com>
5 years agoTegra: TZDRAM setup from soc specific early_boot handlers
Varun Wadekar [Thu, 22 Aug 2019 18:52:36 +0000 (11:52 -0700)]
Tegra: TZDRAM setup from soc specific early_boot handlers

TZDRAM setup is not required for all Tegra SoCs. The previous bootloader
can enable the TZDRAM fence due to architectural improvements in the
newer chips.

This patch moves the TZDRAM setup to early_boot handlers for SoCs to
handle this scenario.

Change-Id: I6481b4f848a4dadc20cb83852cd8e19a242b3a34
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: remove "platform_get_core_pos" function
Varun Wadekar [Wed, 16 Oct 2019 17:43:33 +0000 (10:43 -0700)]
Tegra: remove "platform_get_core_pos" function

This patch removes the deprecated 'plat_core_pos_by_mpidr' function
from the Tegra platform port.

Change-Id: I32e06cb7269e4fbfaf9ad6c26d0722201f982f9e
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: print GICC registers conditionally
Varun Wadekar [Fri, 4 Oct 2019 18:40:56 +0000 (11:40 -0700)]
Tegra: print GICC registers conditionally

The GICC interface exists only on the interrupt controllers following
the GICv2 specification.

This patch prints the GICC register contents from the platform's macro,
plat_crash_print_regs' only when TEGRA_GICC_BASE is defined. This
allows platforms using future versions of the GIC specification to
still use this macro.

Change-Id: Ia5762d0a1ae28c832664d69362a7776e46a22ad1
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agolib: cpus: sanity check pointers before use
Varun Wadekar [Tue, 1 Oct 2019 16:34:10 +0000 (09:34 -0700)]
lib: cpus: sanity check pointers before use

The cpu_ops structure contains a lot of function pointers. It
is a good idea to verify that the function pointer is not NULL
before executing it.

This patch sanity checks each pointer before use to prevent any
unforeseen crashes. These checks have been enabled for debug
builds only.

Change-Id: Ib208331c20e60f0c7c582a20eb3d8cc40fb99d21
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: spe: do not flush console in console_putc
Varun Wadekar [Fri, 13 Sep 2019 23:31:09 +0000 (16:31 -0700)]
Tegra: spe: do not flush console in console_putc

SPE no longer requires the flush bit to be set to start transmitting
characters over the physical uart. Therefore, the flush bit is no
longer required when calling console_core_putc. However, flushing the
console still requires the flush bit.

This patch removes the flush bit from the mailbox messages in
console_core_putc to improve ACK latency.

Original change by: Mustafa Bilgen <mbilgen@nvidia.com>

Change-Id: I5b7d1f3ea69ea2ce308566dbaae222b04e4c373d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: verify platform compatibility
kalyanic [Fri, 13 Sep 2019 21:49:39 +0000 (14:49 -0700)]
Tegra: verify platform compatibility

This patch verifies that the binary image is compatible with
chip ID of the platform.

Change-Id: I28db221b4442aa8827a092faadf32f110d7c5cb4
Signed-off-by: kalyanic <kalyanic@nvidia.com>
5 years agoMerge "tools: Get the tool's binary name from the main makefile" into integration
Madhukar Pappireddy [Mon, 24 Aug 2020 17:04:33 +0000 (17:04 +0000)]
Merge "tools: Get the tool's binary name from the main makefile" into integration

5 years agoMerge "SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance" into integration
Manish Pandey [Mon, 24 Aug 2020 11:45:14 +0000 (11:45 +0000)]
Merge "SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance" into integration

5 years agon1sdp: remote chip SPI numbering for multichip GIC routing
Sayanta Pattanayak [Fri, 31 Jul 2020 07:29:24 +0000 (12:59 +0530)]
n1sdp: remote chip SPI numbering for multichip GIC routing

Allocated 512-959 SPI numbers for remote n1sdp chip and same has been
referenced for GIC routing table.

Change-Id: Id79ea493fd665ed93fe9644a59e363ec10441098
Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
5 years agotools: Get the tool's binary name from the main makefile
Manish V Badarkhe [Thu, 13 Aug 2020 04:56:33 +0000 (05:56 +0100)]
tools: Get the tool's binary name from the main makefile

Currently, the tool's makefile override the tool's binary name
which is already been defined in the main makefile.
Hence fix is provided so that the tool's makefile get the tool's
binary name from the main makefile instead of overriding it.

Change-Id: I8af2bd391a96bba2dbcddef711338a94ebf5f038
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoMerge "Revert "libc/memset: Implement function in assembler"" into integration
Mark Dykes [Fri, 21 Aug 2020 19:44:05 +0000 (19:44 +0000)]
Merge "Revert "libc/memset: Implement function in assembler"" into integration

5 years agoRevert "libc/memset: Implement function in assembler"
Mark Dykes [Wed, 19 Aug 2020 19:11:33 +0000 (19:11 +0000)]
Revert "libc/memset: Implement function in assembler"

This reverts commit e7d344de01ad11b856233634717aafe9312697e4.
 This reverts the patch https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/5313 due to a timing issue with the merge.  The merge occurred at the same time as the additional comments and thusly were were not seen until the merge was done.  This reverts the change and additional patches from Alexei will follow to address the concerns expressed in the orignal patch.

Change-Id: Iae5f6403c93ac13ceeda29463883fcd4c437f2b7

5 years agoSPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance
Ruari Phipps [Tue, 28 Jul 2020 09:33:35 +0000 (10:33 +0100)]
SPMD: Dont forward PARTITION_INFO_GET from secure FF-A instance

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I4e9fbfcfda4ed4b87d5ece1c609c57c73d617d4c

5 years agoMerge changes from topic "spm-secondary-cores" into integration
Olivier Deprez [Fri, 21 Aug 2020 14:18:57 +0000 (14:18 +0000)]
Merge changes from topic "spm-secondary-cores" into integration

* changes:
  SPMC: embed secondary core ep info into to SPMC context
  SPMC: manifest changes to support multicore boot
  SPMD: secondary cores PM on and off SPD hooks relayed to SPMC
  SPMD: handle SPMC message to register secondary core entry point
  SPMD: introduce SPMC to SPMD messages
  SPMD: register the SPD PM hooks
  SPMD: add generic SPD PM handlers
  SPMD: enhance SPMC internal boot states
  SPMD: entry point info get helper

5 years agoMerge "doc: Minor formatting improvement in the coding guidelines document" into...
Sandrine Bailleux [Fri, 21 Aug 2020 12:14:51 +0000 (12:14 +0000)]
Merge "doc: Minor formatting improvement in the coding guidelines document" into integration

5 years agoSPMC: embed secondary core ep info into to SPMC context
Olivier Deprez [Fri, 19 Jun 2020 13:33:41 +0000 (15:33 +0200)]
SPMC: embed secondary core ep info into to SPMC context

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Icdb15b8664fb3467ffd55b44d1f0660457192586

5 years agoSPMC: manifest changes to support multicore boot
Olivier Deprez [Fri, 12 Jun 2020 16:10:28 +0000 (18:10 +0200)]
SPMC: manifest changes to support multicore boot

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Icf90c2ccce75257908ba3d4703926041d64b1dd3

5 years agoSPMD: secondary cores PM on and off SPD hooks relayed to SPMC
Olivier Deprez [Mon, 23 Mar 2020 08:53:06 +0000 (09:53 +0100)]
SPMD: secondary cores PM on and off SPD hooks relayed to SPMC

Define SPMD PM hooks for warm boot and off events. svc_on_finish handler
enters the SPMC at the entry point defined by the secondary EP register
service. The svc_off handler notifies the SPMC that a physical core is
being turned off through a notification message.

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

5 years agoSPMD: handle SPMC message to register secondary core entry point
Olivier Deprez [Thu, 16 Apr 2020 15:54:27 +0000 (17:54 +0200)]
SPMD: handle SPMC message to register secondary core entry point

Upon booting, the SPMC running on the primary core shall register the
secondary core entry points to which a given secondary core being woken
up shall jump to into the SPMC . The current implementation assumes the
SPMC calls a registering service implemented in the SPMD for each core
identified by its MPIDR. This can typically happen in a simple loop
implemented in the early SPMC initialization routines by passing each
core identifier associated with an entry point address and context
information.
This service is implemented on top of a more generic SPMC<=>SPMD
interface using direct request/response message passing as defined by
the FF-A specification.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: I1f70163b6b5cee0880bd2004e1fec41e3780ba35

5 years agoSPMD: introduce SPMC to SPMD messages
Olivier Deprez [Thu, 16 Apr 2020 14:59:21 +0000 (16:59 +0200)]
SPMD: introduce SPMC to SPMD messages

FF-A interface to handle SPMC to SPMD direct messages requests.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: Ia707a308c55561a31dcfa86e554ea1c9e23f862a

5 years agoSPMD: register the SPD PM hooks
Olivier Deprez [Mon, 28 Oct 2019 09:15:52 +0000 (09:15 +0000)]
SPMD: register the SPD PM hooks

Change-Id: If88d64c0e3d60accd2638a55f9f3299ec700a8c8
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
5 years agoSPMD: add generic SPD PM handlers
Olivier Deprez [Mon, 28 Oct 2019 09:07:50 +0000 (09:07 +0000)]
SPMD: add generic SPD PM handlers

This patch defines and registers the SPMD PM handler hooks.
This is intended to relay boot and PM events to the SPMC.

Change-Id: If5a758d22b8d2152cbbb83a0cad563b5e1c6bd49
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
5 years agoSPMD: enhance SPMC internal boot states
Olivier Deprez [Mon, 28 Oct 2019 09:03:13 +0000 (09:03 +0000)]
SPMD: enhance SPMC internal boot states

This patch adds SPMC states used by the SPMD to track SPMC boot phases
specifically on secondary cores.

Change-Id: If97af7352dda7f04a8e46a56892a2aeddcfab91b
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
5 years agoSPMD: entry point info get helper
Olivier Deprez [Mon, 28 Oct 2019 08:52:45 +0000 (08:52 +0000)]
SPMD: entry point info get helper

This patch provides a helper to get the entry_point_info
structure used by the boot CPU as it is used to initialise
the SPMC context on secondary CPUs.

Change-Id: I99087dc7a86a7258e545d24a2ff06aa25170f00c
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
5 years agoMerge "plat: imx8m: Fix the race condition during cpu hotplug" into integration
Manish Pandey [Thu, 20 Aug 2020 15:07:13 +0000 (15:07 +0000)]
Merge "plat: imx8m: Fix the race condition during cpu hotplug" into integration

5 years agoMerge changes from topic "at_errata_fix" into integration
Olivier Deprez [Thu, 20 Aug 2020 14:40:06 +0000 (14:40 +0000)]
Merge changes from topic "at_errata_fix" into integration

* changes:
  doc: Update description for AT speculative workaround
  lib/cpus: Report AT speculative erratum workaround
  Add wrapper for AT instruction

5 years agoplat: imx8m: Fix the race condition during cpu hotplug
Jacky Bai [Tue, 7 Jan 2020 03:05:22 +0000 (11:05 +0800)]
plat: imx8m: Fix the race condition during cpu hotplug

CPU hotplug & cpuidle have some race condition when doing CPU hotplug
stress test. different CPU cores have the chance to access the same
GPC register(A53_AD), so lock is necessary to do exlusive access.

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

5 years agoMerge "SPM: Add third cactus partition to manifests" into integration
Manish Pandey [Thu, 20 Aug 2020 09:57:07 +0000 (09:57 +0000)]
Merge "SPM: Add third cactus partition to manifests" into integration

5 years agodoc: Minor formatting improvement in the coding guidelines document
Sandrine Bailleux [Thu, 20 Aug 2020 08:41:36 +0000 (10:41 +0200)]
doc: Minor formatting improvement in the coding guidelines document

Change-Id: I5362780db422772fd547dc8e68e459109edccdd0
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoMerge changes from topic "aw_drivevbus" into integration
André Przywara [Wed, 19 Aug 2020 22:29:58 +0000 (22:29 +0000)]
Merge changes from topic "aw_drivevbus" into integration

* changes:
  plat/allwinner: Only enable DRIVEVBUS if really needed
  plat/allwinner: Use common gicv2.mk

5 years agoMerge "libc/memset: Implement function in assembler" into integration
Mark Dykes [Wed, 19 Aug 2020 18:53:55 +0000 (18:53 +0000)]
Merge "libc/memset: Implement function in assembler" into integration

5 years agolibc/memset: Implement function in assembler
Alexei Fedorov [Sun, 16 Aug 2020 15:01:13 +0000 (16:01 +0100)]
libc/memset: Implement function in assembler

Trace analysis of FVP_Base_AEMv8A model running in
Aarch32 mode with the build options listed below:
TRUSTED_BOARD_BOOT=1 GENERATE_COT=1
ARM_ROTPK_LOCATION=devel_ecdsa KEY_ALG=ecdsa
ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem
shows that when auth_signature() gets called
71.84% of CPU execution time is spent in memset() function
written in C using single byte write operations,
see lib\libc\memset.c.
This patch replaces C memset() implementation with assembler
version giving the following results:
- for Aarch32 in auth_signature() call memset() CPU time
reduced to 24.84%.
- Number of CPU instructions executed during TF-A
boot stage before start of BL33 in RELEASE builds:
----------------------------------------------
|  Arch   |     C      |  assembler |    %   |
----------------------------------------------
| Aarch32 | 2073275460 | 1487400003 | -28.25 |
| Aarch64 | 2056807158 | 1244898303 | -39.47 |
----------------------------------------------
The patch also replaces memset.c with aarch64/memset.S
in plat\nvidia\tegra\platform.mk.

Change-Id: Ifbf085a2f577a25491e2d28446ee95a4ac891597
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "SPM: Change condition on saving/restoring EL2 registers" into integration
Manish Pandey [Wed, 19 Aug 2020 15:34:50 +0000 (15:34 +0000)]
Merge "SPM: Change condition on saving/restoring EL2 registers" into integration

5 years agoSPM: Add third cactus partition to manifests
Ruari Phipps [Fri, 17 Jul 2020 15:43:50 +0000 (16:43 +0100)]
SPM: Add third cactus partition to manifests

Add information about the third partition so it can be loaded into SPM
when running the tests

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I5544e88df391ef294ddf6b5750d468d3e74892b1

5 years agoSPM: Change condition on saving/restoring EL2 registers
Ruari Phipps [Tue, 28 Jul 2020 10:26:29 +0000 (11:26 +0100)]
SPM: Change condition on saving/restoring EL2 registers

Make this more scalable by explicitly checking internal and hardware
states at run_time

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I1c6ed1c1badb3538a93bff3ac5b5189b59cccfa1

5 years agoMerge "plat: qti: Fix build failure" into integration
Manish Pandey [Wed, 19 Aug 2020 11:44:55 +0000 (11:44 +0000)]
Merge "plat: qti: Fix build failure" into integration

5 years agoMerge changes Ic701675c,Ie55e25c8 into integration
Manish Pandey [Wed, 19 Aug 2020 11:27:58 +0000 (11:27 +0000)]
Merge changes Ic701675c,Ie55e25c8 into integration

* changes:
  plat: imx8m: Correct the imr mask reg offset
  plat: imx8m: Keep A53 PLAT on in wait mode(ret)

5 years agoplat: imx8m: Correct the imr mask reg offset
Jacky Bai [Wed, 22 Jul 2020 08:00:50 +0000 (16:00 +0800)]
plat: imx8m: Correct the imr mask reg offset

The number of gpc imr mask reg & the offset is different
on some SOC, so correct it & replace the magic number with
macro define.

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

5 years agoplat: imx8m: Keep A53 PLAT on in wait mode(ret)
Jacky Bai [Mon, 9 Dec 2019 01:53:28 +0000 (09:53 +0800)]
plat: imx8m: Keep A53 PLAT on in wait mode(ret)

Keep A53 PLAT(SCU) power domain on in wait mode(ret).
RBC count only need to be set in PLAT OFF mode, so
change it accordingly.

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

5 years agoMerge "qemu/qemu_sbsa: enable SPM support" into integration
Manish Pandey [Wed, 19 Aug 2020 09:38:19 +0000 (09:38 +0000)]
Merge "qemu/qemu_sbsa: enable SPM support" into integration

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Manish Pandey [Wed, 19 Aug 2020 09:37:38 +0000 (09:37 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra: platform: add function to check t194 chip
  Tegra: common: make plat_psci_ops routines static

5 years agoTegra: platform: add function to check t194 chip
David Pu [Tue, 6 Aug 2019 00:00:31 +0000 (17:00 -0700)]
Tegra: platform: add function to check t194 chip

This patch adds tegra_chipid_is_t194() function to check if it is a
Tegra 194 chip.

Change-Id: I6da6d3a2c9676b748931e42fde1b174cbcb4fd40
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoTegra: common: make plat_psci_ops routines static
David Pu [Thu, 8 Aug 2019 21:20:03 +0000 (14:20 -0700)]
Tegra: common: make plat_psci_ops routines static

This patch makes Tegra platform psci ops routines to static. These
routines are called by PSCI framework and no external linkage is
necessary. This patch also fixes MISRA C-2012 Rule 8.6 violations.

Change-Id: Idd2381809f76dc0fd578c1c92c0f8eea124f2e88
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoqemu/qemu_sbsa: enable SPM support
Masahisa Kojima [Thu, 11 Jun 2020 12:46:44 +0000 (21:46 +0900)]
qemu/qemu_sbsa: enable SPM support

Enable the spm_mm framework for the qemu_sbsa platform.
Memory layout required for spm_mm is created in secure SRAM.

Co-developed-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Change-Id: I104a623e8bc1e44d035b95f014a13b3f8b33a62a

5 years agoMerge "runtime_exceptions: Update AT speculative workaround" into integration
Alexei Fedorov [Tue, 18 Aug 2020 16:53:25 +0000 (16:53 +0000)]
Merge "runtime_exceptions: Update AT speculative workaround" into integration

5 years agoMerge "el3_runtime: Rearrange context offset of EL1 sys registers" into integration
Alexei Fedorov [Tue, 18 Aug 2020 16:53:04 +0000 (16:53 +0000)]
Merge "el3_runtime: Rearrange context offset of EL1 sys registers" into integration

5 years agoMerge "el3_runtime: Update context save and restore routines for EL1 and EL2" into...
Alexei Fedorov [Tue, 18 Aug 2020 16:50:23 +0000 (16:50 +0000)]
Merge "el3_runtime: Update context save and restore routines for EL1 and EL2" into integration

5 years agoMerge changes from topic "soc-id" into integration
Manish Pandey [Tue, 18 Aug 2020 11:02:15 +0000 (11:02 +0000)]
Merge changes from topic "soc-id" into integration

* changes:
  plat/arm: juno: Implement methods to retrieve soc-id information
  plat/arm: fvp: Implement methods to retrieve soc-id information
  plat/arm: remove common code for soc-id feature

5 years agodoc: Update description for AT speculative workaround
Manish V Badarkhe [Fri, 31 Jul 2020 07:38:49 +0000 (08:38 +0100)]
doc: Update description for AT speculative workaround

Documented the CPU specific build macros created for AT
speculative workaround.

Updated the description of 'ERRATA_SPECULATIVE_AT' errata
workaround option.

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

5 years agoruntime_exceptions: Update AT speculative workaround
Manish V Badarkhe [Thu, 23 Jul 2020 11:43:25 +0000 (12:43 +0100)]
runtime_exceptions: Update AT speculative workaround

As per latest mailing communication [1], we decided to
update AT speculative workaround implementation in order to
disable page table walk for lower ELs(EL1 or EL0) immediately
after context switching to EL3 from lower ELs.

Previous implementation of AT speculative workaround is available
here: 45aecff00

AT speculative workaround is updated as below:
1. Avoid saving and restoring of SCTLR and TCR registers for EL1
   in context save and restore routine respectively.
2. On EL3 entry, save SCTLR and TCR registers for EL1.
3. On EL3 entry, update EL1 system registers to disable stage 1
   page table walk for lower ELs (EL1 and EL0) and enable EL1
   MMU.
4. On EL3 exit, restore SCTLR and TCR registers for EL1 which
   are saved in step 2.

[1]:
https://lists.trustedfirmware.org/pipermail/tf-a/2020-July/000586.html

Change-Id: Iee8de16f81dc970a8f492726f2ddd57e7bd9ffb5
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoel3_runtime: Rearrange context offset of EL1 sys registers
Manish V Badarkhe [Tue, 28 Jul 2020 06:22:30 +0000 (07:22 +0100)]
el3_runtime: Rearrange context offset of EL1 sys registers

SCTLR and TCR registers of EL1 plays role in enabling/disabling of
page table walk for lower ELs (EL0 and EL1).
Hence re-arranged EL1 context offsets to have SCTLR and TCR registers
values one after another in the stack so that these registers values
can be saved and restored using stp and ldp instruction respectively.

Change-Id: Iaa28fd9eba82a60932b6b6d85ec8857a9acd5f8b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agolib/cpus: Report AT speculative erratum workaround
Manish V Badarkhe [Mon, 3 Aug 2020 17:43:14 +0000 (18:43 +0100)]
lib/cpus: Report AT speculative erratum workaround

Reported the status (applies, missing) of AT speculative workaround
which is applicable for below CPUs.

 +---------+--------------+
 | Errata  |      CPU     |
 +=========+==============+
 | 1165522 |  Cortex-A76  |
 +---------+--------------+
 | 1319367 |  Cortex-A72  |
 +---------+--------------+
 | 1319537 |  Cortex-A57  |
 +---------+--------------+
 | 1530923 |  Cortex-A55  |
 +---------+--------------+
 | 1530924 |  Cortex-A53  |
 +---------+--------------+

Also, changes are done to enable common macro 'ERRATA_SPECULATIVE_AT'
if AT speculative errata workaround is enabled for any of the above
CPUs using 'ERRATA_*' CPU specific build macro.

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

5 years agoAdd wrapper for AT instruction
Manish V Badarkhe [Tue, 14 Jul 2020 13:43:12 +0000 (14:43 +0100)]
Add wrapper for AT instruction

In case of AT speculative workaround applied, page table walk
is disabled for lower ELs (EL1 and EL0) in EL3.
Hence added a wrapper function which temporarily enables page
table walk to execute AT instruction for lower ELs and then
disables page table walk.

Execute AT instructions directly for lower ELs (EL1 and EL0)
assuming page table walk is enabled always when AT speculative
workaround is not applied.

Change-Id: I4ad4c0bcbb761448af257e9f72ae979473c0dde8
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoel3_runtime: Update context save and restore routines for EL1 and EL2
Manish V Badarkhe [Tue, 28 Jul 2020 06:12:56 +0000 (07:12 +0100)]
el3_runtime: Update context save and restore routines for EL1 and EL2

As per latest mailing communication [1], we decided
not to update SCTLR and TCR registers in EL1 and EL2 context
restore routine when AT speculative workaround is enabled
hence reverted the changes done as part of this commit: 45aecff00.

[1]:
https://lists.trustedfirmware.org/pipermail/tf-a/2020-July/000586.html

Change-Id: I8c5f31d81fcd53770a610e302a5005d98772b71f
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: juno: Implement methods to retrieve soc-id information
Manish V Badarkhe [Tue, 4 Aug 2020 16:13:14 +0000 (17:13 +0100)]
plat/arm: juno: Implement methods to retrieve soc-id information

Implemented platform functions to retrieve the soc-id information
for juno platform

Change-Id: Ie677120710b45e202a2d63a954459ece8a64b353
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: fvp: Implement methods to retrieve soc-id information
Manish V Badarkhe [Tue, 4 Aug 2020 16:09:10 +0000 (17:09 +0100)]
plat/arm: fvp: Implement methods to retrieve soc-id information

Implemented platform functions to retrieve the soc-id information
for FVP platform.

Change-Id: Id3df02ab290a210310e8d34ec9d706a59d817517
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat/arm: remove common code for soc-id feature
Manish V Badarkhe [Tue, 4 Aug 2020 15:55:58 +0000 (16:55 +0100)]
plat/arm: remove common code for soc-id feature

Removed common code for soc-id feature which is applicable
for all arm platforms.

In subsequent patches, added a platform based functions
for FVP and Juno to retrieve the soc-id information.

Change-Id: Idb632a935758a6caff2ca03a6eab8f663da8a93a
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoplat: qti: Fix build failure
Manish V Badarkhe [Mon, 17 Aug 2020 05:44:20 +0000 (06:44 +0100)]
plat: qti: Fix build failure

Fixed build failure due to the commit:905f93c77 by removing
the inclusion of non-existent 'stdinit.h' file.

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

5 years agoMerge "plat/arm: Use common build flag for using generic sp804 driver" into integration
Mark Dykes [Mon, 17 Aug 2020 21:08:44 +0000 (21:08 +0000)]
Merge "plat/arm: Use common build flag for using generic sp804 driver" into integration

5 years agoplat/arm: Use common build flag for using generic sp804 driver
Madhukar Pappireddy [Wed, 12 Aug 2020 18:18:19 +0000 (13:18 -0500)]
plat/arm: Use common build flag for using generic sp804 driver

SP804 TIMER is not platform specific, and current code base adds
multiple defines to use this driver. Like FVP_USE_SP804_TIMER and
FVP_VE_USE_SP804_TIMER.

This patch removes platform specific build flag and adds generic
flag `USE_SP804_TIMER` to be set to 1 by platform if needed.

Change-Id: I5ab792c189885fd1b98ddd187f3a38ebdd0baba2
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoplat/allwinner: Only enable DRIVEVBUS if really needed
Andre Przywara [Sun, 2 Aug 2020 23:25:21 +0000 (00:25 +0100)]
plat/allwinner: Only enable DRIVEVBUS if really needed

The DRIVEVBUS power rail of the AXP803 PMIC is mostly used to supply
the USB bus power on micro USB sockets, when used in host mode. As this
is a dynamic operation, and mostly we want micro USB sockets to act in
client mode initially, BL31 should not actually enable this power line.
However, on some boards DRIVEVBUS is used to supply power to normal
USB-A sockets. Failing to activate this line there results in
non-functional USB in U-Boot on those boards.

For that reason we were enabling DRIVEVBUS so far, as it did not seem to
cause any harm to the other boards. However it turns out that on the
Pinephone (and other systems with a battery), actually enabling DRIVEVBUS
unconditionally causes serious problems (reboot loop).

To accommodate both use cases, without reverting to a build time option,
check the default OTG configuration in the devicetree. For boards with
USB-A sockets this is set to "host", on boards with micro-B sockets to
"otg". Depending on this setting, we either enable DRIVEVBUS or leave it
alone.

This fixes TF-A on the Pinephone and potentially other battery powered
devices.

Change-Id: Iec0e07f218b2b4393bf4e05c3386261f8ed19e9f
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoplat/allwinner: Use common gicv2.mk
Andre Przywara [Sun, 2 Aug 2020 23:25:03 +0000 (00:25 +0100)]
plat/allwinner: Use common gicv2.mk

Compiling BL31 for the Allwinner platform now produces a message about
the deprecation of gic_common.c.
Follow the advice and use include gicv2.mk instead.

Collect all includes at the beginning of the file on the way.

Change-Id: Iee46e21a630bfa831d28059f09aa7b049eb554bb
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoMerge "doc: Refactor the contribution guidelines" into integration
Sandrine Bailleux [Mon, 17 Aug 2020 08:29:11 +0000 (08:29 +0000)]
Merge "doc: Refactor the contribution guidelines" into integration

5 years agoMerge "stm32mp1: use newly introduced GICv2 makefile" into integration
Madhukar Pappireddy [Sun, 16 Aug 2020 23:05:12 +0000 (23:05 +0000)]
Merge "stm32mp1: use newly introduced GICv2 makefile" into integration

5 years agoMerge "lib: cpus: denver: add some MIDR values" into integration
Varun Wadekar [Fri, 14 Aug 2020 20:32:44 +0000 (20:32 +0000)]
Merge "lib: cpus: denver: add some MIDR values" into integration

5 years agoMerge changes from topic "sb/contribution-guidelines" into integration
Mark Dykes [Fri, 14 Aug 2020 19:59:57 +0000 (19:59 +0000)]
Merge changes from topic "sb/contribution-guidelines" into integration

* changes:
  doc: Mention the TF-A Tech Forum as a way to contact developers
  doc: Emphasize that security issues must not be reported as normal bugs

5 years agoMerge "doc: Stop advising the creation of Phabricator issues" into integration
Mark Dykes [Fri, 14 Aug 2020 19:48:39 +0000 (19:48 +0000)]
Merge "doc: Stop advising the creation of Phabricator issues" into integration

5 years agoMerge changes from topic "tegra-downstream-07092020" into integration
Mark Dykes [Fri, 14 Aug 2020 19:12:35 +0000 (19:12 +0000)]
Merge changes from topic "tegra-downstream-07092020" into integration

* changes:
  Tegra: memctrl: remove unused TZRAM setup function
  Tegra: reorganize drivers and lib folders

5 years agostm32mp1: use newly introduced GICv2 makefile
Yann Gautier [Fri, 7 Aug 2020 07:48:30 +0000 (09:48 +0200)]
stm32mp1: use newly introduced GICv2 makefile

Include the GICv2 makefile in STM32MP1 SP_min makefile, and use
${GICV2_SOURCES} instead of taking drivers/arm/gic files directly.

Change-Id: Ibcaed5b0bd17f6d8cf200e208c11cc10cd6d2ee5
Signed-off-by: Yann Gautier <yann.gautier@st.com>
5 years agoMerge changes from topic "sp_dual_signing" into integration
Manish Pandey [Fri, 14 Aug 2020 15:58:04 +0000 (15:58 +0000)]
Merge changes from topic "sp_dual_signing" into integration

* changes:
  SPM: Add owner field to cactus secure partitions
  SPM: Alter sp_gen.mk entry depending on owner of partition
  plat/arm: enable support for Plat owned SPs

5 years agoSPM: Add owner field to cactus secure partitions
Ruari Phipps [Tue, 11 Aug 2020 14:28:03 +0000 (15:28 +0100)]
SPM: Add owner field to cactus secure partitions

For supporting dualroot CoT for Secure Partitions a new optional field
"owner" is introduced which will be used to sign the SP with
corresponding signing domain. To demonstrate its usage, this patch adds
owners to cactus Secure Partitions.

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: I7b760580355fc92edf5402cecc38c38125dc1cae

5 years agoSPM: Alter sp_gen.mk entry depending on owner of partition
Ruari Phipps [Fri, 24 Jul 2020 15:20:57 +0000 (16:20 +0100)]
SPM: Alter sp_gen.mk entry depending on owner of partition

With recently introduced dualroot CoT for SPs where they are owned
either by SiP or by Platform. SiP owned SPs index starts at SP_PKG1_ID
while Plat owned SPs index starts at SP_PKG5_ID.

This patch modifies SP makefile generator script to take CoT as an
argument and if it is "dualroot" then generates SP_PKG in order
mentioned above, otherwise generates it sequentially.

Signed-off-by: Ruari Phipps <ruari.phipps@arm.com>
Change-Id: Iffad1131787be650a9462f6f8cc09b603cddb3b8