]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agoTegra186: enable higher performance non-cacheable load forwarding
Varun Wadekar [Tue, 12 Jun 2018 23:55:06 +0000 (16:55 -0700)]
Tegra186: enable higher performance non-cacheable load forwarding

This patch enables higher performance non-cacheable load forwarding for
Tegra186 platforms.

Change-Id: Ifceb304bfbd805f415bb6205c9679602ecb47b53
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra210: enable higher performance non-cacheable load forwarding
Varun Wadekar [Tue, 12 Jun 2018 23:54:55 +0000 (16:54 -0700)]
Tegra210: enable higher performance non-cacheable load forwarding

This patch enables higher performance non-cacheable load forwarding for
Tegra210 platforms.

Change-Id: I11d0ffc09aca97d37386f283f2fbd2483d51fd28
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agocpus: higher performance non-cacheable load forwarding
Varun Wadekar [Tue, 12 Jun 2018 23:49:12 +0000 (16:49 -0700)]
cpus: higher performance non-cacheable load forwarding

The CPUACTLR_EL1 register on Cortex-A57 CPUs supports a bit to enable
non-cacheable streaming enhancement. Platforms can set this bit only
if their memory system meets the requirement that cache line fill
requests from the Cortex-A57 processor are atomic.

This patch adds support to enable higher performance non-cacheable load
forwarding for such platforms. Platforms must enable this support by
setting the 'A57_ENABLE_NONCACHEABLE_LOAD_FWD' flag from their
makefiles. This flag is disabled by default.

Change-Id: Ib27e55dd68d11a50962c0bbc5b89072208b4bac5
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoMerge "intel: Fix Coverity Scan Defects" into integration
Sandrine Bailleux [Thu, 20 Feb 2020 09:53:26 +0000 (09:53 +0000)]
Merge "intel: Fix Coverity Scan Defects" into integration

5 years agointel: Fix Coverity Scan Defects
Abdul Halim, Muhammad Hadi Asyrafi [Tue, 11 Feb 2020 12:17:05 +0000 (20:17 +0800)]
intel: Fix Coverity Scan Defects

Fix mailbox driver incompatible cast bug and control flow issue that
was flagged by Coverity Scan.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I3f34e98d24e40139d31cf7d5b9b973cd2d981065

5 years agoMerge "Update docs with PMU security information" into integration
Manish Pandey [Wed, 19 Feb 2020 17:30:37 +0000 (17:30 +0000)]
Merge "Update docs with PMU security information" into integration

5 years agoMerge changes I72846d86,I70c3d873,If675796a,I0dbf8091,Ie4f3ac83, ... into integration
Sandrine Bailleux [Wed, 19 Feb 2020 15:29:23 +0000 (15:29 +0000)]
Merge changes I72846d86,I70c3d873,If675796a,I0dbf8091,Ie4f3ac83, ... into integration

* changes:
  rcar_gen3: plat: Minor coding style fix for rcar_version.h
  rcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.6
  rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
  rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
  rcar_gen3: drivers: board: Add new board revision for M3ULCB
  rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
  rcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.5
  rcar_gen3: plat: Change fixed destination address of BL31 and BL32

5 years agoMerge "TBBR: Reduce size of hash buffers when possible" into integration
Sandrine Bailleux [Wed, 19 Feb 2020 15:17:56 +0000 (15:17 +0000)]
Merge "TBBR: Reduce size of hash buffers when possible" into integration

5 years agoMerge "TBBR: Reduce size of ECDSA key buffers" into integration
Sandrine Bailleux [Wed, 19 Feb 2020 15:17:48 +0000 (15:17 +0000)]
Merge "TBBR: Reduce size of ECDSA key buffers" into integration

5 years agoMerge "corstone700: fdts: using DDR memory and XIP rootfs" into integration
Manish Pandey [Wed, 19 Feb 2020 11:25:52 +0000 (11:25 +0000)]
Merge "corstone700: fdts: using DDR memory and XIP rootfs" into integration

5 years agoMerge changes I5ca7a004,Ibcb336a2 into integration
Manish Pandey [Tue, 18 Feb 2020 21:54:25 +0000 (21:54 +0000)]
Merge changes I5ca7a004,Ibcb336a2 into integration

* changes:
  board/rdn1edge: use CREATE_SEQ helper macro to compare chip count
  build_macros: add create sequence helper function

5 years agoboard/rdn1edge: use CREATE_SEQ helper macro to compare chip count
Vijayenthiran Subramaniam [Wed, 12 Feb 2020 07:56:33 +0000 (13:26 +0530)]
board/rdn1edge: use CREATE_SEQ helper macro to compare chip count

Use CREATE_SEQ helper macro to create sequence of valid chip counts
instead of manually creating the sequence. This allows a scalable
approach to increase the valid chip count sequence in the future.

Change-Id: I5ca7a00460325c156b9e9e52b2bf656a2e43f82d
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agobuild_macros: add create sequence helper function
Vijayenthiran Subramaniam [Sat, 8 Feb 2020 15:57:30 +0000 (21:27 +0530)]
build_macros: add create sequence helper function

Add `CREATE_SEQ` function to generate sequence of numbers starting from
1 to allow easy comparison of a user defined macro with non-zero
positive numbers.

Change-Id: Ibcb336a223d958154b1007d08c428fbaf1e48664
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agocorstone700: fdts: using DDR memory and XIP rootfs
Rui Silva [Wed, 9 Oct 2019 11:54:30 +0000 (12:54 +0100)]
corstone700: fdts: using DDR memory and XIP rootfs

This patch allows to use DDR address in memory node because on FPGA we
typically use DDR instead of shared RAM.

This patch also modifies the kernel arguments to allow the rootfs to be
mounted from a direct mapping of the QSPI NOR flash using the physmap
driver in the kernel. This allows to support CRAMFS XIP.

Change-Id: I4e2bc6a1f48449c7f60e00f5f1a698df8cb2ba89
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
5 years agoMerge changes from topic "corstone700" into integration
Manish Pandey [Tue, 18 Feb 2020 21:47:38 +0000 (21:47 +0000)]
Merge changes from topic "corstone700" into integration

* changes:
  corstone700: set UART clocks to 32MHz
  corstone700: clean-up as per coding style guide
  Corstone700: add support for mhuv2 in arm TF-A

5 years agoMerge "coverity: fix MISRA violations" into integration
Mark Dykes [Tue, 18 Feb 2020 19:19:00 +0000 (19:19 +0000)]
Merge "coverity: fix MISRA violations" into integration

5 years agoMerge "FVP: Fix BL31 load address and image size for RESET_TO_BL31=1" into integration
Mark Dykes [Tue, 18 Feb 2020 17:02:50 +0000 (17:02 +0000)]
Merge "FVP: Fix BL31 load address and image size for RESET_TO_BL31=1" into integration

5 years agocoverity: fix MISRA violations
Zelalem [Wed, 12 Feb 2020 16:37:03 +0000 (10:37 -0600)]
coverity: fix MISRA violations

Fixes for the following MISRA violations:
- Missing explicit parentheses on sub-expression
- An identifier or macro name beginning with an
  underscore, shall not be declared
- Type mismatch in BL1 SMC handlers and tspd_main.c

Change-Id: I7a92abf260da95acb0846b27c2997b59b059efc4
Signed-off-by: Zelalem <zelalem.aweke@arm.com>
5 years agoMerge changes I4e95678f,Ia7c28704,I1bb04bb4,I93d96dca,I50aef5dd into integration
Mark Dykes [Tue, 18 Feb 2020 16:24:33 +0000 (16:24 +0000)]
Merge changes I4e95678f,Ia7c28704,I1bb04bb4,I93d96dca,I50aef5dd into integration

* changes:
  Fix boot failures on some builds linked with ld.lld.
  trusty: generic-arm64-smcall: Support gicr address
  trusty: Allow gic base to be specified with GICD_BASE
  trusty: Allow getting trusty memsize from BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE
  Fix clang build if CC is not in the path.

5 years agoFVP: Fix BL31 load address and image size for RESET_TO_BL31=1
Alexei Fedorov [Mon, 17 Feb 2020 13:38:35 +0000 (13:38 +0000)]
FVP: Fix BL31 load address and image size for RESET_TO_BL31=1

When TF-A is built with RESET_TO_BL31=1 option, BL31 is the
first image to be run and should have all the memory allocated
to it except for the memory reserved for Shared RAM at the start
of Trusted SRAM.
This patch fixes FVP BL31 load address and its image size for
RESET_TO_BL31=1 option. BL31 startup address should be set to
0x400_1000 and its maximum image size to the size of Trusted SRAM
minus the first 4KB of shared memory.
Loading BL31 at 0x0402_0000 as it is currently stated in
'\docs\plat\arm\fvp\index.rst' causes EL3 exception when the
image size gets increased (i.e. building with LOG_LEVEL=50)
but doesn't exceed 0x3B000 not causing build error.

Change-Id: Ie450baaf247f1577112f8d143b24e76c39d33e91
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoTBBR: Reduce size of hash buffers when possible
Sandrine Bailleux [Mon, 17 Feb 2020 15:26:05 +0000 (16:26 +0100)]
TBBR: Reduce size of hash buffers when possible

The TBBR implementation extracts hashes from certificates and stores
them in static buffers. TF-A supports 3 variants of SHA right now:
SHA-256, SHA-384 and SHA-512. When support for SHA-512 was added in
commit 9a3088a5f509084e60d9c55bf53985c5ec4ca821 ("tbbr: Add build flag
HASH_ALG to let the user to select the SHA"), the hash buffers got
unconditionally increased from 51 to 83 bytes each. We can reduce that
space if we're using SHA-256 or SHA-384.

This saves some BSS space in both BL1 and BL2:
- BL1 with SHA-256: saving 168 bytes.
- BL1 with SHA-384: saving 80 bytes.
- BL2 with SHA-256: saving 384 bytes.
- BL2 with SHA-384: saving 192 bytes.

Change-Id: I0d02e5dc5f0162e82339c768609c9766cfe7e2bd
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoTBBR: Reduce size of ECDSA key buffers
Sandrine Bailleux [Mon, 17 Feb 2020 12:41:59 +0000 (13:41 +0100)]
TBBR: Reduce size of ECDSA key buffers

The TBBR implementation extracts public keys from certificates and
stores them in static buffers. DER-encoded ECDSA keys are only 91 bytes
each but were each allocated 294 bytes instead. Reducing the size of
these buffers saves 609 bytes of BSS in BL2 (294 - 91 = 203 bytes for
each of the 3 key buffers in use).

Also add a comment claryfing that key buffers are tailored on RSA key
sizes when both ECDSA and RSA keys are used.

Change-Id: Iad332856e7af1f9814418d012fba3e1e9399f72a
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agocorstone700: set UART clocks to 32MHz
Vishnu Banavath [Wed, 7 Aug 2019 09:49:05 +0000 (10:49 +0100)]
corstone700: set UART clocks to 32MHz

Adding support for 32MHz UART clock and selecting it as the
default UART clock

Change-Id: I9541eaff70424e85a3b5ee4820ca0e7efb040d2c
Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
5 years agocorstone700: clean-up as per coding style guide
Avinash Mehta [Thu, 11 Jul 2019 15:23:43 +0000 (16:23 +0100)]
corstone700: clean-up as per coding style guide

Running checkpatch.pl on the codebase and making required changes

Change-Id: I7d3f8764cef632ab2a6d3c355c68f590440b85b8
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
5 years agoCorstone700: add support for mhuv2 in arm TF-A
Khandelwal [Wed, 29 Jan 2020 16:51:42 +0000 (16:51 +0000)]
Corstone700: add support for mhuv2 in arm TF-A

Note: This patch implements in-band messaging protocol only.
ARM has launched a next version of MHU i.e. MHUv2 with its latest
subsystems. The main change is that the MHUv2 is now a distributed IP
with different peripheral views (registers) for the sender and receiver.

Another main difference is that MHUv1 duplex channels are now split into
simplex/half duplex in MHUv2. MHUv2 has a configurable number of
communication channels. There is a capability register (MSG_NO_CAP) to
find out how many channels are available in a system.

The register offsets have also changed for STAT, SET & CLEAR registers
from 0x0, 0x8 & 0x10 in MHUv1 to 0x0, 0xC & 0x8 in MHUv2 respectively.

0x0    0x4  0x8  0xC             0x1F
------------------------....-----
| STAT |    |    | SET |    |   |
------------------------....-----
      Transmit Channel

0x0    0x4  0x8   0xC            0x1F
------------------------....-----
| STAT |    | CLR |    |    |   |
------------------------....-----
        Receive Channel

The MHU controller can request the receiver to wake-up and once the
request is removed, the receiver may go back to sleep, but the MHU
itself does not actively put a receiver to sleep.

So, in order to wake-up the receiver when the sender wants to send data,
the sender has to set ACCESS_REQUEST register first in order to wake-up
receiver, state of which can be detected using ACCESS_READY register.
ACCESS_REQUEST has an offset of 0xF88 & ACCESS_READY has an offset
of 0xF8C and are accessible only on any sender channel.

This patch adds necessary changes in a new file required to support the
latest MHUv2 controller. This patch also needs an update in DT binding
for ARM MHUv2 as we need a second register base (tx base) which would
be used as the send channel base.

Change-Id: I1455e08b3d88671a191c558790c503eabe07a8e6
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
5 years agorcar_gen3: plat: Minor coding style fix for rcar_version.h
Marek Vasut [Sun, 9 Feb 2020 10:57:24 +0000 (11:57 +0100)]
rcar_gen3: plat: Minor coding style fix for rcar_version.h

Use space after #define consistently, drop useless parenthesis,
no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I72846d8672cab09b128e3118f4b7042a5a9c0df5

5 years agorcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.6
Yoshifumi Hosoya [Fri, 7 Feb 2020 02:23:33 +0000 (11:23 +0900)]
rcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.6

Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: I70c3d873b1d05075257034aee5e19c754be911e0

5 years agorcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
Chiaki Fujii [Thu, 26 Dec 2019 03:57:40 +0000 (12:57 +0900)]
rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N

[IPL/DDR]
- Update H3, M3, M3N DDR setting rev.0.40.

Signed-off-by: Chiaki Fujii <chiaki.fujii.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: If675796a2314e769602af21bf5cc6b10962d4f29

5 years agorcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
Chiaki Fujii [Fri, 6 Dec 2019 10:33:34 +0000 (19:33 +0900)]
rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N

[IPL/DDR]
- Update H3, M3, M3N DDR setting rev.0.39.

Signed-off-by: Chiaki Fujii <chiaki.fujii.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: I0dbf8091f9de9bb6d2d4f94007a5813fff14789f

5 years agorcar_gen3: drivers: board: Add new board revision for M3ULCB
Yusuke Goda [Thu, 28 Nov 2019 04:30:58 +0000 (13:30 +0900)]
rcar_gen3: drivers: board: Add new board revision for M3ULCB

Board Revision[2:0]
 3'b000 Rev1.0
 3'b011 Rev3.0 [New]

Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: Ie4f3ac83cc20120ede21052f7452327049565e60

5 years agorcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N
Chiaki Fujii [Wed, 18 Sep 2019 04:10:00 +0000 (13:10 +0900)]
rcar_gen3: drivers: ddr: Update DDR setting for H3, M3, M3N

[IPL/DDR]
- Update H3, M3, M3N DDR setting rev.0.38.

Signed-off-by: Chiaki Fujii <chiaki.fujii.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: I49cf8f778b849a6ee97bc9f6948c45b07dc467b1

5 years agorcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.5
Toshiyuki Ogasahara [Fri, 13 Dec 2019 05:50:30 +0000 (14:50 +0900)]
rcar_gen3: plat: Update IPL and Secure Monitor Rev.2.0.5

Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com>
Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream update
Change-Id: I8ef32a67f7984d8bcfcc3655988b559efa6e65ab

5 years agorcar_gen3: plat: Change fixed destination address of BL31 and BL32
Toshiyuki Ogasahara [Fri, 13 Dec 2019 05:43:52 +0000 (14:43 +0900)]
rcar_gen3: plat: Change fixed destination address of BL31 and BL32

This patch changes the destination address of BL31 and BL32 From
fixed address for getting from the each certificates.

Signed-off-by: Toshiyuki Ogasahara <toshiyuki.ogasahara.bo@hitachi.com>
Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> # upstream rework
Change-Id: Ide11776feff25e6fdd55ab28503a15b658b2e0d5

5 years agoMerge "Fix topology description of cpus for DynamIQ based FVP" into integration
Mark Dykes [Fri, 14 Feb 2020 19:12:44 +0000 (19:12 +0000)]
Merge "Fix topology description of cpus for DynamIQ based FVP" into integration

5 years agoMerge "fconf: Move remaining arm platform to fconf" into integration
Sandrine Bailleux [Fri, 14 Feb 2020 14:39:44 +0000 (14:39 +0000)]
Merge "fconf: Move remaining arm platform to fconf" into integration

5 years agoMerge changes from topic "uniphier" into integration
Sandrine Bailleux [Fri, 14 Feb 2020 08:26:05 +0000 (08:26 +0000)]
Merge changes from topic "uniphier" into integration

* changes:
  uniphier: make I/O register region configurable
  uniphier: make PSCI related base address configurable
  uniphier: make counter control base address configurable
  uniphier: make UART base address configurable
  uniphier: make pinmon base address configurable
  uniphier: make NAND controller base address configurable
  uniphier: make eMMC controller base address configurable

5 years agoFix topology description of cpus for DynamIQ based FVP
Madhukar Pappireddy [Thu, 13 Feb 2020 21:36:50 +0000 (15:36 -0600)]
Fix topology description of cpus for DynamIQ based FVP

DynamIQ based designs have upto 8 CPUs in each cluster. This
patch fixes the device tree node which describes the topology
of the CPU for DynamIQ FVP Model.

Change-Id: I7146bc79029ce38314026d4853e5b6406863725c
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoMerge "corstone700: adding support for stack protector for the FVP" into integration
Alexei Fedorov [Thu, 13 Feb 2020 15:29:49 +0000 (15:29 +0000)]
Merge "corstone700: adding support for stack protector for the FVP" into integration

5 years agocorstone700: adding support for stack protector for the FVP
Morten Borup Petersen [Wed, 29 Jan 2020 16:44:17 +0000 (16:44 +0000)]
corstone700: adding support for stack protector for the FVP

Adding support for generating a semi-random number required for
enabling building TF-A with stack protector support.
TF-A for corstone-700 may now be built using ENABLE_STACK_PROTECTOR=all

Change-Id: I03e1be1a8d4e4a822cf286f3b9ad4da4337ca765
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
5 years agoMerge changes from topic "uniphier" into integration
Sandrine Bailleux [Thu, 13 Feb 2020 09:37:27 +0000 (09:37 +0000)]
Merge changes from topic "uniphier" into integration

* changes:
  uniphier: extend boot device detection for future SoCs
  uniphier: change block_addressing flag to bool
  uniphier: change the return value type of .is_usb_boot() to bool

5 years agoFix boot failures on some builds linked with ld.lld.
Arve Hjønnevåg [Fri, 7 Feb 2020 22:12:35 +0000 (14:12 -0800)]
Fix boot failures on some builds linked with ld.lld.

Pad the .rodata section to 16 bytes as ld.lld does not apply the ALIGN
statement on the .data section to the LMA. Fixes boot failure on builds
where the .rodata section happens to not be 16 bytes aligned.

Change-Id: I4e95678f73d8b326c5fc749dc7d0ce84e2d603f5
Signed-off-by: Arve Hjønnevåg <arve@android.com>
5 years agotrusty: generic-arm64-smcall: Support gicr address
Arve Hjønnevåg [Fri, 15 Nov 2019 22:25:43 +0000 (14:25 -0800)]
trusty: generic-arm64-smcall: Support gicr address

Add SMC_GET_GIC_BASE_GICR option to SMC_FC_GET_REG_BASE and
SMC_FC64_GET_REG_BASE calls for returning the base address of the gic
redistributor added in gic version 3.

Bug: 122357256
Change-Id: Ia7c287040656515bab262588163e0c5fc8f13a21
Signed-off-by: Arve Hjønnevåg <arve@android.com>
5 years agotrusty: Allow gic base to be specified with GICD_BASE
Arve Hjønnevåg [Wed, 11 Apr 2018 23:09:35 +0000 (16:09 -0700)]
trusty: Allow gic base to be specified with GICD_BASE

Some platforms define GICD_BASE instead of PLAT_ARM_GICD_BASE but the
meaning is the same.

Change-Id: I1bb04bb49fdab055b365b1d70a4d48d2058e49df
Signed-off-by: Arve Hjønnevåg <arve@android.com>
5 years agotrusty: Allow getting trusty memsize from BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE
Arve Hjønnevåg [Wed, 11 Apr 2018 23:10:53 +0000 (16:10 -0700)]
trusty: Allow getting trusty memsize from BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE

Some platforms define BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE, but
the meaning is the same.

Change-Id: I93d96dca442e653435cae6a165b1955efe2d2b75
Signed-off-by: Arve Hjønnevåg <arve@android.com>
5 years agoFix clang build if CC is not in the path.
Arve Hjønnevåg [Tue, 4 Feb 2020 23:50:24 +0000 (15:50 -0800)]
Fix clang build if CC is not in the path.

If CC points to clang the linker was set to ld.lld. Copy the diectory
name from CC is it has one.

Change-Id: I50aef5dddee4d2540b12b6d4e68068ad004446f7
Signed-off-by: Arve Hjønnevåg <arve@android.com>
5 years agoMerge "doc: debugfs remove references section and add topic to components index"...
Mark Dykes [Wed, 12 Feb 2020 16:44:26 +0000 (16:44 +0000)]
Merge "doc: debugfs remove references section and add topic to components index" into integration

5 years agoMerge "intel: Change boot source selection" into integration
Sandrine Bailleux [Wed, 12 Feb 2020 15:54:02 +0000 (15:54 +0000)]
Merge "intel: Change boot source selection" into integration

5 years agoMerge changes Ib68092d1,I816ea14e into integration
Sandrine Bailleux [Wed, 12 Feb 2020 15:51:42 +0000 (15:51 +0000)]
Merge changes Ib68092d1,I816ea14e into integration

* changes:
  plat: marvell: armada: scp_bl2: allow loading up to 8 images
  plat: marvell: armada: add support for loading MG CM3 images

5 years agofconf: Move remaining arm platform to fconf
Louis Mayencourt [Wed, 12 Feb 2020 09:26:09 +0000 (09:26 +0000)]
fconf: Move remaining arm platform to fconf

Change-Id: I011256ca60672a00b711c3f5725211be64bbc2b2
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoUpdate docs with PMU security information
Petre-Ionut Tudor [Fri, 27 Sep 2019 14:13:21 +0000 (15:13 +0100)]
Update docs with PMU security information

This patch adds information on the PMU configuration registers
and security considerations related to the PMU.

Signed-off-by: Petre-Ionut Tudor <petre-ionut.tudor@arm.com>
Change-Id: I36b15060b9830a77d3f47f293c0a6dafa3c581fb

5 years agodoc: debugfs remove references section and add topic to components index
Olivier Deprez [Fri, 7 Feb 2020 15:54:36 +0000 (16:54 +0100)]
doc: debugfs remove references section and add topic to components index

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

5 years agoMerge "Fixes ROTPK hash generation for ECDSA encryption" into integration
joanna.farley [Wed, 12 Feb 2020 08:46:46 +0000 (08:46 +0000)]
Merge "Fixes ROTPK hash generation for ECDSA encryption" into integration

5 years agouniphier: make I/O register region configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:46:15 +0000 (19:46 +0900)]
uniphier: make I/O register region configurable

The I/O register region will be changed in the next SoC. Make it
configurable.

Change-Id: Iec0cbd1ef2d0703ebc7c3d3082edd73791bbfec9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: extend boot device detection for future SoCs
Masahiro Yamada [Mon, 3 Feb 2020 10:28:13 +0000 (19:28 +0900)]
uniphier: extend boot device detection for future SoCs

The next SoC will have:
  - No boot swap
  - SD boot
  - No USB boot

Add new fields to handle this.

Change-Id: I772395f2c5dfc612e575b0cbd0657a5fa9611c25
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make PSCI related base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:46:00 +0000 (19:46 +0900)]
uniphier: make PSCI related base address configurable

The register base address will be changed in the next SoC. Make it
configurable.

Change-Id: Ibe07bd9db128b0f7e629916cb6ae21ba7984eca9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: change block_addressing flag to bool
Masahiro Yamada [Mon, 3 Feb 2020 09:40:37 +0000 (18:40 +0900)]
uniphier: change block_addressing flag to bool

The flag, uniphier_emmc_block_addressing, is boolean logic, so
"bool' is more suitable.

uniphier_emmc_is_over_2gb() is not boolean - it returns 1 / 0
depending on the card density, or a negative value on failure.
Rename it to make it less confusing.

Change-Id: Ia646b1929147b644e0df07c46b54ab80548bc3bd
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make counter control base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:45:37 +0000 (19:45 +0900)]
uniphier: make counter control base address configurable

The register base will be changed in the next SoC. Make it
configurable.

Change-Id: I4a7cf85fe50e4d71db58a3372a71774e43193bd3
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: change the return value type of .is_usb_boot() to bool
Masahiro Yamada [Tue, 28 Jan 2020 12:14:28 +0000 (21:14 +0900)]
uniphier: change the return value type of .is_usb_boot() to bool

This is boolean logic, so "bool" is more suitable.

Change-Id: I439c5099770600a65b8f58390a4c621c2ee487a5
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make UART base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:45:16 +0000 (19:45 +0900)]
uniphier: make UART base address configurable

The next SoC supports the same UART, but the register base will be
changed. Make it configurable.

Change-Id: Ida5c9151b2f3554afd15555b22838437eef443f7
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make pinmon base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:33:35 +0000 (19:33 +0900)]
uniphier: make pinmon base address configurable

The register base will be changed in the next SoC. Make it
configurable.

Change-Id: I9fbb6bdd1cf06207618742d4ad7970d911c9bc26
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make NAND controller base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:30:27 +0000 (19:30 +0900)]
uniphier: make NAND controller base address configurable

The next SoC does not support the NAND controller, but make the base
address configurable for consistency and future proof.

Change-Id: I776e43ff2b0408577919b0b72849c3e1e5ce0758
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agouniphier: make eMMC controller base address configurable
Masahiro Yamada [Mon, 3 Feb 2020 10:30:11 +0000 (19:30 +0900)]
uniphier: make eMMC controller base address configurable

The next SoC supports the same eMMC controller, but the register
base will be changed. Make it configurable.

Change-Id: I00cb5531bc3d8d49357ad5e922cdd3d785355edf
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge changes from topic "lm/fconf" into integration
Sandrine Bailleux [Tue, 11 Feb 2020 16:15:45 +0000 (16:15 +0000)]
Merge changes from topic "lm/fconf" into integration

* changes:
  arm-io: Panic in case of io setup failure
  MISRA fix: Use boolean essential type
  fconf: Add documentation
  fconf: Move platform io policies into fconf
  fconf: Add mbedtls shared heap as property
  fconf: Add TBBR disable_authentication property
  fconf: Add dynamic config DTBs info as property
  fconf: Populate properties from dtb during bl2 setup
  fconf: Load config dtb from bl1
  fconf: initial commit

5 years agoFixes ROTPK hash generation for ECDSA encryption
Max Shvetsov [Tue, 11 Feb 2020 12:41:08 +0000 (12:41 +0000)]
Fixes ROTPK hash generation for ECDSA encryption

Forced hash generation used to always generate hash via RSA encryption.
This patch changes encryption based on ARM_ROTPK_LOCATION.
Also removes setting KEY_ALG based on ARM_ROTPL_LOCATION - there is no
relation between these two.

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

5 years agoMerge changes from topic "spmd" into integration
Olivier Deprez [Tue, 11 Feb 2020 08:34:47 +0000 (08:34 +0000)]
Merge changes from topic "spmd" into integration

* changes:
  SPMD: enable SPM dispatcher support
  SPMD: hook SPMD into standard services framework
  SPMD: add SPM dispatcher based upon SPCI Beta 0 spec
  SPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP
  SPMD: add support for an example SPM core manifest
  SPMD: add SPCI Beta 0 specification header file

5 years agoMerge "coverity: Fix MISRA null pointer violations" into integration
Mark Dykes [Mon, 10 Feb 2020 17:20:53 +0000 (17:20 +0000)]
Merge "coverity: Fix MISRA null pointer violations" into integration

5 years agoMerge "Make PAC demangling more generic" into integration
Mark Dykes [Mon, 10 Feb 2020 17:17:10 +0000 (17:17 +0000)]
Merge "Make PAC demangling more generic" into integration

5 years agoMerge "SPM: modify sptool to generate individual SP blobs" into integration
Olivier Deprez [Mon, 10 Feb 2020 17:14:49 +0000 (17:14 +0000)]
Merge "SPM: modify sptool to generate individual SP blobs" into integration

5 years agoMerge "fvp: Slightly Bump the stack size for bl1 and bl2" into integration
Manish Pandey [Mon, 10 Feb 2020 16:56:11 +0000 (16:56 +0000)]
Merge "fvp: Slightly Bump the stack size for bl1 and bl2" into integration

5 years agoMerge changes from topic "amlogic/axg" into integration
Manish Pandey [Mon, 10 Feb 2020 14:31:27 +0000 (14:31 +0000)]
Merge changes from topic "amlogic/axg" into integration

* changes:
  amlogic: axg: Add a build flag when using ATOS as BL32
  amlogic: axg: Add support for the A113D (AXG) platform

5 years agoSPMD: enable SPM dispatcher support
Achin Gupta [Fri, 11 Oct 2019 14:50:43 +0000 (15:50 +0100)]
SPMD: enable SPM dispatcher support

This patch adds support to the build system to include support for the SPM
dispatcher when the SPD configuration option is spmd.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Ic1ae50ecd7403fcbcf1d318abdbd6ebdc642f732

5 years agoSPMD: hook SPMD into standard services framework
Achin Gupta [Fri, 11 Oct 2019 14:49:00 +0000 (15:49 +0100)]
SPMD: hook SPMD into standard services framework

This patch adds support to initialise the SPM dispatcher as a standard
secure service. It also registers a handler for SPCI SMCs exported by
the SPM dispatcher.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I2183adf826d08ff3fee9aee75f021021162b6477

5 years agoSPMD: add SPM dispatcher based upon SPCI Beta 0 spec
Achin Gupta [Fri, 11 Oct 2019 14:41:16 +0000 (15:41 +0100)]
SPMD: add SPM dispatcher based upon SPCI Beta 0 spec

This patch adds a rudimentary SPM dispatcher component in EL3.
It does the following:

- Consumes the TOS_FW_CONFIG to determine properties of the SPM core
  component
- Initialises the SPM core component which resides in the BL32 image
- Implements a handler for SPCI calls from either security state. Some
  basic validation is done for each call but in most cases it is simply
  forwarded as-is to the "other" security state.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I7d116814557f7255f4f4ebb797d1619d4fbab590

5 years agoSPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP
Achin Gupta [Fri, 11 Oct 2019 14:15:19 +0000 (15:15 +0100)]
SPMD: add support to run BL32 in TDRAM and BL31 in secure DRAM on Arm FVP

This patch reserves and maps the Trusted DRAM for SPM core execution.
It also configures the TrustZone address space controller to run BL31
in secure DRAM.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I7e1bb3bbc61a0fec6a9cb595964ff553620c21dc

5 years agoSPMD: add support for an example SPM core manifest
Achin Gupta [Fri, 11 Oct 2019 13:54:48 +0000 (14:54 +0100)]
SPMD: add support for an example SPM core manifest

This patch repurposes the TOS FW configuration file as the manifest for
the SPM core component which will reside at the secure EL adjacent to
EL3. The SPM dispatcher component will use the manifest to determine how
the core component must be initialised. Routines and data structure to
parse the manifest have also been added.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: Id94f8ece43b4e05609f0a1d364708a912f6203cb

5 years agoMerge changes from topics "rddaniel", "rdn1edge_dual" into integration
Manish Pandey [Mon, 10 Feb 2020 13:32:43 +0000 (13:32 +0000)]
Merge changes from topics "rddaniel", "rdn1edge_dual" into integration

* changes:
  plat/arm: add board support for rd-daniel platform
  plat/arm/sgi: move GIC related constants to board files
  platform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts
  board/rdn1edge: add support for dual-chip configuration
  drivers/arm/scmi: allow use of multiple SCMI channels
  drivers/mhu: derive doorbell base address
  plat/arm/sgi: include AFF3 affinity in core position calculation
  plat/arm/sgi: add macros for remote chip device region
  plat/arm/sgi: add chip_id and multi_chip_mode to platform variant info
  plat/arm/sgi: move bl31_platform_setup to board file

5 years agoSPM: modify sptool to generate individual SP blobs
Manish Pandey [Tue, 7 Jan 2020 17:05:28 +0000 (17:05 +0000)]
SPM: modify sptool to generate individual SP blobs

Currently sptool generates a single blob containing all the Secure
Partitions, with latest SPM implementation, it is desirable to have
individual blobs for each Secure Partition. It allows to leverage
packaging and parsing of SP on existing FIP framework. It also allows
SP packages coming from different sources.

This patch modifies sptool so that it takes number of SP payload pairs
as input and generates number of SP blobs instead of a single blob.

Each SP blob can optionally have its own header containing offsets and
sizes of different payloads along with a SP magic number and version.
It is also associated in FIP with a UUID, provided by SP owner.

Usage example:
sptool -i sp1.bin:sp1.dtb -o sp1.pkg -i sp2.bin:sp2.dtb -o sp2.pkg ...

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

5 years agoMerge "intel: Include address range check for SiP Mailbox" into integration
Sandrine Bailleux [Mon, 10 Feb 2020 08:23:53 +0000 (08:23 +0000)]
Merge "intel: Include address range check for SiP Mailbox" into integration

5 years agoMake PAC demangling more generic
Alexei Fedorov [Thu, 6 Feb 2020 17:11:03 +0000 (17:11 +0000)]
Make PAC demangling more generic

At the moment, address demangling is only used by the backtrace
functionality. However, at some point, other parts of the TF-A
codebase may want to use it.
The 'demangle_address' function is replaced with a single XPACI
instruction which is also added in 'do_crash_reporting()'.

Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I4424dcd54d5bf0a5f9b2a0a84c4e565eec7329ec

5 years agoMerge "qemu: define ARMV7_SUPPORTS_VFP" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 15:08:46 +0000 (15:08 +0000)]
Merge "qemu: define ARMV7_SUPPORTS_VFP" into integration

5 years agoMerge changes from topic "rdn1edge_dual" into integration
Sandrine Bailleux [Fri, 7 Feb 2020 14:13:30 +0000 (14:13 +0000)]
Merge changes from topic "rdn1edge_dual" into integration

* changes:
  board/rde1edge: fix incorrect topology tree description
  plat/arm/sgi: introduce number of chips macro

5 years agoplat/arm: add board support for rd-daniel platform
Aditya Angadi [Sun, 21 Jul 2019 16:43:45 +0000 (22:13 +0530)]
plat/arm: add board support for rd-daniel platform

Add the initial board support for RD-Daniel Config-M platform.

Change-Id: I36df16c745bfe4bc817e275ad4722e5de57733cd
Signed-off-by: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agoboard/rde1edge: fix incorrect topology tree description
Vijayenthiran Subramaniam [Wed, 29 Jan 2020 16:30:59 +0000 (22:00 +0530)]
board/rde1edge: fix incorrect topology tree description

RD-E1-Edge platform consists of two clusters with eight CPUs each and
two processing elements (PE) per CPU. Commit a9fbf13e049e (plat/arm/sgi:
move topology information to board folder) defined the RD-E1-Edge
topology tree to have two clusters with eight CPUs each but PE per CPU
entries were not added. This patch fixes the topology tree accordingly.

Change-Id: I7f97f0013be60e5d51c214fce3962e246bae8a0b
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: move GIC related constants to board files
Vijayenthiran Subramaniam [Mon, 3 Feb 2020 06:44:01 +0000 (12:14 +0530)]
plat/arm/sgi: move GIC related constants to board files

In preparation for adding support for Reference Design platforms
which have different base addresses for GIC Distributor or
Redistributor, move GIC related base addresses to individual platform
definition files.

Change-Id: Iecf52b4392a30b86905e1cd047c0ff87d59d0191
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: introduce number of chips macro
Vijayenthiran Subramaniam [Thu, 26 Dec 2019 12:15:58 +0000 (17:45 +0530)]
plat/arm/sgi: introduce number of chips macro

Introduce macro 'CSS_SGI_CHIP_COUNT' to allow Arm CSS platforms with
multi-chip support to define number of chiplets on the platform. By
default, this flag is set to 1 and does not affect the existing single
chip platforms.

For multi-chip platforms, override the default value of
CSS_SGI_CHIP_COUNT with the number of chiplets supported on the
platform. As an example, the command below sets the number of chiplets
to two on the RD-N1-Edge multi-chip platform:

export CROSS_COMPILE=<path-to-cross-compiler>
make PLAT=rdn1edge CSS_SGI_CHIP_COUNT=2 ARCH=aarch64 all

Change-Id: If364dc36bd34b30cc356f74b3e97633933e6c8ee
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplatform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts
Vijayenthiran Subramaniam [Wed, 30 Oct 2019 07:22:25 +0000 (12:52 +0530)]
platform/arm/sgi: add multi-chip mode parameter in HW_CONFIG dts

Include multi-chip-mode parameter in HW_CONFIG dts to let next stage of
boot firmware know about the multi-chip operation mode.

Change-Id: Ic7535c2280fd57180ad14aa0ae277cf0c4d1337b
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoboard/rdn1edge: add support for dual-chip configuration
Vijayenthiran Subramaniam [Mon, 28 Oct 2019 09:19:48 +0000 (14:49 +0530)]
board/rdn1edge: add support for dual-chip configuration

RD-N1-Edge based platforms can operate in dual-chip configuration
wherein two rdn1edge SoCs are connected through a high speed coherent
CCIX link.

This patch adds a function to check if the RD-N1-Edge platform is
operating in multi-chip mode by reading the SID register's NODE_ID
value. If operating in multi-chip mode, initialize GIC-600 multi-chip
operation by overriding the default GICR frames with array of GICR
frames and setting the chip 0 as routing table owner.

The address space of the second RD-N1-Edge chip (chip 1) starts from the
address 4TB. So increase the physical and virtual address space size to
43 bits to accommodate the multi-chip configuration. If the multi-chip
mode configuration is detected, dynamically add mmap entry for the
peripherals memory region of the second RD-N1-Edge SoC. This is required
to let the BL31 platform setup stage to configure the devices in the
second chip.

PLATFORM_CORE_COUNT macro is set to be multiple of CSS_SGI_CHIP_COUNT
and topology changes are added to represent the dual-chip configuration.

In order the build the dual-chip platform, CSS_SGI_CHIP_COUNT macro
should be set to 2:
export CROSS_COMPILE=<path-to-cross-compiler>
make PLAT=rdn1edge CSS_SGI_CHIP_COUNT=2 ARCH=aarch64 all

Change-Id: I576cdaf71f0b0e41b9a9181fa4feb7091f8c7bb4
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agodrivers/arm/scmi: allow use of multiple SCMI channels
Aditya Angadi [Tue, 31 Dec 2019 08:53:53 +0000 (14:23 +0530)]
drivers/arm/scmi: allow use of multiple SCMI channels

On systems that have multiple platform components that can interpret the
SCMI messages, there is a need to support multiple SCMI channels (one
each to those platform components). Extend the existing SCMI interface
that currently supports only a single SCMI channel to support multiple
SCMI channels.

Change-Id: Ice4062475b903aef3b5e5bc37df364c9778a62c5
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agodrivers/mhu: derive doorbell base address
Aditya Angadi [Tue, 31 Dec 2019 04:44:32 +0000 (10:14 +0530)]
drivers/mhu: derive doorbell base address

In order to allow the MHUv2 driver to be usable with multiple MHUv2
controllers, use the base address of the controller from the platform
information instead of the MHUV2_BASE_ADDR macro.

Change-Id: I4dbab87b929fb0568935e6c8b339ce67937f8cd1
Signed-off-by: Aditya Angadi <aditya.angadi@arm.com>
5 years agoplat/arm/sgi: include AFF3 affinity in core position calculation
Vijayenthiran Subramaniam [Tue, 29 Oct 2019 10:26:41 +0000 (15:56 +0530)]
plat/arm/sgi: include AFF3 affinity in core position calculation

AFF3 bits of MPIDR corresponds to Chip-Id in Arm multi-chip platforms.
For calculating linear core position of CPU cores from slave chips, AFF3
bits has to be used. Update `plat_arm_calc_core_pos` assembly function
to include AFF3 bits in calculation.

Change-Id: I4af2bd82ab8e31e18bc61de22705a73893954260
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: add macros for remote chip device region
Vijayenthiran Subramaniam [Mon, 28 Oct 2019 09:19:48 +0000 (14:49 +0530)]
plat/arm/sgi: add macros for remote chip device region

Some of the Reference Design platforms like RD-N1-Edge can operate in
multi-chip configuration wherein two or more SoCs are connected through
a high speed coherent CCIX link. For the RD platforms, the remote chip
address space is at the offset of 4TB per chip. In order for the primary
chip to access the device memory region on the remote chip, the required
memory region entries need to be added as mmap entry. This patch adds
macros related to the remote chip device memory region.

Change-Id: I833810b96f1a0e7c3c289ac32597b6ba03344c80
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: add chip_id and multi_chip_mode to platform variant info
Vijayenthiran Subramaniam [Tue, 22 Oct 2019 10:16:14 +0000 (15:46 +0530)]
plat/arm/sgi: add chip_id and multi_chip_mode to platform variant info

Multi-chip platforms have two or more identical chips connected using a
high speed coherent link. In order to identify such platforms,
add chip_id and multi_chip_mode information in the platform variant
info structure. The values of these two new elements is populated
during boot.

Change-Id: Ie6e89cb33b3f0f408814f6239cd06647053e23ed
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoplat/arm/sgi: move bl31_platform_setup to board file
Vijayenthiran Subramaniam [Mon, 23 Sep 2019 14:02:32 +0000 (19:32 +0530)]
plat/arm/sgi: move bl31_platform_setup to board file

For SGI-575 and RD platforms, move bl31_platform_setup handler to
individual board files to allow the platforms to perform board specific
bl31 setup.

Change-Id: Ia44bccc0a7f40a155b33909bcb438a0909b20d42
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
5 years agoarm-io: Panic in case of io setup failure
Louis Mayencourt [Wed, 29 Jan 2020 14:43:06 +0000 (14:43 +0000)]
arm-io: Panic in case of io setup failure

Currently, an IO setup failure will be ignored on arm platform release
build. Change this to panic instead.

Change-Id: I027a045bce2422b0a0fc4ff9e9d4c6e7bf5d2f98
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoMISRA fix: Use boolean essential type
Louis Mayencourt [Wed, 29 Jan 2020 11:42:31 +0000 (11:42 +0000)]
MISRA fix: Use boolean essential type

Change the return type of "arm_io_is_toc_valid()" and
"plat_arm_bl1_fwu_needed()" to bool, to match function behavior.

Change-Id: I503fba211219a241cb263149ef36ca14e3362a1c
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add documentation
Louis Mayencourt [Fri, 8 Nov 2019 15:09:15 +0000 (15:09 +0000)]
fconf: Add documentation

Change-Id: I606f9491fb6deebc6845c5b9d7db88fc5c895bd9
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Move platform io policies into fconf
Louis Mayencourt [Thu, 24 Oct 2019 14:18:46 +0000 (15:18 +0100)]
fconf: Move platform io policies into fconf

Use the firmware configuration framework to store the io_policies
information inside the configuration device tree instead of the static
structure in the code base.

The io_policies required by BL1 can't be inside the dtb, as this one is
loaded by BL1, and only available at BL2.

This change currently only applies to FVP platform.

Change-Id: Ic9c1ac3931a4a136aa36f7f58f66d3764c1bfca1
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add mbedtls shared heap as property
Louis Mayencourt [Tue, 1 Oct 2019 09:45:14 +0000 (10:45 +0100)]
fconf: Add mbedtls shared heap as property

Use the firmware configuration framework in arm dynamic configuration
to retrieve mbedtls heap information between bl1 and bl2.

For this, a new fconf getter is added to expose the device tree base
address and size.

Change-Id: Ifa5ac9366ae100e2cdd1f4c8e85fc591b170f4b6
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add TBBR disable_authentication property
Louis Mayencourt [Mon, 30 Sep 2019 09:57:24 +0000 (10:57 +0100)]
fconf: Add TBBR disable_authentication property

Use fconf to retrieve the `disable_authentication` property.
Move this access from arm dynamic configuration to bl common.

Change-Id: Ibf184a5c6245d04839222f5457cf5e651f252b86
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agofconf: Add dynamic config DTBs info as property
Louis Mayencourt [Tue, 17 Dec 2019 13:17:25 +0000 (13:17 +0000)]
fconf: Add dynamic config DTBs info as property

This patch introduces a better separation between the trusted-boot
related properties, and the dynamic configuration DTBs loading
information.

The dynamic configuration DTBs properties are moved to a new node:
`dtb-registry`. All the sub-nodes present will be provided to the
dynamic config framework to be loaded. The node currently only contains
the already defined configuration DTBs, but can be extended for future
features if necessary.
The dynamic config framework is modified to use the abstraction provided
by the fconf framework, instead of directly accessing the DTBs.

The trusted-boot properties are kept under the "arm,tb_fw" compatible
string, but in a separate `tb_fw-config` node.
The `tb_fw-config` property of the `dtb-registry` node simply points
to the load address of `fw_config`, as the `tb_fw-config` is currently
part of the same DTB.

Change-Id: Iceb6c4c2cb92b692b6e28dbdc9fb060f1c46de82
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>