]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agon1sdp: add support for remote chip pcie.
Sayanta Pattanayak [Fri, 31 Jul 2020 07:46:13 +0000 (13:16 +0530)]
n1sdp: add support for remote chip pcie.

Remote chip  ITS, SMMU, PCIe nodes are added for enabling remote
chip PCIe hierarchy.

Change-Id: I5b3ca733715defa38e413588ccd13d0688cba271
Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
5 years agoMerge "SPE: Fix feature detection" into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 21:21:24 +0000 (21:21 +0000)]
Merge "SPE: Fix feature detection" into integration

5 years agoMerge changes from topic "cot-parser" into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 16:53:56 +0000 (16:53 +0000)]
Merge changes from topic "cot-parser" into integration

* changes:
  plat/arm: fvp: Increase BL2 maximum size
  lib: fconf: Implement a parser to populate CoT

5 years agoMerge "doc: Correct CPACR.FPEN usage" into integration
Mark Dykes [Tue, 15 Sep 2020 16:44:09 +0000 (16:44 +0000)]
Merge "doc: Correct CPACR.FPEN usage" into integration

5 years agoplat/arm: fvp: Increase BL2 maximum size
Manish V Badarkhe [Fri, 4 Sep 2020 14:01:30 +0000 (15:01 +0100)]
plat/arm: fvp: Increase BL2 maximum size

Increased BL2 maximum size when CoT descriptors are placed
in device tree.

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

5 years agolib: fconf: Implement a parser to populate CoT
Manish V Badarkhe [Thu, 23 Jul 2020 09:43:57 +0000 (10:43 +0100)]
lib: fconf: Implement a parser to populate CoT

Implemented a parser which populates the properties of
the CoT descriptors as per the binding document [1].
'COT_DESC_IN_DTB' build option is disabled by default and can
be enabled in future for all Arm platforms by making necessary
changes in the memory map.
Currently, this parser is tested only for FVP platform.

[1]:
https://trustedfirmware-a.readthedocs.io/en/latest/components/cot-binding.html

Change-Id: I2f911206087a1a2942aa728de151d2ac269d27cc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoMerge "doc: add description of "owner" field in SP layout file." into integration
Madhukar Pappireddy [Tue, 15 Sep 2020 14:33:27 +0000 (14:33 +0000)]
Merge "doc: add description of "owner" field in SP layout file." into integration

5 years agoMerge changes from topic "sami/834_fiptool_pack_issue_win_v1" into integration
Manish Pandey [Tue, 15 Sep 2020 14:05:34 +0000 (14:05 +0000)]
Merge changes from topic "sami/834_fiptool_pack_issue_win_v1" into integration

* changes:
  Update makefile to build fiptool for Windows
  Fix fiptool packaging issue on windows

5 years agodoc: add description of "owner" field in SP layout file.
Manish Pandey [Wed, 12 Aug 2020 16:06:25 +0000 (17:06 +0100)]
doc: add description of "owner" field in SP layout file.

Change-Id: Iedaa83ed546eb2476849a8d53f6e05b847a48b23
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
5 years agoMerge "fdts: corstone700: add NXP isp1763 node to device tree" into integration
Manish Pandey [Tue, 15 Sep 2020 06:32:12 +0000 (06:32 +0000)]
Merge "fdts: corstone700: add NXP isp1763 node to device tree" into integration

5 years agoMerge "rockchip: don't crash if we get an FDT we can't parse" into integration
Mark Dykes [Mon, 14 Sep 2020 21:49:38 +0000 (21:49 +0000)]
Merge "rockchip: don't crash if we get an FDT we can't parse" into integration

5 years agoSPE: Fix feature detection
Andre Przywara [Fri, 11 Sep 2020 08:18:09 +0000 (09:18 +0100)]
SPE: Fix feature detection

Currently the feature test for the SPE extension requires the feature
bits in the ID_AA64DFR0 register to read exactly 0b0001.
However the architecture guarantees that any values greater than 0
indicate the presence of a feature, which is what we are after in
our spe_supported() function.

Change the comparison to include all values greater than 0.

This fixes SPE support in non-secure world on implementations which
include the Scalable Vector Extension (SVE), for instance on Zeus cores.

Change-Id: If6cbd1b72d6abb8a303e2c0a7839d508f071cdbe
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoUpdate makefile to build fiptool for Windows
Sami Mujawar [Thu, 30 Apr 2020 11:41:57 +0000 (12:41 +0100)]
Update makefile to build fiptool for Windows

Although support for building fiptool on a Windows host was present,
the binary was not built when the top level makefile was invoked.

This patch makes the necessary changes to the to support building of
fiptool on a Windows host PC from the main makefile.

Change-Id: I0c01ba237fa3010a027a1b324201131210cf4d7c
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
5 years agoFix fiptool packaging issue on windows
Sami Mujawar [Thu, 30 Apr 2020 11:40:22 +0000 (12:40 +0100)]
Fix fiptool packaging issue on windows

Windows does not have a standard getopt implementation. To address
this an equivalent implementation has been provided in win_posix.c
However, the implementation has an issue with option processing as
described below.

Long option names may be abbreviated if the abbreviation is unique
or an exact match for some defined option.
Since some options can be substring of other options e.g. "scp-fw"
option is a substring of "scp-fwu-cfg", we need to identify if an
option is abbreviated and also check for uniqueness. Otherwise if
a user passes --scp-fw as an option, the "scp-fwu-cfg" option may
get selected, resulting in an incorrectly packaged FIP.

This issue has been be fixed by:
  - First searching for an exact match.
  - If exact match was not found search for a abbreviated match.
By doing this an incorrect option selection can be avoided.

Change-Id: I22f4e7a683f3df857f5b6f0783bf9b03a64a0bcc
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
5 years agodoc: Correct CPACR.FPEN usage
Peng Fan [Fri, 21 Aug 2020 02:47:17 +0000 (10:47 +0800)]
doc: Correct CPACR.FPEN usage

To avoid trapping from EL0/1, FPEN bits need to be set 0x3, not
clearing.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Change-Id: Ic34e9aeb876872883c5f040618ed6d50f21dacd0

5 years agoMerge "libc: Import strlcat from FreeBSD project" into integration
Mark Dykes [Fri, 11 Sep 2020 18:44:19 +0000 (18:44 +0000)]
Merge "libc: Import strlcat from FreeBSD project" into integration

5 years agoMerge "libc: Add support for vsnprintf()" into integration
Mark Dykes [Fri, 11 Sep 2020 18:42:23 +0000 (18:42 +0000)]
Merge "libc: Add support for vsnprintf()" into integration

5 years agolibc: Add support for vsnprintf()
Madhukar Pappireddy [Wed, 9 Sep 2020 00:00:00 +0000 (19:00 -0500)]
libc: Add support for vsnprintf()

It uses the existing implementation of snprintf() function

Change-Id: Ie59418564c2e415222e819cf322c34e9a4d1f336
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "Workaround for Neoverse N1 erratum 1868343" into integration
Madhukar Pappireddy [Fri, 11 Sep 2020 14:56:35 +0000 (14:56 +0000)]
Merge "Workaround for Neoverse N1 erratum 1868343" into integration

5 years agoMerge "tc0: increase SCP_BL2 size to 128 kB" into integration
Manish Pandey [Fri, 11 Sep 2020 14:01:50 +0000 (14:01 +0000)]
Merge "tc0: increase SCP_BL2 size to 128 kB" into integration

5 years agoMerge "SPM: Get rid of uint32_t array representation of UUID" into integration
Manish Pandey [Fri, 11 Sep 2020 10:47:48 +0000 (10:47 +0000)]
Merge "SPM: Get rid of uint32_t array representation of UUID" into integration

5 years agoMerge "tools: Set the tool's default binary name" into integration
Mark Dykes [Thu, 10 Sep 2020 19:00:20 +0000 (19:00 +0000)]
Merge "tools: Set the tool's default binary name" into integration

5 years agoWorkaround for Neoverse N1 erratum 1868343
johpow01 [Wed, 5 Aug 2020 17:27:12 +0000 (12:27 -0500)]
Workaround for Neoverse N1 erratum 1868343

Neoverse N1 erratum 1868343 is a Cat B erratum, present in older
revisions of the Neoverse N1 processor core.  The workaround is to
set a bit in the CPUACTLR_EL1 system register, which delays instruction
fetch after branch misprediction. This workaround will have a small
impact on performance.

SDEN can be found here:
https://documentation-service.arm.com/static/5f2c130260a93e65927bc92f

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

5 years agoMerge "plat/arm: rdn1edge: Correct mismatched parenthesis in makefile" into integration
Manish Pandey [Thu, 10 Sep 2020 14:40:16 +0000 (14:40 +0000)]
Merge "plat/arm: rdn1edge: Correct mismatched parenthesis in makefile" into integration

5 years agoMerge "Addition of standard APIs in qtiseclib interface" into integration
Madhukar Pappireddy [Thu, 10 Sep 2020 14:28:35 +0000 (14:28 +0000)]
Merge "Addition of standard APIs in qtiseclib interface" into integration

5 years agotc0: increase SCP_BL2 size to 128 kB
Usama Arif [Mon, 7 Sep 2020 17:11:22 +0000 (18:11 +0100)]
tc0: increase SCP_BL2 size to 128 kB

The size of debug binaries of SCP has increased beyond the current
limit of 80kB set in platform. Hence, increase it to 128kB.

Change-Id: I5dbcf87f8fb35672b39abdb942c0691fb339444a
Signed-off-by: Usama Arif <usama.arif@arm.com>
5 years agoplat/arm: rdn1edge: Correct mismatched parenthesis in makefile
Anders Dellien [Thu, 10 Sep 2020 08:49:42 +0000 (09:49 +0100)]
plat/arm: rdn1edge: Correct mismatched parenthesis in makefile

This fixes build errors for rdn1edge

Change-Id: I63f7ebff68679e1e859f8786d4def4960c0f2ddf
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
5 years agoSPM: Get rid of uint32_t array representation of UUID
Ruari Phipps [Mon, 10 Aug 2020 14:53:45 +0000 (15:53 +0100)]
SPM: Get rid of uint32_t array representation of UUID

UUID's in the device tree files were stored in little endian. So
to keep all entries in these files RFC 4122 compliant, store them in
big endian then convert it to little endian when they are read so they
can be used in the UUID data structure.

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

5 years agolibc: Import strlcat from FreeBSD project
Madhukar Pappireddy [Fri, 4 Sep 2020 19:04:23 +0000 (14:04 -0500)]
libc: Import strlcat from FreeBSD project

From commit: 21571b1d140ae7bb44e94c0afba2ec61456b275b
Made small changes to fit into TF-A project

Change-Id: I07fd7fe1037857f6b299c35367c104fb51fa5cfa
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "libc: memset: improve performance by avoiding single byte writes" into integration
Mark Dykes [Wed, 9 Sep 2020 18:36:08 +0000 (18:36 +0000)]
Merge "libc: memset: improve performance by avoiding single byte writes" into integration

5 years agoMerge "mediatek: Add jedec info" into integration
Madhukar Pappireddy [Wed, 9 Sep 2020 17:03:28 +0000 (17:03 +0000)]
Merge "mediatek: Add jedec info" into integration

5 years agoMerge "plat/arm: Add dependencies to configuration files" into integration
Manish Pandey [Wed, 9 Sep 2020 09:52:33 +0000 (09:52 +0000)]
Merge "plat/arm: Add dependencies to configuration files" into integration

5 years agoMerge "plat: Fix build issue for qemu and rpi3 platforms" into integration
Olivier Deprez [Wed, 9 Sep 2020 09:44:13 +0000 (09:44 +0000)]
Merge "plat: Fix build issue for qemu and rpi3 platforms" into integration

5 years agoMerge "Fix: fixing coverity issue for SPM Core." into integration
Olivier Deprez [Wed, 9 Sep 2020 09:04:37 +0000 (09:04 +0000)]
Merge "Fix: fixing coverity issue for SPM Core." into integration

5 years agoAddition of standard APIs in qtiseclib interface
Saurabh Gorecha [Mon, 7 Sep 2020 09:22:20 +0000 (14:52 +0530)]
Addition of standard APIs in qtiseclib interface

Follwing APIs wrappers are exposed to qtiseclib
* strcmp
* memset
* memmove

Change-Id: I79d50f358239cfda607d5f1a53314aa3b8f430cb
Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.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 agoFix: fixing coverity issue for SPM Core.
Max Shvetsov [Tue, 25 Aug 2020 10:50:18 +0000 (11:50 +0100)]
Fix: fixing coverity issue for SPM Core.

spmd_get_context_by_mpidr was using potentially negative value as an
array index. plat_core_pos_by_mpidr could return -1 on failure which is
utilized by some platforms.

Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Change-Id: I7f8827e77f18da389c9cafdc1fc841aba9f03120

5 years agofdts: corstone700: add NXP isp1763 node to device tree
Rui Miguel Silva [Wed, 15 Jul 2020 09:08:55 +0000 (10:08 +0100)]
fdts: corstone700: add NXP isp1763 node to device tree

Add USB IP node as the MPS3 board has the NXP isp1763 host controller.

Change-Id: I47c57e4c8345d244c46895b52fcaecc1c6f1b504
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: lakshmi Kailasanathan <lakshmi.Kailasanathan@arm.com>
5 years agoplat: Fix build issue for qemu and rpi3 platforms
Manish V Badarkhe [Thu, 3 Sep 2020 15:54:47 +0000 (16:54 +0100)]
plat: Fix build issue for qemu and rpi3 platforms

Coverity build periodically throws below errors(non-consistently)
for 'QEMU' and 'RPI3' platforms.

/bin/sh: 1: cannot create build/qemu/debug/rot_key.pem: Directory
nonexistent
plat/qemu/qemu/platform.mk:86: recipe for target 'build/qemu/debug/
rot_key.pem' failed
make: *** [build/qemu/debug/rot_key.pem] Error 2

/bin/sh: 1: cannot create /work/workspace/workspace/tf-coverity/build
/rpi3/debug/rot_key.pem: Directory nonexistent
plat/rpi/rpi3/platform.mk:214: recipe for target '/work/workspace/
workspace/tf-coverity/build/rpi3/debug/rot_key.pem' failed
make: *** [/work/workspace/workspace/tf-coverity/build/rpi3/debug/
rot_key.pem] Error 2

Issue seems to be occurred when 'ROT key' is generated before creating
the platform build folder(for e.g.build/qemu/debug).

Changes are made to fix this issue by adding orderly dependancy of
the platform folder for the 'ROT key' creation which ensures that
platform folder is created before generating 'ROT key'.

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

5 years agotools: Set the tool's default binary name
Manish V Badarkhe [Sat, 5 Sep 2020 03:40:41 +0000 (04:40 +0100)]
tools: Set the tool's default binary name

This patch: fafd3ec9c assumes that tools must build from
the main makefile folder.
This assumption leads to the error when somebody wants to
build a tool from the tool's folder.
Hence changes are done to provide the default binary name
in the tool's makefile.

Change-Id: Iae570a7f8d322151376b6feb19e739300eecc3fc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agolibc: memset: improve performance by avoiding single byte writes
Andre Przywara [Thu, 3 Sep 2020 10:04:39 +0000 (11:04 +0100)]
libc: memset: improve performance by avoiding single byte writes

Currently our memset() implementation is safe, but slow. The main reason
for that seems to be the single byte writes that it issues, which can
show horrible performance, depending on the implementation of the
load/store subsystem.

Improve the algorithm by trying to issue 64-bit writes. As this only
works with aligned pointers, have a head and a tail section which
covers unaligned pointers, and leave the bulk of the work to the middle
section that does use 64-bit writes.

Put through some unit tests, which exercise all combinations of nasty
input parameters (pointers with various alignments, various odd and even
sizes, corner cases of content to write (-1, 256)).

Change-Id: I28ddd3d388cc4989030f1a70447581985368d5bb
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
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 agoplat/arm: Add dependencies to configuration files
Anders Dellien [Sun, 23 Aug 2020 18:32:48 +0000 (19:32 +0100)]
plat/arm: Add dependencies to configuration files

This patch adds dependencies to the generated configuration
files that are included in the FIP. This fixes occasional
build errors that occur when the FIP happens to be built first.

Change-Id: I5a2bf724ba3aee13954403b141f2f19b4fd51d1b
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
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 agomediatek: Add jedec info
Hsin-Yi Wang [Thu, 27 Aug 2020 05:48:48 +0000 (13:48 +0800)]
mediatek: Add jedec info

Add jedec info for mt8173, mt8183, and mt8192.

[1] http://www.softnology.biz/pdf/JEP106AV.pdf

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Change-Id: Iab36fd580131f0b09b27223fba0e9d1e187d9196

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>