]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agodoc: Add a binding document for COT descriptors
Manish V Badarkhe [Tue, 23 Jun 2020 09:30:42 +0000 (10:30 +0100)]
doc: Add a binding document for COT descriptors

Added a binding document for COT descriptors which is going
to be used in order to create COT desciptors at run-time.

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

5 years agoMerge changes from topic "tegra-memctrlv2-vpr-resize-bugfix" into integration
Manish Pandey [Mon, 22 Jun 2020 21:45:12 +0000 (21:45 +0000)]
Merge changes from topic "tegra-memctrlv2-vpr-resize-bugfix" into integration

* changes:
  Tegra: sanity check NS address and size before use
  Tegra: memctrl_v2: fixup sequence to resize video memory

5 years agoMerge "TF-A GIC driver: Add barrier before eoi" into integration
Madhukar Pappireddy [Mon, 22 Jun 2020 19:57:52 +0000 (19:57 +0000)]
Merge "TF-A GIC driver: Add barrier before eoi" into integration

5 years agoMerge "TF-A: Add ARMv8.5 'bti' build option" into integration
Mark Dykes [Mon, 22 Jun 2020 19:07:03 +0000 (19:07 +0000)]
Merge "TF-A: Add ARMv8.5 'bti' build option" into integration

5 years agoMerge changes from topic "scmi-msg" into integration
Manish Pandey [Mon, 22 Jun 2020 14:24:31 +0000 (14:24 +0000)]
Merge changes from topic "scmi-msg" into integration

* changes:
  drivers/scmi-msg: smt entry points for incoming messages
  drivers/scmi-msg: support for reset domain protocol
  drivers/scmi-msg: support for clock protocol
  drivers/scmi-msg: driver for processing scmi messages

5 years agoMerge "Fix typo in file Header guard" into integration
Sandrine Bailleux [Mon, 22 Jun 2020 12:20:40 +0000 (12:20 +0000)]
Merge "Fix typo in file Header guard" into integration

5 years agoTF-A GIC driver: Add barrier before eoi
Sandeep Tripathy [Fri, 5 Jun 2020 16:34:21 +0000 (22:04 +0530)]
TF-A GIC driver: Add barrier before eoi

It is desired to have the peripheral writes completed to clear the
interrupt condition and de-assert the interrupt request to GIC before
EOI write. Failing which spurious interrupt will occurred.

A barrier is needed to ensure peripheral register write transfers are
complete before EOI is done.

GICv2 memory mapped DEVICE nGnR(n)E writes are ordered from core point
of view. However these writes may pass over different interconnects,
bridges, buffers leaving some rare chances for the actual write to
complete out of order.

GICv3 ICC EOI system register writes have no ordering against nGnR(n)E
memory writes as they are over different interfaces.

Hence a dsb can ensure from core no writes are issued before the previous
writes are *complete*.

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

5 years agoMerge "Tegra: introduce support for GICv3" into integration
Olivier Deprez [Mon, 22 Jun 2020 09:16:30 +0000 (09:16 +0000)]
Merge "Tegra: introduce support for GICv3" into integration

5 years agoFix typo in file Header guard
Sheetal Tigadoli [Tue, 2 Jun 2020 12:58:09 +0000 (18:28 +0530)]
Fix typo in file Header guard

Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com>
Change-Id: Iaf6deaeee2069720518221157edbb052bc42850a

5 years agoTegra: sanity check NS address and size before use
Varun Wadekar [Wed, 3 Jun 2020 04:16:00 +0000 (21:16 -0700)]
Tegra: sanity check NS address and size before use

This patch updates the 'bl31_check_ns_address()' helper function to
check that the memory address and size passed by the NS world are not
zero.

The helper fucntion also returns the error code as soon as it detects
inconsistencies, to avoid multiple error paths from kicking in for the
same input parameters.

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

5 years agoTF-A: Add ARMv8.5 'bti' build option
Alexei Fedorov [Fri, 19 Jun 2020 13:33:49 +0000 (14:33 +0100)]
TF-A: Add ARMv8.5 'bti' build option

This patch adds BRANCH_PROTECTION = 4 'bti' build option
which turns on branch target identification mechanism.

Change-Id: I32464a6b51726a100519f449a95aea5331f0e82d
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoTegra: introduce support for GICv3
Varun Wadekar [Fri, 12 Jun 2020 04:53:09 +0000 (21:53 -0700)]
Tegra: introduce support for GICv3

This patch provides the platform level support to enable GICv3
drivers on future Tegra platforms.

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

5 years agoTegra: memctrl_v2: fixup sequence to resize video memory
Varun Wadekar [Wed, 3 Jun 2020 04:08:38 +0000 (21:08 -0700)]
Tegra: memctrl_v2: fixup sequence to resize video memory

The previous sequence used by the driver to program the new memory
aperture settings and clear the non-overlapping memory was faulty.
The sequence locked the non-overlapping regions twice, leading to
faults when trying to clear it.

This patch modifies the sequence to follow these steps:

* move the previous memory region to a new firewall register
* program the new memory aperture settings
* clean the non-overlapping memory

This patch also maps the non-overlapping memory as Device memory to
follow guidance from the arch. team.

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

5 years agoMerge changes I80316689,I23cac4fb,If911e7de,I169ff358,I4e040cd5, ... into integration
Manish Pandey [Wed, 17 Jun 2020 19:44:51 +0000 (19:44 +0000)]
Merge changes I80316689,I23cac4fb,If911e7de,I169ff358,I4e040cd5, ... into integration

* changes:
  ddr: a80x0: add DDR 32-bit ECC mode support
  ble: ap807: improve PLL configuration sequence
  ble: ap807: clean-up PLL configuration sequence
  ddr: a80x0: add DDR 32-bit mode support
  plat: marvell: mci: perform mci link tuning for all mci interfaces
  plat: marvell: mci: use more meaningful name for mci link tuning
  plat: marvell: a8k: remove wrong or unnecessary comments
  plat: marvell: ap807: enable snoop filter for ap807
  plat: marvell: ap807: update configuration space of each CP
  plat: marvell: ap807: use correct address for MCIx4 register
  plat: marvell: add support for PLL 2.2GHz mode
  plat: marvell: armada: make a8k_common.mk and mss_common.mk more generic
  marvell: armada: add extra level in marvell platform hierarchy

5 years agodrivers/scmi-msg: smt entry points for incoming messages
Etienne Carriere [Fri, 1 May 2020 08:36:03 +0000 (10:36 +0200)]
drivers/scmi-msg: smt entry points for incoming messages

This change implements SCMI channels for reading a SCMI message from a
shared memory and call the SCMI message drivers to route the message
to the target platform services.

SMT refers to the shared memory management protocol which is used
to get/put message/response in shared memory. SMT is a 28byte header
stating shared memory state and exchanged protocol data.

The processing entry for a SCMI message can be a secure interrupt
or fastcall SMCCC invocation.

SMT description in this implementation is based on the OP-TEE
project [1] itself based in the SCP-firmware implementation [2].

Link: [1] https://github.com/OP-TEE/optee_os/commit/a58c4d706d2333d2b21a3eba7e2ec0cb257bca1d
Link: [2] https://github.com/ARM-software/SCP-firmware.git

Change-Id: I416c7dab5c67954c6fe80bae8d8cdfdcda66873e
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
5 years agoMerge "plat/arm: Fix load address of TB_FW_CONFIG" into integration
Sandrine Bailleux [Wed, 17 Jun 2020 13:56:44 +0000 (13:56 +0000)]
Merge "plat/arm: Fix load address of TB_FW_CONFIG" into integration

5 years agodrivers/scmi-msg: support for reset domain protocol
Etienne Carriere [Fri, 1 May 2020 08:33:22 +0000 (10:33 +0200)]
drivers/scmi-msg: support for reset domain protocol

Adds SCMI reset domain protocol support in the SCMI message drivers
as defined in SCMI specification v2.0 [1]. Not all the messages
defined in the specification are supported.

scmi_msg_get_rd_handler() sanitizes the message_id value
against any speculative use of reset domain ID as a index since by
SCMI specification, IDs are indices.

This implementation is based on the OP-TEE project implementation [2]
itself based on the SCP-firmware implementation [3] of the SCMI
protocol server side.

Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
Link: [2] https://github.com/OP-TEE/optee_os/commit/56a1f10ed99d683ee3a8af29b6147a59a99ef3e0
Link: [3] https://github.com/ARM-software/SCP-firmware.git

Change-Id: If7cf13de40a815dedb40dcd5af8b6bb6725d9078
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
5 years agodrivers/scmi-msg: support for clock protocol
Etienne Carriere [Fri, 1 May 2020 08:32:02 +0000 (10:32 +0200)]
drivers/scmi-msg: support for clock protocol

Adds SCMI clock protocol support in the SCMI message drivers as
defined in SCMI specification v2.0 [1] for clock protocol messages.

Platform can provide one of the plat_scmi_clock_*() handler for the
supported operations set/get state/rate and others.

scmi_msg_get_clock_handler() sanitizes the message_id value
against any speculative use of clock ID as a index since by
SCMI specification, IDs are indices.

This implementation is based on the OP-TEE project implementation [2]
itself based on the SCP-firmware implementation [3] of the SCMI
protocol server side.

Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
Link: [2] https://github.com/OP-TEE/optee_os/commit/a7a9e3ba71dd908aafdc4c5ed9b29b15faa9692d
Link: [3] https://github.com/ARM-software/SCP-firmware.git

Change-Id: Ib56e096512042d4f7b9563d1e4181554eb8ed02c
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
5 years agodrivers/scmi-msg: driver for processing scmi messages
Etienne Carriere [Thu, 28 Nov 2019 08:13:34 +0000 (09:13 +0100)]
drivers/scmi-msg: driver for processing scmi messages

This change introduces drivers to allow a platform to create a basic
SCMI service and register handlers for client request (SCMI agent) on
system resources. This is the first piece of the drivers: an entry
function, the SCMI base protocol support and helpers for create
the response message.

With this change, scmi_process_message() is the entry function to
process an incoming SCMI message. The function expect the message
is already copied from shared memory into secure memory. The message
structure stores message reference and output buffer reference where
response message shall be stored.

scmi_process_message() calls the SCMI protocol driver according to
the protocol ID in the message. The SCMI protocol driver will call
defined platform handlers according to the message content.

This change introduces only the SCMI base protocol as defined in
SCMI specification v2.0 [1]. Not all the messages defined
in the specification are supported.

The SCMI message implementation is derived from the OP-TEE project [2]
itself based on the SCP-firmware implementation [3] of the SCMI protocol
server side.

Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
Link: [2] https://github.com/OP-TEE/optee_os/commit/ae8c8068098d291e6e55744dbc237ec39fd9840a
Link: [3] https://github.com/ARM-software/SCP-firmware/tree/v2.6.0

Change-Id: I639c4154a39fca60606264baf8d32452641f45e9
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
5 years agoplat/arm: Fix load address of TB_FW_CONFIG
Manish V Badarkhe [Tue, 9 Jun 2020 08:09:39 +0000 (09:09 +0100)]
plat/arm: Fix load address of TB_FW_CONFIG

Load address of tb_fw_config is incorrectly mentioned
in below device trees:
1. rdn1edge_fw_config.dts
2. tc0_fw_config.dts

Till now, tb_fw_config load-address is not being retrieved from
device tree and hence never exeprienced any issue for tc0 and
rdn1edge platform.

For tc0 and rdn1edge platform, Load-address of tb_fw_config should
be the SRAM base address + 0x300 (size of fw_config device tree)
Hence updated these platform's fw_config.dts accordingly to reflect
this load address change.

Change-Id: I2ef8b05d49be10767db31384329f516df11ca817
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
5 years agoMerge changes from topic "tegra194-ras-handling" into integration
Manish Pandey [Tue, 16 Jun 2020 09:55:36 +0000 (09:55 +0000)]
Merge changes from topic "tegra194-ras-handling" into integration

* changes:
  Tegra194: ras: verbose prints for SErrors
  Prevent RAS register access from lower ELs
  Tegra194: SiP: clear RAS corrected error records
  Tegra194: add RAS exception handling

5 years agoMerge "Add Raghu Krishnamurthy as a TF-A maintainer" into integration
Sandrine Bailleux [Tue, 16 Jun 2020 08:13:22 +0000 (08:13 +0000)]
Merge "Add Raghu Krishnamurthy as a TF-A maintainer" into integration

5 years agoMerge changes I1b9e3ebd,I451c0333 into integration
Manish Pandey [Mon, 15 Jun 2020 14:50:40 +0000 (14:50 +0000)]
Merge changes I1b9e3ebd,I451c0333 into integration

* changes:
  tbbr: add chain of trust for Secure Partitions
  cert_create: extend Secure partition support for tbbr CoT

5 years agoAdd Raghu Krishnamurthy as a TF-A maintainer
Sandrine Bailleux [Mon, 15 Jun 2020 13:54:12 +0000 (15:54 +0200)]
Add Raghu Krishnamurthy as a TF-A maintainer

Change-Id: I3726f42f8f3de0cd88bd77a0f9d92a710649d18c
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agotbbr: add chain of trust for Secure Partitions
Manish Pandey [Wed, 10 Jun 2020 15:19:53 +0000 (16:19 +0100)]
tbbr: add chain of trust for Secure Partitions

with sha 44f1aa8, support for Silicon Provider(SiP) owned Secure
Partition(SP) was added for dualroot CoT. This patch extends this
support for tbbr CoT.

Earlier tbbr CoT for SPs was left to avoid adding new image types in
TBBR which could possibly be seen as deviation from specification.
But with further discussions it is understood that TBBR being a
*minimal* set of requirements that can be extended as long as we don't
violate any of the musts, which is the case with adding SP support.

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

5 years agoTegra194: ras: verbose prints for SErrors
David Pu [Fri, 17 May 2019 00:20:27 +0000 (17:20 -0700)]
Tegra194: ras: verbose prints for SErrors

This patch provides verbose prints for RAS SErrors handled by the
firmware, for improved debugging.

Change-Id: Iaad8d183054d884f606dc4621da2cc6b2375bcf9
Signed-off-by: David Pu <dpu@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoPrevent RAS register access from lower ELs
Varun Wadekar [Fri, 12 Jun 2020 17:11:28 +0000 (10:11 -0700)]
Prevent RAS register access from lower ELs

This patch adds a build config 'RAS_TRAP_LOWER_EL_ERR_ACCESS' to set
SCR_EL3.TERR during CPU boot. This bit enables trapping RAS register
accesses from EL1 or EL2 to EL3.

RAS_TRAP_LOWER_EL_ERR_ACCESS is disabled by default.

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

5 years agoTegra194: SiP: clear RAS corrected error records
Varun Wadekar [Thu, 21 Mar 2019 15:23:05 +0000 (08:23 -0700)]
Tegra194: SiP: clear RAS corrected error records

This patch introduces a function ID to clear all the RAS error
records for corrected errors.

Per latest requirement, ARM RAS corrected errors will be reported to
lower ELs via interrupts and cleared via SMC. This patch provides
required function to clear RAS error status.

This patch also sets up all required RAS Corrected errors in order to
route RAS corrected errors to lower ELs.

Change-Id: I554ba1d0797b736835aa27824782703682c91e51
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Signed-off-by: David Pu <dpu@nvidia.com>
5 years agoTegra194: add RAS exception handling
David Pu [Mon, 18 Mar 2019 22:14:49 +0000 (15:14 -0700)]
Tegra194: add RAS exception handling

This patch adds all Tegra194 RAS nodes definitions and support to
handle all uncorrectable RAS errors.

Change-Id: I109b5a8dbca91d92752dc282c4ca30f273c475f9
Signed-off-by: David Pu <dpu@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agocert_create: extend Secure partition support for tbbr CoT
Manish Pandey [Wed, 10 Jun 2020 14:50:36 +0000 (15:50 +0100)]
cert_create: extend Secure partition support for tbbr CoT

with sha 0792dd7, support to generate certificate for Secure
Partitions was added for dualroot CoT only, this patch extends
this support for tbbr CoT.

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

5 years agoMerge "rockchip: rk3368: fix PLAT_RK_CLST_TO_CPUID_SHIFT" into integration
Madhukar Pappireddy [Thu, 11 Jun 2020 17:51:07 +0000 (17:51 +0000)]
Merge "rockchip: rk3368: fix PLAT_RK_CLST_TO_CPUID_SHIFT" into integration

5 years agoMerge "GICv3: GIC-600: Detect GIC-600 at runtime" into integration
Madhukar Pappireddy [Tue, 9 Jun 2020 20:17:39 +0000 (20:17 +0000)]
Merge "GICv3: GIC-600: Detect GIC-600 at runtime" into integration

5 years agoMerge "cpus: denver: disable cycle counter when event counting is prohibited" into...
Madhukar Pappireddy [Tue, 9 Jun 2020 20:11:08 +0000 (20:11 +0000)]
Merge "cpus: denver: disable cycle counter when event counting is prohibited" into integration

5 years agorockchip: rk3368: fix PLAT_RK_CLST_TO_CPUID_SHIFT
Philipp Tomsich [Wed, 5 Jul 2017 10:20:44 +0000 (12:20 +0200)]
rockchip: rk3368: fix PLAT_RK_CLST_TO_CPUID_SHIFT

The RK3368 has two clusters of 4 cores and it's cluster id starts at
bit 8 of the MPIDR.  To convert from the cluster id (0 or 1) to the
lowest CPU-ID in the respective cluster, we thus need to shift by 6
(i.e. shift by 8 to extract the cluster-id and multiply by 4).

This change is required to ensure the PSCI support can index the
per-cpu entry-address array correctly.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Change-Id: I64a76038f090a85a47067f09f750e96e3946e756

5 years agocpus: denver: disable cycle counter when event counting is prohibited
Varun Wadekar [Sun, 24 May 2020 23:26:22 +0000 (16:26 -0700)]
cpus: denver: disable cycle counter when event counting is prohibited

The Denver CPUs implement support for PMUv3 for ARMv8.1 and expect the
PMCR_EL0 to be saved in non-secure context.

This patch disables cycle counter when event counting is prohibited
immediately on entering the secure world to avoid leaking useful
information about the PMU counters. The context saving code later
saves the value of PMCR_EL0 to the non-secure world context.

Verified with 'PMU Leakage' test suite.

 ******************************* Summary *******************************
 > Test suite 'PMU Leakage'
                                                                 Passed
 =================================
 Tests Skipped : 2
 Tests Passed  : 2
 Tests Failed  : 0
 Tests Crashed : 0
 Total tests   : 4
 =================================

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

5 years agoMerge changes from topic "sp_secure_boot" into integration
Manish Pandey [Tue, 9 Jun 2020 19:47:04 +0000 (19:47 +0000)]
Merge changes from topic "sp_secure_boot" into integration

* changes:
  dualroot: add chain of trust for secure partitions
  sptool: append cert_tool arguments.
  cert_create: add SiP owned secure partitions support

5 years agoMerge "plat/fvp: Add support for dynamic description of secure interrupts" into integ...
Mark Dykes [Tue, 9 Jun 2020 19:10:04 +0000 (19:10 +0000)]
Merge "plat/fvp: Add support for dynamic description of secure interrupts" into integration

5 years agoplat/fvp: Add support for dynamic description of secure interrupts
Madhukar Pappireddy [Tue, 2 Jun 2020 14:26:30 +0000 (09:26 -0500)]
plat/fvp: Add support for dynamic description of secure interrupts

Using the fconf framework, the Group 0 and Group 1 secure interrupt
descriptors are moved to device tree and retrieved in runtime. This
feature is enabled by the build flag SEC_INT_DESC_IN_FCONF.

Change-Id: I360c63a83286c7ecc2426cd1ff1b4746d61e633c
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
5 years agoGICv3: GIC-600: Detect GIC-600 at runtime
Andre Przywara [Wed, 25 Mar 2020 15:50:38 +0000 (15:50 +0000)]
GICv3: GIC-600: Detect GIC-600 at runtime

The only difference between GIC-500 and GIC-600 relevant to TF-A is the
differing power management sequence.
A certain GIC implementation is detectable at runtime, for instance by
checking the IIDR register. Let's add that test before initiating the
GIC-600 specific sequence, so the code can be used on both GIC-600 and
GIC-500 chips alike, without deciding on a GIC chip at compile time.

This means that the GIC-500 "driver" is now redundant. To allow minimal
platform support, add a switch to disable GIC-600 support.

Change-Id: I17ea97d9fb05874772ebaa13e6678b4ba3415557
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agodualroot: add chain of trust for secure partitions
Manish Pandey [Wed, 27 May 2020 21:40:10 +0000 (22:40 +0100)]
dualroot: add chain of trust for secure partitions

A new certificate "sip-sp-cert" has been added for Silicon Provider(SiP)
owned Secure Partitions(SP). A similar support for Platform owned SP can
be added in future. The certificate is also protected against anti-
rollback using the trusted Non-Volatile counter.

To avoid deviating from TBBR spec, support for SP CoT is only provided
in dualroot.
Secure Partition content certificate is assigned image ID 31 and SP
images follows after it.

The CoT for secure partition look like below.
+------------------+       +-------------------+
| ROTPK/ROTPK Hash |------>| Trusted Key       |
+------------------+       | Certificate       |
                           | (Auth Image)      |
                          /+-------------------+
                         /                   |
                        /                    |
                       /                     |
                      /                      |
                     L                       v
+------------------+       +-------------------+
| Trusted World    |------>| SiP owned SPs     |
| Public Key       |       | Content Cert      |
+------------------+       | (Auth Image)      |
                        /   +-------------------+
                       /                      |
                      /                      v|
+------------------+ L     +-------------------+
| SP_PKG1 Hash     |------>| SP_PKG1           |
|                  |       | (Data Image)      |
+------------------+       +-------------------+
        .                           .
        .                           .
        .                           .
+------------------+       +-------------------+
| SP_PKG8 Hash     |------>| SP_PKG8           |
|                  |       | (Data Image)      |
+------------------+       +-------------------+

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

5 years agoMerge "plat/arm: do not include export header directly" into integration
Sandrine Bailleux [Tue, 9 Jun 2020 15:10:37 +0000 (15:10 +0000)]
Merge "plat/arm: do not include export header directly" into integration

5 years agoMerge "rockchip: increase FDT buffer size" into integration
Madhukar Pappireddy [Tue, 9 Jun 2020 13:56:40 +0000 (13:56 +0000)]
Merge "rockchip: increase FDT buffer size" into integration

5 years agoMerge changes from topic "fix-agilex-initialization" into integration
Manish Pandey [Mon, 8 Jun 2020 23:16:08 +0000 (23:16 +0000)]
Merge changes from topic "fix-agilex-initialization" into integration

* changes:
  plat: intel: Additional instruction required to enable global timer
  plat: intel: Fix CCU initialization for Agilex
  plat: intel: Add FPGAINTF configuration to when configuring pinmux
  plat: intel: set DRVSEL and SMPLSEL for DWMMC
  plat: intel: Fix clock configuration bugs

5 years agoplat: intel: Additional instruction required to enable global timer
Tien Hock Loh [Mon, 11 May 2020 08:12:03 +0000 (01:12 -0700)]
plat: intel: Additional instruction required to enable global timer

There are additional instruction needed to enable the global timer.
This fixes the global timer initialization

Signed-off-by: Tien Hock Loh <tien.hock.loh@intel.com>
Change-Id: Idaf2d23359aacc417e2b7d8cdf1688b5cd17ca98

5 years agoplat: intel: Fix CCU initialization for Agilex
Tien Hock Loh [Mon, 11 May 2020 08:11:55 +0000 (01:11 -0700)]
plat: intel: Fix CCU initialization for Agilex

The CCU initialization loop uses the wrong units, this fixes that. This
also fixes snoop filter register set bits should be used instead of
overwriting the register

Signed-off-by: Tien Hock Loh <tien.hock.loh@intel.com>
Change-Id: Ia15eeeae5569b00ad84120182170d353ee221b31

5 years agorockchip: increase FDT buffer size
Hugh Cole-Baker [Mon, 8 Jun 2020 21:24:36 +0000 (22:24 +0100)]
rockchip: increase FDT buffer size

The size of buffer currently used to store the FDT passed from U-Boot as
a platform parameter is not large enough to store some RK3399 device
trees. The largest RK3399 device tree currently in U-Boot (for the
Pinebook Pro) is about 70KB in size when passed to TF-A, so increase the
buffer size to 128K which gives some headroom for possibly larger FDTs
in future.

Signed-off-by: Hugh Cole-Baker <sigmaris@gmail.com>
Change-Id: I414caf20683cd47c02ee470dfa988544f3809919

5 years agoplat: intel: Add FPGAINTF configuration to when configuring pinmux
Tien Hock Loh [Mon, 11 May 2020 08:11:48 +0000 (01:11 -0700)]
plat: intel: Add FPGAINTF configuration to when configuring pinmux

FPGAINTF wasn't enabled when configuring pinmux. This fixes the issue.

Signed-off-by: Tien Hock Loh <tien.hock.loh@intel.com>
Change-Id: I5a6aacd504901b8f7327b2f4854b8a77d0c37019

5 years agoplat: intel: set DRVSEL and SMPLSEL for DWMMC
Tien Hock Loh [Mon, 11 May 2020 08:11:39 +0000 (01:11 -0700)]
plat: intel: set DRVSEL and SMPLSEL for DWMMC

DRVSEL and SMPLSEL needs to be set so that it can properly go into full
speed mode. This needs to be done in EL3 as the registers are secured.

Signed-off-by: Tien Hock Loh <tien.hock.loh@intel.com>
Change-Id: Ia2f348e7742ff7b76da74d392ef1ce71e2f41677

5 years agoplat: intel: Fix clock configuration bugs
Tien Hock Loh [Mon, 11 May 2020 08:11:23 +0000 (01:11 -0700)]
plat: intel: Fix clock configuration bugs

This fixes a few issues on the Agilex clock configuration:
- Set clock manager into boot mode before configuring clock
- Fix wrong divisor used when calculating vcocalib
- PLL sync configuration should be read and then written
- Wait PLL lock after PLL sync configuration is done
- Clear interrupt bits instead of set interrupt bits after configuration

Signed-off-by: Tien Hock Loh <tien.hock.loh@intel.com>
Change-Id: I54c1dc5fe9b102e3bbc1237a92d8471173b8af70

5 years agosptool: append cert_tool arguments.
Manish Pandey [Tue, 26 May 2020 22:59:36 +0000 (23:59 +0100)]
sptool: append cert_tool arguments.

To support secure boot of SP's update cert tool arguments while
generating sp_gen.mk which in turn is consumed by build system.

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

5 years agocert_create: add SiP owned secure partitions support
Manish Pandey [Fri, 22 May 2020 11:27:28 +0000 (12:27 +0100)]
cert_create: add SiP owned secure partitions support

Add support to generate certificate "sip-sp-cert" for Secure
Partitions(SP) owned by Silicon provider(SiP).
To avoid deviation from TBBR specification the support is only added for
dualroot CoT and not for TBBR CoT.

A single certificate file is generated containing hash of individual
packages. Maximum 8 secure partitions are supported.

Following new options added to cert_tool:
 --sip-sp-cert --> SiP owned Secure Partition Content Certificate
 --sp-pkg1 --> Secure Partition Package1 file
 --sp-pkg2
 .....
 --sp-pkg8

Trusted world key pair is used for signing.

Going forward, this feature can be extended for Platfrom owned
Partitions, if required.

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

5 years agoplat/arm: do not include export header directly
Manish Pandey [Mon, 8 Jun 2020 13:48:09 +0000 (14:48 +0100)]
plat/arm: do not include export header directly

As per "include/export/README", TF-A code should never include export
headers directly. Instead, it should include a wrapper header that
ensures the export header is included in the right manner.

"tbbr_img_def_exp.h" is directly included in TF-A code, this patch
replaces it with its  wrapper header "tbbr_img_def.h".

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

5 years agoddr: a80x0: add DDR 32-bit ECC mode support
Alex Leibovich [Sun, 10 Mar 2019 14:45:02 +0000 (16:45 +0200)]
ddr: a80x0: add DDR 32-bit ECC mode support

Change a topology map from internal database
to SPD based for 32bit bus width mode

Change-Id: I803166893ddc2fd916fc8a1c27fffd34b6ec0c72
Signed-off-by: Alex Leibovich <alexl@marvell.com>
5 years agoble: ap807: improve PLL configuration sequence
Alex Leibovich [Mon, 25 Feb 2019 11:13:48 +0000 (13:13 +0200)]
ble: ap807: improve PLL configuration sequence

Update PLL configuration according to HW team guidelines.

Change-Id: I23cac4fb4a638e7416965a5399ce6947e08d0711
Signed-off-by: Alex Leibovich <alexl@marvell.com>
5 years agoble: ap807: clean-up PLL configuration sequence
Alex Leibovich [Sun, 10 Feb 2019 13:08:25 +0000 (15:08 +0200)]
ble: ap807: clean-up PLL configuration sequence

Remove pll powerdown from pll configuration sequence to improve
stability. Remove redundant cases, which no longer exist.
Also get rid of irrelevant definition of CPU_2200_DDR_1200_RCLK_1200,
which is not used by 806/807.

Change-Id: If911e7dee003dfb9a42fafd7ffe34662f026fd23
Signed-off-by: Alex Leibovich <alexl@marvell.com>
5 years agoddr: a80x0: add DDR 32-bit mode support
Alex Leibovich [Mon, 25 Feb 2019 10:24:29 +0000 (12:24 +0200)]
ddr: a80x0: add DDR 32-bit mode support

This commit introduces 32-bit DDR topology map initialization.
For that purpose a new DDR32 build flag is added, with
according documentation update.

Change-Id: I169ff358c2923afd984e27bc126dc551dcaefc01
Signed-off-by: Alex Leibovich <alexl@marvell.com>
5 years agoplat: marvell: mci: perform mci link tuning for all mci interfaces
Grzegorz Jaszczyk [Wed, 6 Feb 2019 13:16:51 +0000 (14:16 +0100)]
plat: marvell: mci: perform mci link tuning for all mci interfaces

This commit introduces two changes:
- remove hardcoded references to mci0 from the driver
- perform mci optimization for all mci interfaces

It fixes performance issues observed on cn9132 CP2.

Change-Id: I4e040cd54ff95c9134035ac89b87d8feb28e9eba
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: mci: use more meaningful name for mci link tuning
Grzegorz Jaszczyk [Thu, 7 Feb 2019 14:15:14 +0000 (15:15 +0100)]
plat: marvell: mci: use more meaningful name for mci link tuning

The mci_initialize function name was misleading. The function itself
doesn't initialize MCI in general but performs MCI link tuning for
performance improvement.

Change-Id: I13094ad2235182a14984035bbe58013ebde84a7e
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: a8k: remove wrong or unnecessary comments
Grzegorz Jaszczyk [Wed, 6 Feb 2019 14:58:42 +0000 (15:58 +0100)]
plat: marvell: a8k: remove wrong or unnecessary comments

Change-Id: Id702c070c433f8439faad115830e71b2873ab70a
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: ap807: enable snoop filter for ap807
Grzegorz Jaszczyk [Wed, 23 Jan 2019 14:47:57 +0000 (15:47 +0100)]
plat: marvell: ap807: enable snoop filter for ap807

Snoop filter needs to be enabled once per cluster.

Change-Id: I241e72f21982142ba290c7547df6f434e6a6a98d
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: ap807: update configuration space of each CP
Grzegorz Jaszczyk [Sun, 13 Jan 2019 15:33:45 +0000 (17:33 +0200)]
plat: marvell: ap807: update configuration space of each CP

By default all external CPs start with configuration address space set to
0xf200_0000. To overcome this issue, go in the loop and initialize the
CP one by one, using temporary window configuration which allows to access
each CP and update its configuration space according to decoding
windows scheme defined for each platform.

In case of cn9130 after this procedure bellow addresses will be used:
CP0 - f2000000
CP1 - f4000000
CP2 - f6000000

When the re-configuration is done there is need to restore previous
decoding window configuration(init_io_win).

Change-Id: I1a652bfbd0bf7106930a7a4e949094dc9078a981
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: ap807: use correct address for MCIx4 register
Grzegorz Jaszczyk [Sun, 13 Jan 2019 13:29:10 +0000 (15:29 +0200)]
plat: marvell: ap807: use correct address for MCIx4 register

The AP807 uses different register offset for MCIx4 register, reflect it
in the code.

Change-Id: Ic7e44fede3c69083e8629741e7c440b1ae08c35f
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: add support for PLL 2.2GHz mode
Grzegorz Jaszczyk [Thu, 20 Dec 2018 16:13:19 +0000 (17:13 +0100)]
plat: marvell: add support for PLL 2.2GHz mode

Change-Id: Icb8fe14417665d6aadd5a5ee2b77547b4ef78773
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agoplat: marvell: armada: make a8k_common.mk and mss_common.mk more generic
Grzegorz Jaszczyk [Sun, 9 Dec 2018 22:11:20 +0000 (23:11 +0100)]
plat: marvell: armada: make a8k_common.mk and mss_common.mk more generic

As a preparation for upcoming support for CN9130 platform, which is
classified as OcteonTx2 product but inherits functionality from a8k,
allow to use a8k_common.mk and mss_common.mk from outside of
PLAT_FAMILY_BASE.
Above is done by introducing BOARD_DIR which needs to be set by each
platform, before including a8k_common.mk and mss_common.mk. This will
allow to use mentioned mk files not only for platforms located under
previously defined PLAT_FAMILY_BASE.

Change-Id: I22356c99bc0419a40ae11e42f37acd50943ea134
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
5 years agomarvell: armada: add extra level in marvell platform hierarchy
Grzegorz Jaszczyk [Tue, 5 Nov 2019 12:14:59 +0000 (13:14 +0100)]
marvell: armada: add extra level in marvell platform hierarchy

This commit is a preparation for upcoming support for OcteonTX and
OcteonTX2 product families. Armada platform related files (docs,
plat, include/plat) are moved to the new "armada" sub-folder.

Change-Id: Icf03356187078ad6a2e56c9870992be3ca4c9655
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
5 years agoMerge "ti: k3: common: Make UART number configurable" into integration
Madhukar Pappireddy [Fri, 5 Jun 2020 22:32:13 +0000 (22:32 +0000)]
Merge "ti: k3: common: Make UART number configurable" into integration

5 years agoMerge "rockchip: rk3368: increase MAX_MMAP_REGIONS" into integration
Madhukar Pappireddy [Fri, 5 Jun 2020 22:30:18 +0000 (22:30 +0000)]
Merge "rockchip: rk3368: increase MAX_MMAP_REGIONS" into integration

5 years agorockchip: rk3368: increase MAX_MMAP_REGIONS
Heiko Stuebner [Fri, 5 Jun 2020 15:51:19 +0000 (17:51 +0200)]
rockchip: rk3368: increase MAX_MMAP_REGIONS

Current value is 16, count the MAP_REGION calls gets us at least 17,
so increase the max value to 20 to have a bit of a margin.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Change-Id: I93d0324f3d483758366e758f8f663545d365e03f

5 years agoMerge "xlat_tables_v2: add base table section name parameter for spm_mm" into integration
Lauren Wehrmeister [Thu, 4 Jun 2020 18:35:30 +0000 (18:35 +0000)]
Merge "xlat_tables_v2: add base table section name parameter for spm_mm" into integration

5 years agoMerge "dts: stm32mp157c: fix etzpc node location in DTSI file" into integration
Manish Pandey [Thu, 4 Jun 2020 09:05:47 +0000 (09:05 +0000)]
Merge "dts: stm32mp157c: fix etzpc node location in DTSI file" into integration

5 years agoMerge "ti: k3: common: Implement stub system_off" into integration
Manish Pandey [Wed, 3 Jun 2020 22:12:38 +0000 (22:12 +0000)]
Merge "ti: k3: common: Implement stub system_off" into integration

5 years agoMerge "Rename Cortex-Hercules to Cortex-A78" into integration
Madhukar Pappireddy [Wed, 3 Jun 2020 19:26:34 +0000 (19:26 +0000)]
Merge "Rename Cortex-Hercules to Cortex-A78" into integration

5 years agoMerge "Rename Cortex Hercules Files to Cortex A78" into integration
Madhukar Pappireddy [Wed, 3 Jun 2020 19:26:08 +0000 (19:26 +0000)]
Merge "Rename Cortex Hercules Files to Cortex A78" into integration

5 years agodts: stm32mp157c: fix etzpc node location in DTSI file
Etienne Carriere [Wed, 3 Jun 2020 16:12:20 +0000 (18:12 +0200)]
dts: stm32mp157c: fix etzpc node location in DTSI file

Fix etzpc node location in stm32mp157c DTSI file as requested during the
patch review. The comment was addressed then fixup change discarded while
rebasing.

Change-Id: Ie53531fec7da224de0b86c968a66aec441bfc25d
Fixes: 627298d4b655 ("dts: stm32mp157c: add etzpc node")
Reported-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agoMerge "qemu/qemu_sbsa: increase size to handle fdt" into integration
Manish Pandey [Wed, 3 Jun 2020 15:49:14 +0000 (15:49 +0000)]
Merge "qemu/qemu_sbsa: increase size to handle fdt" into integration

5 years agoqemu/qemu_sbsa: increase size to handle fdt
Masahisa Kojima [Tue, 19 May 2020 10:49:36 +0000 (19:49 +0900)]
qemu/qemu_sbsa: increase size to handle fdt

64KB was not enouth to handle fdt, bl2 shows
following error message.

"ERROR:   Invalid Device Tree at 0x10000000000: error -3"

This patch increases the size to 1MB to address above error.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Change-Id: I0726a0cea95087175451da0dba7410acd27df808

5 years agoMerge "marvell: drivers: mochi: specify stream ID for SD/MMC" into integration
Manish Pandey [Wed, 3 Jun 2020 15:18:33 +0000 (15:18 +0000)]
Merge "marvell: drivers: mochi: specify stream ID for SD/MMC" into integration

5 years agoMerge changes from topic "stm32-etzpc" into integration
Manish Pandey [Wed, 3 Jun 2020 15:11:43 +0000 (15:11 +0000)]
Merge changes from topic "stm32-etzpc" into integration

* changes:
  plat/stm32mp1: sp_min relies on etzpc driver
  dts: stm32mp157c: add etzpc node
  drivers: introduce ST ETZPC driver

5 years agoMerge changes from topic "jb/8.6-features" into integration
Manish Pandey [Wed, 3 Jun 2020 14:23:29 +0000 (14:23 +0000)]
Merge changes from topic "jb/8.6-features" into integration

* changes:
  Enable ARMv8.6-ECV Self-Synch when booting to EL2
  Enable ARMv8.6-FGT when booting to EL2

5 years agoplat/stm32mp1: sp_min relies on etzpc driver
Etienne Carriere [Fri, 10 Apr 2020 09:32:54 +0000 (11:32 +0200)]
plat/stm32mp1: sp_min relies on etzpc driver

Use ETZPC driver to configure secure aware interfaces to assign
them to non-secure world. Sp_min also configures BootROM resources
and SYSRAM to assign both to secure world only.

Define stm32mp15 SoC identifiers for the platform specific DECPROT
instances.

Change-Id: I3bec9f47b04bcba3929e4df886ddb1d5ff843089
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodts: stm32mp157c: add etzpc node
Etienne Carriere [Sun, 8 Dec 2019 07:16:43 +0000 (08:16 +0100)]
dts: stm32mp157c: add etzpc node

Add a node for the ETZPC device so that driver initializes during
stm32mp15* boot sequence.

Change-Id: I84bf10572e5df7b8f450163c79bcfe6956fc838f
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agodrivers: introduce ST ETZPC driver
Etienne Carriere [Sun, 8 Dec 2019 07:15:15 +0000 (08:15 +0100)]
drivers: introduce ST ETZPC driver

ETZPC stands for Extended TrustZone Protection Controller. It is a
resource conditional access device. It is mainly based on Arm TZPC.

ST ETZPC exposes memory mapped DECPROT cells to set access permissions
to SoC peripheral interfaces as I2C, SPI, DDR controllers, and some
of the SoC internal memories.

ST ETZPC exposes memory mapped TZMA cells to set access permissions
to some SoC internal memories.

Change-Id: I47ce20ffcfb55306dab923153b71e1bcbe2a5570
Co-developed-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agomarvell: drivers: mochi: specify stream ID for SD/MMC
Marcin Wojtas [Tue, 12 May 2020 16:19:33 +0000 (18:19 +0200)]
marvell: drivers: mochi: specify stream ID for SD/MMC

This patch enables the stream ID for the SD/MMC
controllers via dedicated unit register. Thanks to this
change it is possible to configure properly the
IOMMU in OS and use the SD/MMC interface in a guest
Virtual Machine.

Change-Id: I99cbd2c9882eb558ba01405d3d8a3e969f06e082
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
5 years agoMerge "marvell: a8k: enable BL31 cache by default" into integration
Manish Pandey [Wed, 3 Jun 2020 12:13:41 +0000 (12:13 +0000)]
Merge "marvell: a8k: enable BL31 cache by default" into integration

5 years agomarvell: a8k: enable BL31 cache by default
Marcin Wojtas [Tue, 2 Jun 2020 13:12:06 +0000 (15:12 +0200)]
marvell: a8k: enable BL31 cache by default

BL31_CACHE_DISABLE flag was introduced as a work-around
for the older SoC revisions. Since it is not relevant in the
newest versions, toggle it to be disabled by default.
One can still specify it by adding 'BL31_CACHE_DISABLE=1'
string to the build command.

Change-Id: I11b52dade3ff7f8ee643b8078c6e447c45946570
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
5 years agoEnable ARMv8.6-ECV Self-Synch when booting to EL2
Jimmy Brisson [Thu, 16 Apr 2020 15:48:02 +0000 (10:48 -0500)]
Enable ARMv8.6-ECV Self-Synch when booting to EL2

Enhanced Counter Virtualization, ECV, is an architecture extension introduced
in ARMv8.6. This extension allows the hypervisor, at EL2, to setup
self-synchronizing views of the timers for it's EL1 Guests. This patch pokes the
control register to enable this extension when booting a hypervisor at EL2.

Change-Id: I4e929ecdf400cea17eff1de5cf8704aa7e40973d
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoEnable ARMv8.6-FGT when booting to EL2
Jimmy Brisson [Thu, 16 Apr 2020 15:47:56 +0000 (10:47 -0500)]
Enable ARMv8.6-FGT when booting to EL2

The Fine Grained Traps (FGT) architecture extension was added to aarch64 in
ARMv8.6. This extension primarily allows hypervisors, at EL2, to trap specific
instructions in a more fine grained manner, with an enable bit for each
instruction. This patch adds support for this extension by enabling the
extension when booting an hypervisor at EL2.

Change-Id: Idb9013ed118b6a1b7b76287237096de992ca4da3
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoxlat_tables_v2: add base table section name parameter for spm_mm
Masahisa Kojima [Mon, 1 Jun 2020 20:54:13 +0000 (05:54 +0900)]
xlat_tables_v2: add base table section name parameter for spm_mm

Core spm_mm code expects the translation tables are located in the
inner & outer WBWA & shareable memory.
REGISTER_XLAT_CONTEXT2 macro is used to specify the translation
table section in spm_mm.

In the commit 363830df1c28e (xlat_tables_v2: merge
REGISTER_XLAT_CONTEXT_{FULL_SPEC,RO_BASE_TABLE}), REGISTER_XLAT_CONTEXT2
macro explicitly specifies the base xlat table goes into .bss by default.
This change affects the existing SynQuacer spm_mm implementation.
plat/socionext/synquacer/include/plat.ld.S linker script intends to
locate ".bss.sp_base_xlat_table" into "sp_xlat_table" section,
but this implementation is no longer available.

This patch adds the base table section name parameter for
REGISTER_XLAT_CONTEXT2 so that platform can specify the
inner & outer WBWA & shareable memory for spm_mm base xlat table.
If PLAT_SP_IMAGE_BASE_XLAT_SECTION_NAME is not defined, base xlat table
goes into .bss by default, the result is same as before.

Change-Id: Ie0e1a235e5bd4288dc376f582d6c44c5df6d31b2
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
5 years agoRename Cortex-Hercules to Cortex-A78
Jimmy Brisson [Mon, 1 Jun 2020 15:18:22 +0000 (10:18 -0500)]
Rename Cortex-Hercules to Cortex-A78

Change-Id: I89b90cbdfc8f2aa898b4f3676a4764f060f8e138
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
5 years agoRename Cortex Hercules Files to Cortex A78
Jimmy Brisson [Mon, 1 Jun 2020 21:49:34 +0000 (16:49 -0500)]
Rename Cortex Hercules Files to Cortex A78

This should allow git to easily track file moves

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

5 years agoti: k3: common: Make UART number configurable
Jan Kiszka [Wed, 20 May 2020 05:35:48 +0000 (07:35 +0200)]
ti: k3: common: Make UART number configurable

This allows to build for k3-based boards that use a different UART as
console, such as the IOT2050 which requires K3_USART=1.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Change-Id: I7171f86c3cabae2c575b8fbeecef839b48bd109b

5 years agoMerge "drivers: stm32_reset adapt interface to timeout argument" into integration
Mark Dykes [Mon, 1 Jun 2020 18:07:10 +0000 (18:07 +0000)]
Merge "drivers: stm32_reset adapt interface to timeout argument" into integration

5 years agoMerge "TF-A: Fix BL31 linker script error" into integration
Mark Dykes [Mon, 1 Jun 2020 15:45:03 +0000 (15:45 +0000)]
Merge "TF-A: Fix BL31 linker script error" into integration

5 years agodrivers: stm32_reset adapt interface to timeout argument
Etienne Carriere [Sun, 8 Dec 2019 07:14:40 +0000 (08:14 +0100)]
drivers: stm32_reset adapt interface to timeout argument

Changes stm32mp1 reset driver to API to add a timeout argument
to stm32mp_reset_assert() and stm32mp_reset_deassert() and
a return value.

With a supplied timeout, the functions wait the target reset state
is reached before returning. With a timeout of zero, the functions
simply load target reset state in SoC interface and return without
waiting.

Helper functions stm32mp_reset_set() and stm32mp_reset_release()
use a zero timeout and return without a return code.

This change updates few stm32 drivers and plat/stm32mp1 blĂ©_plat_setup.c
accordingly without any functional change.
functional change.

Change-Id: Ia1a73a15125d3055fd8739c125b70bcb9562c27f
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
5 years agoTF-A: Fix BL31 linker script error
Alexei Fedorov [Sat, 30 May 2020 16:33:26 +0000 (17:33 +0100)]
TF-A: Fix BL31 linker script error

The patch fixes BL31 linker script error
"Init code ends past the end of the stacks"
for platforms with number of CPUs less than 4,
which is caused by __STACKS_END__ address being
lower than __INIT_CODE_END__.
The modified BL31 linker script detects such cases
and increases the total amount of stack memory,
setting __STACKS_END__ = __INIT_CODE_END__, and
CPUs' stacks are calculated by BL31 'plat_get_my_stack'
function accordingly. For platforms with more than 4 CPUs
and __INIT_CODE_END__ < __STACKS_END__ stack memory does not
increase and allocated CPUs' stacks match the existing
implementation.
The patch removes exclusion of PSCI initialization
functions from the reclaimed .init section in
'arm_reclaim_init.ld.S' script, which increases the
size of reclaimed memory region.

Change-Id: I927773e00dd84e1ffe72f9ee534f4f2fc7b6153c
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "Add new maintainers for the project" into integration
joanna.farley [Sat, 30 May 2020 16:16:48 +0000 (16:16 +0000)]
Merge "Add new maintainers for the project" into integration

5 years agoAdd new maintainers for the project
Sandrine Bailleux [Thu, 28 May 2020 08:38:54 +0000 (10:38 +0200)]
Add new maintainers for the project

As per the trustedfirmware.org Project Maintenance Process [1], the
current maintainers of the TF-A project have nominated some contributors
to become maintainers themselves. List them in the maintainers.rst file
to make this official.

[1] https://developer.trustedfirmware.org/w/collaboration/project-maintenance-process/

Change-Id: Id4e3cfd12a9074f4e255087fa5dd6fa5f902845f
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agoMerge "drivers: stm32mp1 clocks: fix debug trace on clock enable/disable" into integr...
Mark Dykes [Thu, 28 May 2020 18:15:36 +0000 (18:15 +0000)]
Merge "drivers: stm32mp1 clocks: fix debug trace on clock enable/disable" into integration

5 years agoMerge "drivers: stm32mp1 clocks: enable system clocks during initialization" into...
Mark Dykes [Thu, 28 May 2020 18:14:33 +0000 (18:14 +0000)]
Merge "drivers: stm32mp1 clocks: enable system clocks during initialization" into integration

5 years agoMerge "drivers: stm32mp1 clocks: prevent crash on always on clocks" into integration
Mark Dykes [Thu, 28 May 2020 18:12:57 +0000 (18:12 +0000)]
Merge "drivers: stm32mp1 clocks: prevent crash on always on clocks" into integration