]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agodefaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm
Leonardo Sandoval [Thu, 18 Jun 2020 22:32:55 +0000 (17:32 -0500)]
defaults.mk: default KEY_SIZE to 2048 in case of RSA algorithm

According to the documentation [1], KEY_SIZE defaults to 2048 when RSA
algorithm is chosen, so set this value on the make's defaults file.

[1] https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/build-options.html

Change-Id: I030f98363198a752bc0dd03528f748de527d48d8
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
5 years agoMerge "Enabling DPU in dts file for TC0" into integration
Madhukar Pappireddy [Tue, 8 Sep 2020 14:22:45 +0000 (14:22 +0000)]
Merge "Enabling DPU in dts file for TC0" into integration

5 years agoEnabling DPU in dts file for TC0
Avinash Mehta [Wed, 22 Jul 2020 15:40:07 +0000 (16:40 +0100)]
Enabling DPU in dts file for TC0

This change replaces hdlcd with DPU in dts file for TC0

Change-Id: If25dfd3ddffc07279ab487f65e1bb82b27a26604
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
5 years agoMerge "doc: Improve contribution guidelines" into integration
joanna.farley [Mon, 7 Sep 2020 16:49:21 +0000 (16:49 +0000)]
Merge "doc: Improve contribution guidelines" into integration

5 years agoMerge "lib: cpu: Check SCU presence in DSU before accessing DSU registers" into integ...
Manish Pandey [Thu, 3 Sep 2020 21:16:17 +0000 (21:16 +0000)]
Merge "lib: cpu: Check SCU presence in DSU before accessing DSU registers" into integration

5 years agoMerge "psci: utility api to invoke stop for other cores" into integration
Manish Pandey [Thu, 3 Sep 2020 16:56:49 +0000 (16:56 +0000)]
Merge "psci: utility api to invoke stop for other cores" into integration

5 years agoMerge "Add Chris Kay as code owner for CMake Build Definitions." into integration
Madhukar Pappireddy [Thu, 3 Sep 2020 16:44:38 +0000 (16:44 +0000)]
Merge "Add Chris Kay as code owner for CMake Build Definitions." into integration

5 years agoAdd Chris Kay as code owner for CMake Build Definitions.
Javier Almansa Sobrino [Thu, 3 Sep 2020 09:29:24 +0000 (10:29 +0100)]
Add Chris Kay as code owner for CMake Build Definitions.

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

5 years agopsci: utility api to invoke stop for other cores
Sandeep Tripathy [Mon, 17 Aug 2020 14:52:13 +0000 (20:22 +0530)]
psci: utility api to invoke stop for other cores

The API can be used to invoke a 'stop_func' callback for all
other cores from any initiating core. Optionally it can also
wait for other cores to power down. There may be various use
of such API by platform. Ex: Platform may use this to power
down all other cores from a crashed core.

Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Change-Id: I4f9dc8a38d419f299c021535d5f1bcc6883106f9

5 years agoMerge "spd: trusty: allow clients to retrieve service UUID" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 18:53:56 +0000 (18:53 +0000)]
Merge "spd: trusty: allow clients to retrieve service UUID" into integration

5 years agoMerge "maintainers: step down as code owner of UniPhier platform" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 18:53:24 +0000 (18:53 +0000)]
Merge "maintainers: step down as code owner of UniPhier platform" into integration

5 years agoMerge "arm_fpga: Add support to populate the CPU nodes in the DTB" into integration
André Przywara [Wed, 2 Sep 2020 16:06:27 +0000 (16:06 +0000)]
Merge "arm_fpga: Add support to populate the CPU nodes in the DTB" into integration

5 years agolib: cpu: Check SCU presence in DSU before accessing DSU registers
Pramod Kumar [Wed, 5 Feb 2020 05:57:57 +0000 (11:27 +0530)]
lib: cpu: Check SCU presence in DSU before accessing DSU registers

The DSU contains system control registers in the SCU and L3 logic to
control the functionality of the cluster. If "DIRECT CONNECT" L3
memory system variant is used, there won't be any L3 cache,
snoop filter, and SCU logic present hence no system control register
will be present. Hence check SCU presence before accessing DSU register
for DSU_936184 errata.

Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
Change-Id: I1ffa8afb0447ae3bd1032c9dd678d68021fe5a63

5 years agoMerge "Tegra: common: fixup the bl31 code size to be copied at reset" into integration
Madhukar Pappireddy [Wed, 2 Sep 2020 15:50:12 +0000 (15:50 +0000)]
Merge "Tegra: common: fixup the bl31 code size to be copied at reset" into integration

5 years agoarm_fpga: Add support to populate the CPU nodes in the DTB
Javier Almansa Sobrino [Thu, 4 Jun 2020 18:01:48 +0000 (19:01 +0100)]
arm_fpga: Add support to populate the CPU nodes in the DTB

At the moment BL31 dynamically discovers the CPU topology of an FPGA
system at runtime, but does not export it to the non-secure world.
Any BL33 user would typically looks at the devicetree to learn about
existing CPUs.

This patch exports a minimum /cpus node in a devicetree to satisfy
the binding. This means that no cpumaps or caches are described.
This could be added later if needed.

An existing /cpus node in the DT will make the code bail out with a
message.

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

5 years agoMerge "Move static vars into functions in bl1" into integration
Manish Pandey [Wed, 2 Sep 2020 13:50:49 +0000 (13:50 +0000)]
Merge "Move static vars into functions in bl1" into integration

5 years agoMerge "plat/arm: Get the base address of nv-counters from device tree" into integration
Alexei Fedorov [Wed, 2 Sep 2020 12:14:51 +0000 (12:14 +0000)]
Merge "plat/arm: Get the base address of nv-counters from device tree" into integration

5 years agoMerge "dtsi: Update the nv-counter node in the device tree" into integration
Alexei Fedorov [Wed, 2 Sep 2020 12:14:43 +0000 (12:14 +0000)]
Merge "dtsi: Update the nv-counter node in the device tree" into integration

5 years agoMerge changes from topic "tegra-downstream-08282020" into integration
Madhukar Pappireddy [Tue, 1 Sep 2020 23:01:06 +0000 (23:01 +0000)]
Merge changes from topic "tegra-downstream-08282020" into integration

* changes:
  Tegra: common: disable GICC after domain off
  cpus: denver: skip DCO enable/disable for recent SKUs

5 years agoMerge "Remove Jack Bond-Preston as CMake Build Definitions code owner" into integration
Madhukar Pappireddy [Tue, 1 Sep 2020 22:33:13 +0000 (22:33 +0000)]
Merge "Remove Jack Bond-Preston as CMake Build Definitions code owner" into integration

5 years agoMerge "Add support to export a /cpus node to the device tree." into integration
Mark Dykes [Tue, 1 Sep 2020 18:21:46 +0000 (18:21 +0000)]
Merge "Add support to export a /cpus node to the device tree." into integration

5 years agoAdd support to export a /cpus node to the device tree.
Javier Almansa Sobrino [Tue, 25 Aug 2020 15:16:29 +0000 (16:16 +0100)]
Add support to export a /cpus node to the device tree.

This patch creates and populates the /cpus node in a device tree
based on the existing topology. It uses the minimum required nodes
and properties to satisfy the binding as specified in
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpus.txt

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

5 years agoMerge "sp_min: Avoid platform security reconfiguration" into integration
Mark Dykes [Tue, 1 Sep 2020 16:27:14 +0000 (16:27 +0000)]
Merge "sp_min: Avoid platform security reconfiguration" into integration

5 years agoMerge "doc: Update the cot-binding for nv-counter node" into integration
Mark Dykes [Tue, 1 Sep 2020 16:26:22 +0000 (16:26 +0000)]
Merge "doc: Update the cot-binding for nv-counter node" into integration

5 years agoMerge changes from topic "tegra-downstream-08282020" into integration
Varun Wadekar [Mon, 31 Aug 2020 22:46:37 +0000 (22:46 +0000)]
Merge changes from topic "tegra-downstream-08282020" into integration

* changes:
  Tegra: platform specific BL31_SIZE
  Tegra186: sanity check power state type
  Tegra: fixup CNTPS_TVAL_EL1 delay timer reads
  Tegra: add platform specific 'runtime_setup' handler
  Tegra: remove ENABLE_SVE_FOR_NS = 0
  lib: cpus: denver: add MIDR PN9 variant
  cpus: denver: introduce macro to declare cpu_ops

5 years agospd: trusty: allow clients to retrieve service UUID
Varun Wadekar [Tue, 17 Sep 2019 22:29:05 +0000 (15:29 -0700)]
spd: trusty: allow clients to retrieve service UUID

This patch implements support for the 64-bit and 32-bit versions of
0xBF00FF01 SMC function ID, as documented by the SMCCC, to allow
non-secure world clients to query SPD's UUID.

In order to service this FID, the Trusty SPD now increases the range
of SMCs that it services. To restrict Trusty from receiving the extra
SMC FIDs, this patch drops any unsupported FID.

Verified with TFTF tests for UID query and internal gtest for Trusty.

Change-Id: If96fe4993f7e641595cfe67cc6b4210a0d52403f
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: common: fixup the bl31 code size to be copied at reset
anzhou [Tue, 4 Aug 2020 14:05:19 +0000 (22:05 +0800)]
Tegra: common: fixup the bl31 code size to be copied at reset

If the CPU doesn't run from BL31_BASE, the firmware needs to be
copied from load address to BL31_BASE during cold boot. The size
should be the actual size of the code, which is indicated by the
__RELA_END__ linker variable.

This patch updates the copy routine to use this variable as a
result.

Signed-off-by: anzhou <anzhou@nvidia.com>
Change-Id: Ie3a48dd54cda1dc152204903d609da3117a0ced9

5 years agoTegra: common: disable GICC after domain off
anzhou [Wed, 5 Aug 2020 14:34:13 +0000 (22:34 +0800)]
Tegra: common: disable GICC after domain off

The the GIC CPU interface should be disabled after cpu off. The
Tegra power management code should mark the connected core as asleep
as part of the CPU off sequence.

This patch disables the GICC after CPU off as a result.

Signed-off-by: anzhou <anzhou@nvidia.com>
Change-Id: Ib1a3d8903f5e6d55bd2ee0c16134dbe2562235ea

5 years agocpus: denver: skip DCO enable/disable for recent SKUs
Varun Wadekar [Thu, 6 Aug 2020 06:10:40 +0000 (23:10 -0700)]
cpus: denver: skip DCO enable/disable for recent SKUs

DCO is not supported by the SKUs released after MIDR_PN4. This
patch skips enabling or disabling the DCO on these SKUs.

Change-Id: Ic31a829de3ae560314d0fb5c5e867689d4ba243b
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: platform specific BL31_SIZE
anzhou [Tue, 21 Jul 2020 08:22:44 +0000 (16:22 +0800)]
Tegra: platform specific BL31_SIZE

This patch moves the BL31_SIZE to the Tegra SoC specific
tegra_def.h. This helps newer platforms configure the size of
the memory available for BL31.

Signed-off-by: anzhou <anzhou@nvidia.com>
Change-Id: I43c60b82fa7e43d5b05d87fbe7d673d729380d82

5 years agoTegra186: sanity check power state type
Varun Wadekar [Thu, 23 Jul 2020 17:31:42 +0000 (10:31 -0700)]
Tegra186: sanity check power state type

This patch sanity checks the power state type before use,
from the platform's PSCI handler.

Verified with TFTF Standard Test Suite.

Change-Id: Icd45faac6c023d4ce7f3597b698d01b91a218124
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: fixup CNTPS_TVAL_EL1 delay timer reads
anzhou [Fri, 26 Jun 2020 07:21:10 +0000 (15:21 +0800)]
Tegra: fixup CNTPS_TVAL_EL1 delay timer reads

The delay_timer driver for Tegra uses the CNTPS_TVAL_EL1 secure, physical,
decrementing timer as the source. The current logic incorrectly marks this
as an incrementing timer, by negating the timer value.

This patch fixes the anomaly and updates the driver to remove this logic.

Signed-off-by: anzhou <anzhou@nvidia.com>
Change-Id: I60490bdcaf0b66bf4553a6de3f4e4e32109017f4

5 years agoTegra: add platform specific 'runtime_setup' handler
Kalyani Chidambaram Vaidyanathan [Mon, 15 Jun 2020 23:48:53 +0000 (16:48 -0700)]
Tegra: add platform specific 'runtime_setup' handler

Tegra SoCs would like the flexibility to perform chip specific actions
before we complete cold boot. This patch introduces a platform specific
'runtime_setup' handler to provide that flexibility.

Change-Id: I13b2489f631f775cae6f92acf51a240cd036ef11
Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
5 years agoTegra: remove ENABLE_SVE_FOR_NS = 0
Kalyani Chidambaram Vaidyanathan [Tue, 7 Apr 2020 00:34:37 +0000 (17:34 -0700)]
Tegra: remove ENABLE_SVE_FOR_NS = 0

The SVE CPU extension library reads the id_aa64pfr0_el1 register to
check if SVE is enabled. Tegra platforms disabled ENABLE_SVE_FOR_NS for
pre-8.2 platforms, but this flag can safely be enabled now that the
library can enable the feature at runtime.

This patch updates the makefile to remove "ENABLE_SVE_FOR_NS = 0"
as a result.

Change-Id: Ia2a89ac90644f8c0d39b41d321e04458ff6be6e1
Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
5 years agolib: cpus: denver: add MIDR PN9 variant
Hemant Nigam [Tue, 17 Dec 2019 22:21:38 +0000 (14:21 -0800)]
lib: cpus: denver: add MIDR PN9 variant

This patch introduces support for PN9 variant for some
Denver based platforms.

Original change by: Hemant Nigam <hnigam@nvidia.com>

Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
Change-Id: I331cd3a083721fd1cd1b03f4a11b32fd306a21f3

5 years agocpus: denver: introduce macro to declare cpu_ops
Varun Wadekar [Fri, 28 Aug 2020 21:00:15 +0000 (14:00 -0700)]
cpus: denver: introduce macro to declare cpu_ops

This patch introduces a macro to declare cpu_op for all Denver
SKUs.

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

5 years agoMerge "qti: spmi_arb: Fix coverity integer conversion warnings" into integration
Madhukar Pappireddy [Mon, 31 Aug 2020 16:38:15 +0000 (16:38 +0000)]
Merge "qti: spmi_arb: Fix coverity integer conversion warnings" into integration

5 years agoMove static vars into functions in bl1
Jimmy Brisson [Tue, 4 Aug 2020 21:27:51 +0000 (16:27 -0500)]
Move static vars into functions in bl1

This reduces the scope of these variables and resolves Misra violations
such as:
    bl1/aarch64/bl1_context_mgmt.c:21:[MISRA C-2012 Rule 8.9 (advisory)]
    "bl1_cpu_context" should be defined at block scope.

Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
Change-Id: I9b0b26395bce07e10e61d10158c67f9c22ecce44

5 years agomaintainers: step down as code owner of UniPhier platform
Masahiro Yamada [Sat, 29 Aug 2020 05:53:27 +0000 (14:53 +0900)]
maintainers: step down as code owner of UniPhier platform

I am leaving Socionext. Orphan the UniPhier platform until somebody
takes the role.

Change-Id: I54d3da6d49c1ccaaa475431654db578b683db88a
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge changes from topic "tegra-downstream-08252020" into integration
Madhukar Pappireddy [Fri, 28 Aug 2020 20:05:23 +0000 (20:05 +0000)]
Merge changes from topic "tegra-downstream-08252020" into integration

* changes:
  Tegra194: remove unused tegra_mc_defs header
  Tegra: memctrl: platform setup handler functions
  Tegra194: memctrl: remove streamid security cfg registers
  Tegra194: memctrl: remove streamid override cfg registers
  Tegra: debug prints indicating SC7 entry sequence completion
  Tegra194: add strict checking mode verification
  Tegra194: memctrl: update TZDRAM base at 1MB granularity
  Tegra194: ras: split up RAS error clear SMC call.
  Tegra: platform specific GIC sources
  Tegra194: add memory barriers during DRAM to SysRAM copy
  Tegra: sip: add VPR resize enabled check
  Tegra194: add redundancy checks for MMIO writes
  Tegra: remove unused cortex_a53.h
  Tegra194: report failure to enable dual execution
  Tegra194: verify firewall settings before resource use

5 years agoMerge changes from topic "tc0/dts" into integration
Madhukar Pappireddy [Fri, 28 Aug 2020 17:50:02 +0000 (17:50 +0000)]
Merge changes from topic "tc0/dts" into integration

* changes:
  fdts: tc0: add support for cpu-idle-states
  fdts: tc0: Add node for mmc

5 years agoRemove Jack Bond-Preston as CMake Build Definitions code owner
Javier Almansa Sobrino [Fri, 28 Aug 2020 14:19:32 +0000 (15:19 +0100)]
Remove Jack Bond-Preston as CMake Build Definitions code owner

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

5 years agosp_min: Avoid platform security reconfiguration
Manish V Badarkhe [Thu, 27 Aug 2020 12:16:21 +0000 (13:16 +0100)]
sp_min: Avoid platform security reconfiguration

In the case of Juno AArch32, platform security configuration
gets done from both BL2 and SP_MIN(BL32) components when
JUNO_AARCH32_EL3_RUNTIME and RESET_TO_SP_MIN build options
are set.
Fix is provided to avoid Platform security configuration from
SP_MIN when it is already done in BL2.

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

5 years agoplat/arm: Get the base address of nv-counters from device tree
Manish V Badarkhe [Sun, 23 Aug 2020 08:58:44 +0000 (09:58 +0100)]
plat/arm: Get the base address of nv-counters from device tree

Using the Fconf, register base address of the various nv-counters
(currently, trusted, non-trusted nv-counters) are moved to the
device tree and retrieved during run-time. This feature is
enabled using the build option COT_DESC_IN_DTB.

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

5 years agodtsi: Update the nv-counter node in the device tree
Manish V Badarkhe [Sun, 23 Aug 2020 08:47:02 +0000 (09:47 +0100)]
dtsi: Update the nv-counter node in the device tree

Created a header file defining the id of the various nv-counters
used in the system.
Also, updated the device tree to add 'id' property for the trusted
and non-trusted nv-counters.

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

5 years agodoc: Update the cot-binding for nv-counter node
Manish V Badarkhe [Sun, 23 Aug 2020 08:46:06 +0000 (09:46 +0100)]
doc: Update the cot-binding for nv-counter node

Updated the cot-binding documentation to add 'id'
property for the trusted and non-trusted nv-counters.

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

5 years agoTegra194: remove unused tegra_mc_defs header
Varun Wadekar [Thu, 24 Oct 2019 22:02:11 +0000 (15:02 -0700)]
Tegra194: remove unused tegra_mc_defs header

This patch removes the unused header from the Tegra194
platform files. As a result, the TSA MMIO would be
removed from the memory map too.

Change-Id: I2d38b3da7a119f5dfd6cfd429e481f4e6ad3481e
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: memctrl: platform setup handler functions
Varun Wadekar [Mon, 26 Aug 2019 17:20:53 +0000 (10:20 -0700)]
Tegra: memctrl: platform setup handler functions

The driver initially contained the setup steps to help Tegra186
and Tegra194 SoCs. In order to support future SoCs and make sure
that the driver remains generic enough, some code should be moved
to SoC.

This patch creates a setup handler for a platform to implement its
initialization sequence.

Change-Id: I8bab7fd07f25e0457ead8e2d2713efe54782a59b
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
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 agoqti: spmi_arb: Fix coverity integer conversion warnings
Julius Werner [Thu, 27 Aug 2020 23:30:44 +0000 (16:30 -0700)]
qti: spmi_arb: Fix coverity integer conversion warnings

Coverity warns about the risk of unintended sign-exension in some of the
calculations in spmi_arb.c. While the actual numbers used are small
enough that this cannot happen in practice, it's still a good idea to
clean them up by explicitly making the constants used unsigned.

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

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 agofdts: tc0: add support for cpu-idle-states
Usama Arif [Wed, 12 Aug 2020 16:14:37 +0000 (17:14 +0100)]
fdts: tc0: add support for cpu-idle-states

This includes both cpu and cluster sleep parameters.

Change-Id: I6a9e90b88508d6d2acd2538007cbbdd1cf976442
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agofdts: tc0: Add node for mmc
Usama Arif [Wed, 10 Jun 2020 15:27:53 +0000 (16:27 +0100)]
fdts: tc0: Add node for mmc

The pl180 mmc uses 3.3V fixed regulator and vexpress
sysreg for card detection and write protect.

Change-Id: I2513cfcb97217e282a081a700f3a9f723e8207ff
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agodoc: Improve contribution guidelines
Sandrine Bailleux [Fri, 14 Aug 2020 13:58:50 +0000 (15:58 +0200)]
doc: Improve contribution guidelines

- Add some guidance about the type of information a patch author should
  provide to facilitate the review (and for future reference).

- Make a number of implicit expectations explicit:
  - Every patch must compile.
  - All CI tests must pass.

- Mention that the patch author is expected to add reviewers and explain
  how to choose them.

- Explain the patch submission rules in terms of Gerrit labels.

Also do some cosmetic changes, like adding empty lines, shuffling some
paragraphs around.

Change-Id: I6dac486684310b5a35aac7353e10fe5474a81ec5
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
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