]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
5 years agofconf: Add Secure Partitions information as property
Olivier Deprez [Thu, 23 Jan 2020 10:24:33 +0000 (11:24 +0100)]
fconf: Add Secure Partitions information as property

Use the firmware configuration framework to retrieve information about
Secure Partitions to facilitate loading them into memory.

To load a SP image we need UUID look-up into FIP and the load address
where it needs to be loaded in memory.

This patch introduces a SP populator function which gets UUID and load
address from firmware config device tree and updates its C data
structure.

Change-Id: I17faec41803df9a76712dcc8b67cadb1c9daf8cd
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
5 years agoMerge changes I75f6d135,I4add470e,I0ecd3a2b,I67a63d73 into integration
Manish Pandey [Fri, 28 Feb 2020 16:52:55 +0000 (16:52 +0000)]
Merge changes I75f6d135,I4add470e,I0ecd3a2b,I67a63d73 into integration

* changes:
  board/rddaniel: intialize tzc400 controllers
  plat/arm/tzc: add support to configure multiple tzc400
  plat/arm: allow boards to specify second DRAM Base address
  plat/arm: allow boards to define PLAT_ARM_TZC_FILTERS

5 years agoMerge "intel: Enable EMAC PHY in Intel FPGA platform" into integration
Sandrine Bailleux [Fri, 28 Feb 2020 10:51:49 +0000 (10:51 +0000)]
Merge "intel: Enable EMAC PHY in Intel FPGA platform" into integration

5 years agoMerge "mt8173: Add support for new watchdog SMC" into integration
Sandrine Bailleux [Fri, 28 Feb 2020 10:48:21 +0000 (10:48 +0000)]
Merge "mt8173: Add support for new watchdog SMC" into integration

5 years agoMerge "intel: Fix argument type for mailbox driver" into integration
Sandrine Bailleux [Fri, 28 Feb 2020 10:23:10 +0000 (10:23 +0000)]
Merge "intel: Fix argument type for mailbox driver" into integration

5 years agoMerge "fconf: Fix misra issues" into integration
Sandrine Bailleux [Fri, 28 Feb 2020 10:22:05 +0000 (10:22 +0000)]
Merge "fconf: Fix misra issues" into integration

5 years agoMerge "Add Cortex-A65/AE to the supported FVP list" into integration
Sandrine Bailleux [Fri, 28 Feb 2020 09:26:43 +0000 (09:26 +0000)]
Merge "Add Cortex-A65/AE to the supported FVP list" into integration

5 years agoMerge "intel: Update RSU driver return code" into integration
Sandrine Bailleux [Thu, 27 Feb 2020 16:29:42 +0000 (16:29 +0000)]
Merge "intel: Update RSU driver return code" into integration

5 years agofconf: Fix misra issues
Louis Mayencourt [Mon, 24 Feb 2020 14:37:25 +0000 (14:37 +0000)]
fconf: Fix misra issues

MISRA C-2012 Rule 20.7:
Macro parameter expands into an expression without being wrapped by parentheses.

MISRA C-2012 Rule 12.1:
Missing explicit parentheses on sub-expression.

MISRA C-2012 Rule 18.4:
Essential type of the left hand operand is not the same as that of the right
operand.

Include does not provide any needed symbols.

Change-Id: Ie1c6451cfbc8f519146c28b2cf15c50b1f36adc8
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoAdd Cortex-A65/AE to the supported FVP list
Imre Kis [Thu, 27 Feb 2020 14:05:03 +0000 (15:05 +0100)]
Add Cortex-A65/AE to the supported FVP list

Cortex-A65x4 and Cortex-A65AEx8 is now included in the list of the
supported Arm Fixed Virtual Platforms.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Ibfcaec11bc75549d60455e96858d79b679e71e5e

5 years agointel: Update RSU driver return code
Abdul Halim, Muhammad Hadi Asyrafi [Thu, 27 Feb 2020 02:23:48 +0000 (10:23 +0800)]
intel: Update RSU driver return code

Modify RSU driver error code for backward-compatibility with
Linux RSU driver

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

5 years agoMerge "Modify multithreaded dts file of DynamIQ FVPs" into integration
Sandrine Bailleux [Thu, 27 Feb 2020 11:32:11 +0000 (11:32 +0000)]
Merge "Modify multithreaded dts file of DynamIQ FVPs" into integration

5 years agoMerge "change-log: Add fconf entry" into integration
Sandrine Bailleux [Thu, 27 Feb 2020 07:33:07 +0000 (07:33 +0000)]
Merge "change-log: Add fconf entry" into integration

5 years agoMerge "Build: fix 'BL stage' comment for build macros" into integration
Sandrine Bailleux [Thu, 27 Feb 2020 07:29:49 +0000 (07:29 +0000)]
Merge "Build: fix 'BL stage' comment for build macros" into integration

5 years agoBuild: fix 'BL stage' comment for build macros
Masahiro Yamada [Thu, 27 Feb 2020 03:16:32 +0000 (12:16 +0900)]
Build: fix 'BL stage' comment for build macros

The MAKE_BL macro is invoked for 1, 2, 2u, 31, 32.

Fix the comments.

Change-Id: I35dd25cc2ea13885c184fb9c8229a322b33f7e71
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge "amlogic/axg: Add documentation page to the index" into integration
Sandrine Bailleux [Wed, 26 Feb 2020 15:17:23 +0000 (15:17 +0000)]
Merge "amlogic/axg: Add documentation page to the index" into integration

5 years agoamlogic/axg: Add documentation page to the index
Sandrine Bailleux [Wed, 26 Feb 2020 14:52:23 +0000 (15:52 +0100)]
amlogic/axg: Add documentation page to the index

It is needed to make it appear in the table of contents. Right now,
all Amlogic documentation pages appear under the "Platform ports"
section, except the AXG one.

Change-Id: Ibcfc3b156888d2a9574953578978b629e185c708
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
5 years agochange-log: Add fconf entry
Louis Mayencourt [Wed, 26 Feb 2020 13:49:09 +0000 (13:49 +0000)]
change-log: Add fconf entry

Change-Id: I6686f172d0c24f6c457a39cdf4debcbf05475540
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
5 years agoModify multithreaded dts file of DynamIQ FVPs
Imre Kis [Tue, 17 Dec 2019 17:06:26 +0000 (18:06 +0100)]
Modify multithreaded dts file of DynamIQ FVPs

The dts file now contains a CPU map that precisely describes the
topology including thread nodes. The map was also extended to have 16
PEs to be able to test multithreaded FVPs with 8 cores in the same
cluster.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: If39559b05d20bfd68d0ecf830ddcbc5233b288a0

5 years agoMerge "tools: Small improvement to print_memory_map script" into integration
Sandrine Bailleux [Wed, 26 Feb 2020 10:21:19 +0000 (10:21 +0000)]
Merge "tools: Small improvement to print_memory_map script" into integration

5 years agoMerge "uniphier: prepare uniphier_soc_info() for next SoC" into integration
Sandrine Bailleux [Wed, 26 Feb 2020 10:02:36 +0000 (10:02 +0000)]
Merge "uniphier: prepare uniphier_soc_info() for next SoC" into integration

5 years agoMerge "FVP: Fix incorrect GIC mapping" into integration
Olivier Deprez [Wed, 26 Feb 2020 09:52:31 +0000 (09:52 +0000)]
Merge "FVP: Fix incorrect GIC mapping" into integration

5 years agoMerge "allwinner: Implement PSCI system suspend using SCPI" into integration
Olivier Deprez [Wed, 26 Feb 2020 09:11:37 +0000 (09:11 +0000)]
Merge "allwinner: Implement PSCI system suspend using SCPI" into integration

5 years agoMerge "allwinner: Add a msgbox driver for use with SCPI" into integration
Olivier Deprez [Wed, 26 Feb 2020 09:09:22 +0000 (09:09 +0000)]
Merge "allwinner: Add a msgbox driver for use with SCPI" into integration

5 years agouniphier: prepare uniphier_soc_info() for next SoC
Masahiro Yamada [Mon, 3 Feb 2020 10:46:40 +0000 (19:46 +0900)]
uniphier: prepare uniphier_soc_info() for next SoC

The revision register address will be changed in the next SoC.

The LSI revision is needed in order to know where the revision
register is located, but you need to read out the revision
register for that. This is impossible.

We need to know the revision register address by other means.
Use BL_CODE_BASE, where the base address of the TF image that is
currently running. If it is bigger than 0x80000000 (i.e. the DRAM
base is 0x80000000), we assume it is a legacy SoC.

Change-Id: I9d7f4325fe2085a8a1ab5310025e5948da611256
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agoMerge "allwinner: Reserve and map space for the SCP firmware" into integration
Olivier Deprez [Wed, 26 Feb 2020 08:35:10 +0000 (08:35 +0000)]
Merge "allwinner: Reserve and map space for the SCP firmware" into integration

5 years agoMerge "plat: imx8m: Fix the rdc memory region slot's offset" into integration
Sandrine Bailleux [Wed, 26 Feb 2020 08:33:39 +0000 (08:33 +0000)]
Merge "plat: imx8m: Fix the rdc memory region slot's offset" into integration

5 years agoMerge changes from topic "console_t_cleanup" into integration
Mark Dykes [Tue, 25 Feb 2020 23:39:33 +0000 (23:39 +0000)]
Merge changes from topic "console_t_cleanup" into integration

* changes:
  marvell: Consolidate console register calls
  uniphier: Use generic console_t data structure
  spe: Use generic console_t data structure
  LS 16550: Use generic console_t data structure
  stm32: Use generic console_t data structure
  rcar: Use generic console_t data structure
  a3700: Use generic console_t data structure
  16550: Use generic console_t data structure
  imx: Use generic console_t data structure

5 years agoMerge changes from topic "console_t_cleanup" into integration
Mark Dykes [Tue, 25 Feb 2020 23:38:46 +0000 (23:38 +0000)]
Merge changes from topic "console_t_cleanup" into integration

* changes:
  coreboot: Use generic base address
  skeletton: Use generic console_t data structure
  cdns: Use generic console_t data structure

5 years agoMerge "pl011: Use generic console_t data structure" into integration
Mark Dykes [Tue, 25 Feb 2020 23:16:14 +0000 (23:16 +0000)]
Merge "pl011: Use generic console_t data structure" into integration

5 years agoMerge "meson: Use generic console_t data structure" into integration
Mark Dykes [Tue, 25 Feb 2020 21:08:21 +0000 (21:08 +0000)]
Merge "meson: Use generic console_t data structure" into integration

5 years agoMerge "console: Integrate UART base address in generic console_t" into integration
Mark Dykes [Tue, 25 Feb 2020 21:03:11 +0000 (21:03 +0000)]
Merge "console: Integrate UART base address in generic console_t" into integration

5 years agoMerge "allwinner: Adjust SRAM A2 base to include the ARISC vectors" into integration
Mark Dykes [Tue, 25 Feb 2020 20:26:53 +0000 (20:26 +0000)]
Merge "allwinner: Adjust SRAM A2 base to include the ARISC vectors" into integration

5 years agoMerge "arm/css/scpi: Don't panic if the SCP fails to respond" into integration
Mark Dykes [Tue, 25 Feb 2020 20:25:35 +0000 (20:25 +0000)]
Merge "arm/css/scpi: Don't panic if the SCP fails to respond" into integration

5 years agoMerge "Read-only xlat tables for BL31 memory" into integration
Mark Dykes [Tue, 25 Feb 2020 17:24:17 +0000 (17:24 +0000)]
Merge "Read-only xlat tables for BL31 memory" into integration

5 years agoFVP: Fix incorrect GIC mapping
Alexei Fedorov [Mon, 24 Feb 2020 10:39:31 +0000 (10:39 +0000)]
FVP: Fix incorrect GIC mapping

This patch fixes incorrect setting for DEVICE1_SIZE
for FVP platforms with more than 8 PEs.
The current value of 0x200000 supports only 8 PEs
and causes exception for FVP platforms with the greater
number of PEs, e.g. FVP_Base_Cortex_A65AEx8 with 16 PEs
in one cluster.

Change-Id: Ie6391509fe6eeafb8ba779303636cd762e7d21b2
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
5 years agoMerge "mediatek: mt8183: protect 4GB~8GB dram memory" into integration
Soby Mathew [Tue, 25 Feb 2020 16:33:37 +0000 (16:33 +0000)]
Merge "mediatek: mt8183: protect 4GB~8GB dram memory" into integration

5 years agoMerge "SPMD: generate and add Secure Partition blobs into FIP" into integration
Sandrine Bailleux [Tue, 25 Feb 2020 16:19:46 +0000 (16:19 +0000)]
Merge "SPMD: generate and add Secure Partition blobs into FIP" into integration

5 years agoMerge "uniphier: make on-chip SRAM region configurable" into integration
Soby Mathew [Tue, 25 Feb 2020 13:55:33 +0000 (13:55 +0000)]
Merge "uniphier: make on-chip SRAM region configurable" into integration

5 years agomarvell: Consolidate console register calls
Andre Przywara [Sat, 25 Jan 2020 23:55:08 +0000 (23:55 +0000)]
marvell: Consolidate console register calls

Now that different UARTs share the same console_t struct, we can
simplify the console selection for the Marvell platforms:
We share the same console_t pointers, just change the name of the
console register functions, depending on the selected platform.

Change-Id: I6fe3e49fd7f208a9b3372c5deef43236a12867bc
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agocoreboot: Use generic base address
Andre Przywara [Sat, 25 Jan 2020 01:07:19 +0000 (01:07 +0000)]
coreboot: Use generic base address

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location for the coreboot memory console.
This removes the base member from the coreboot specific data structure,
but keeps the struct console_cbmc_t and its size member.

Change-Id: I7f1dffd41392ba3fe5c07090aea761a42313fb5b
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agopl011: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
pl011: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I7a23327394d142af4b293ea7ccd90b843c54587c
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agomeson: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
meson: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I07a07677153d3671ced776671e4f107824d3df16
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoconsole: Integrate UART base address in generic console_t
Andre Przywara [Sat, 25 Jan 2020 00:54:38 +0000 (00:54 +0000)]
console: Integrate UART base address in generic console_t

*All* UART drivers in TF-A are storing their base address as a uintptr_t
pointer in the first location of the UART specific driver data.
Since the base address is a pretty natural and generic data item, we
should integrate this into the generic console_t structure.

That will not only allow to remove a lot of seemingly UART specific data
structures, but also enables to simplify runtime choices between different
UARTs, since they can share the same pointer.

This patch just adds the new member, the existing data structures will
be handled on a per-UART base in follow-up patches.

Change-Id: I59ce49471ccc8f3b870f2cfd8a72ebfd0cb14d12
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agouniphier: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
uniphier: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: Ia9d996bb45ff3a7f1b240f12fd75805b48a048e9
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoskeletton: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
skeletton: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I347849424782333149e5912a25cc0ab9d277a201
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agospe: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
spe: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I75dbfafb67849833b3f7b5047e237651e3f553cd
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agocdns: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
cdns: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I9f8b55414ab7965e431e3e86d182eabd511f32a4
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoLS 16550: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
LS 16550: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: Ifd6aff1064ba1c3c029cdd8a83f715f7a9976db5
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agostm32: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
stm32: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: Iea6ca26ff4903c33f0fad27fec96fdbabd4e0a91
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agorcar: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
rcar: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I836e26ff1771abf21fd460d0ee40e90a452e9b43
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoa3700: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
a3700: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I89c3ab2ed85ab941d8b38ced48474feb4aaa8b7e
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years ago16550: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
16550: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I5c2fe3b6a667acf80c808cfec4a64059a2c9c25f
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agoimx: Use generic console_t data structure
Andre Przywara [Sat, 25 Jan 2020 00:58:35 +0000 (00:58 +0000)]
imx: Use generic console_t data structure

Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.

Change-Id: I058f793e4024fa7291e432f5be374a77faf16f36
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
5 years agointel: Fix argument type for mailbox driver
Abdul Halim, Muhammad Hadi Asyrafi [Tue, 25 Feb 2020 08:28:10 +0000 (16:28 +0800)]
intel: Fix argument type for mailbox driver

This patch comes as fixes for 'intel: Fix Coverity Scan Defects' patch.
Revert changing argument type from uint32_t to uint64_t to fix
incompatible cast issue. Fix said bug by using intermediate uint32_t
array as a more appropriate solution.

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

5 years agointel: Enable EMAC PHY in Intel FPGA platform
Tien Hock, Loh [Wed, 2 Oct 2019 05:49:25 +0000 (13:49 +0800)]
intel: Enable EMAC PHY in Intel FPGA platform

This initializes the EMAC PHY in both Stratix 10 and Agilex,
without this, EMAC PHY wouldn't work correctly.

Change-Id: I7e6b9e88fd9ef472884fcf648e6001fcb7549ae6
Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
5 years agoRead-only xlat tables for BL31 memory
Petre-Ionut Tudor [Thu, 7 Nov 2019 15:18:03 +0000 (15:18 +0000)]
Read-only xlat tables for BL31 memory

This patch introduces a build flag which allows the xlat tables
to be mapped in a read-only region within BL31 memory. It makes it
much harder for someone who has acquired the ability to write to
arbitrary secure memory addresses to gain control of the
translation tables.

The memory attributes of the descriptors describing the tables
themselves are changed to read-only secure data. This change
happens at the end of BL31 runtime setup. Until this point, the
tables have read-write permissions. This gives a window of
opportunity for changes to be made to the tables with the MMU on
(e.g. reclaiming init code). No changes can be made to the tables
with the MMU turned on from this point onwards. This change is also
enabled for sp_min and tspd.

To make all this possible, the base table was moved to .rodata. The
penalty we pay is that now .rodata must be aligned to the size of
the base table (512B alignment). Still, this is better than putting
the base table with the higher level tables in the xlat_table
section, as that would cost us a full 4KB page.

Changing the tables from read-write to read-only cannot be done with
the MMU on, as the break-before-make sequence would invalidate the
descriptor which resolves the level 3 page table where that very
descriptor is located. This would make the translation required for
writing the changes impossible, generating an MMU fault.

The caches are also flushed.

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

5 years agomt8173: Add support for new watchdog SMC
Julius Werner [Mon, 12 Mar 2018 20:26:49 +0000 (13:26 -0700)]
mt8173: Add support for new watchdog SMC

This patch adds support for a new SMC that can be used to control the
watchdog. This allows for a cleaner separation of responsibilities where
all watchdog operations have to go through Trusted Firmware and we could
no longer have kernel and firmware poking concurrently at the same
register block.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Evan Benn <evanbenn@chromium.org>
Change-Id: I4844a3559d5c956a53a74a61dd5bc2956f0cce7b

5 years agoMerge "Add Matterhorn CPU lib" into integration
joanna.farley [Fri, 21 Feb 2020 17:51:10 +0000 (17:51 +0000)]
Merge "Add Matterhorn CPU lib" into integration

5 years agoMerge "Add CPULib for Klein Core" into integration
joanna.farley [Fri, 21 Feb 2020 17:50:01 +0000 (17:50 +0000)]
Merge "Add CPULib for Klein Core" into integration

5 years agoMerge "Use consistent SMCCC error code" into integration
Mark Dykes [Fri, 21 Feb 2020 15:47:30 +0000 (15:47 +0000)]
Merge "Use consistent SMCCC error code" into integration

5 years agoMerge "rockchip: fix definition of struct param_ddr_usage" into integration
Mark Dykes [Fri, 21 Feb 2020 15:46:05 +0000 (15:46 +0000)]
Merge "rockchip: fix definition of struct param_ddr_usage" into integration

5 years agoMerge changes from topic "tegra-downstream-02092020" into integration
joanna.farley [Fri, 21 Feb 2020 10:59:46 +0000 (10:59 +0000)]
Merge changes from topic "tegra-downstream-02092020" into integration

* changes:
  Tegra: spe: uninit console on a timeout
  Tegra: handler to check support for System Suspend
  Tegra: bpmp_ipc: improve cyclomatic complexity
  Tegra: platform handler to relocate BL32 image
  Tegra: common: improve cyclomatic complexity
  Tegra210: secure PMC hardware block
  Tegra: delay_timer: support for physical secure timer
  include: move MHZ_TICKS_PER_SEC to utils_def.h
  Tegra194: memctrl: lock mc stream id security config
  Tegra210: resume PMC hardware block for all platforms
  Tegra: macro for legacy WDT FIQ handling
  Tegra186: enable higher performance non-cacheable load forwarding
  Tegra210: enable higher performance non-cacheable load forwarding
  cpus: higher performance non-cacheable load forwarding

5 years agoSPMD: generate and add Secure Partition blobs into FIP
Manish Pandey [Tue, 14 Jan 2020 11:52:05 +0000 (11:52 +0000)]
SPMD: generate and add Secure Partition blobs into FIP

Till now TF-A allows limited number of external images to be made part
of FIP. With SPM coming along, there may exist multiple SP packages
which need to be inserted into FIP. To achieve this we need a more
scalable approach to feed SP packages to FIP.

This patch introduces changes in build system to generate and add SP
packages into FIP based on information provided by platform.
Platform provides information in form of JSON which contains layout
description of available Secure Partitions.
JSON parser script is invoked by build system early on and generates
a makefile which updates FIP, SPTOOL and FDT arguments which will be
used by build system later on for final packaging.

"SP_LAYOUT_FILE" passed as a build argument and can be outside of TF-A
tree. This option will be used only when SPD=spmd.

For each SP, generated makefile will have following entries
     - FDT_SOURCES += sp1.dts
     - SPTOOL_ARGS +=  -i sp1.img:sp1.dtb -o sp1.pkg
     - FIP_ARGS += --blob uuid=XXXX-XXX...,file=SP1.pkg

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

5 years agoTegra: spe: uninit console on a timeout
Varun Wadekar [Wed, 20 Jun 2018 00:07:08 +0000 (17:07 -0700)]
Tegra: spe: uninit console on a timeout

There are chances a denial-of-service attack, if an attacker
removes the SPE firmware from the system. The console driver
would end up waiting for the firmware to respond indefinitely.
The console driver must detect such scenarios and uninit the
interface as a result.

This patch adds a timeout to the interaction with the SPE
firmware and uninits the interface if it times out.

Change-Id: I06f27a858baed25711d41105b4110865f1a01727
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: handler to check support for System Suspend
Varun Wadekar [Tue, 26 Jun 2018 23:07:50 +0000 (16:07 -0700)]
Tegra: handler to check support for System Suspend

Tegra210 SoCs need the sc7entry-fw to enter System Suspend mode,
but there might be certain boards that do not have this firmware
blob. To stop the NS world from issuing System suspend entry
commands on such devices, we ned to disable System Suspend from
the PSCI "features".

This patch removes the System suspend handler from the Tegra PSCI
ops, so that the framework will disable support for "System Suspend"
from the PSCI "features".

Original change by: kalyani chidambaram <kalyanic@nvidia.com>

Change-Id: Ie029f82f55990a8b3a6debb73e95e0e218bfd1f5
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: bpmp_ipc: improve cyclomatic complexity
Varun Wadekar [Wed, 20 Jun 2018 23:12:50 +0000 (16:12 -0700)]
Tegra: bpmp_ipc: improve cyclomatic complexity

Code complexity is a good indication of maintainability versus
testability of a piece of software.

ISO26262 introduces the following thresholds:

    complexity < 10 is accepted
    10 <= complexity < 20 has to be justified
    complexity >= 20 cannot be accepted

Rationale is that number of test cases to fully test a piece of
software can (depending on the coverage metrics) grow exponentially
with the number of branches in the software.

This patch removes redundant conditionals from 'ipc_send_req_atomic'
handler to reduce the McCabe Cyclomatic Complexity for this function

Change-Id: I20fef79a771301e1c824aea72a45ff83f97591d5
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: platform handler to relocate BL32 image
Varun Wadekar [Wed, 20 Jun 2018 21:30:59 +0000 (14:30 -0700)]
Tegra: platform handler to relocate BL32 image

This patch provides platforms an opportunity to relocate the
BL32 image, during cold boot. Tegra186 platforms, for example,
relocate BL32 images to TZDRAM memory as the previous bootloader
relies on BL31 to do so.

Change-Id: Ibb864901e43aca5bf55d8c79e918b598c12e8a28
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra: common: improve cyclomatic complexity
Varun Wadekar [Wed, 20 Jun 2018 20:43:43 +0000 (13:43 -0700)]
Tegra: common: improve cyclomatic complexity

Code complexity is a good indication of maintainability versus
testability of a piece of software.

ISO26262 introduces the following thresholds:

    complexity < 10 is accepted
    10 <= complexity < 20 has to be justified
    complexity >= 20 cannot be accepted

Rationale is that number of test cases to fully test a piece of
software can (depending on the coverage metrics) grow exponentially
with the number of branches in the software.

This patch removes redundant conditionals from 'bl31_early_platform_setup'
handler to reduce the McCabe Cyclomatic Complexity for this function.

Change-Id: Ifb628e33269b388f9323639cd97db761a7e049c4
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoTegra210: secure PMC hardware block
kalyani chidambaram [Mon, 9 Apr 2018 22:18:02 +0000 (15:18 -0700)]
Tegra210: secure PMC hardware block

This patch sets the "secure" bit to mark the PMC hardware block
as accessible only from the secure world. This setting must be
programmed during cold boot and System Resume.

The sc7entry-fw, running on the COP, needs access to the PMC block
to enter System Suspend state, so "unlock" the PMC block before
passing control to the COP.

Change-Id: I00e39a49ae6b9f8c8eafe0cf7ff63fe6a67fdccf
Signed-off-by: kalyani chidambaram <kalyanic@nvidia.com>
5 years agoTegra: delay_timer: support for physical secure timer
Varun Wadekar [Mon, 18 Jun 2018 23:15:51 +0000 (16:15 -0700)]
Tegra: delay_timer: support for physical secure timer

This patch modifies the delay timer driver to switch to the ARM
secure physical timer instead of using Tegra's on-chip uS timer.

The secure timer is not accessible to the NS world and so eliminates
an important attack vector, where the Tegra timer source gets switched
off from the NS world leading to a DoS attack for the trusted world.

This timer is shared with the S-EL1 layer for now, but later patches
will mark it as exclusive to the EL3 exception mode.

Change-Id: I2c00f8cb4c48b25578971c626c314603906ad7cc
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
5 years agoinclude: move MHZ_TICKS_PER_SEC to utils_def.h
Varun Wadekar [Thu, 13 Feb 2020 21:07:12 +0000 (13:07 -0800)]
include: move MHZ_TICKS_PER_SEC to utils_def.h

This patch moves the MHZ_TICKS_PER_SEC macro to utils_def.h
for other platforms to use.

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

5 years agoTegra194: memctrl: lock mc stream id security config
Pritesh Raithatha [Wed, 6 Jun 2018 05:32:55 +0000 (11:02 +0530)]
Tegra194: memctrl: lock mc stream id security config

This patch locks most of the stream id security config registers as
per HW guidance.

This patch keeps the stream id configs unlocked for the following
clients, to allow some platforms to still function, until they make
the transition to the latest guidance.

- ISPRA
- ISPFALR
- ISPFALW
- ISPWA
- ISPWA1
- ISPWB
- XUSB_DEVR
- XUSB_DEVW
- XUSB_HOSTR
- XUSB_HOSTW
- VIW
- VIFALR
- VIFALW

Change-Id: I66192b228a0a237035938f498babc0325764d5df
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
5 years agoTegra210: resume PMC hardware block for all platforms
kalyani chidambaram [Tue, 19 Jun 2018 22:56:01 +0000 (15:56 -0700)]
Tegra210: resume PMC hardware block for all platforms

The PMC hardware block resume handler was called for Tegra210
platforms, only if the sc7entry-fw was present on the device.
This would cause problems for devices that do not support this
firmware.

This patch fixes this logic and resumes the PMC block even if
the sc7entry-fw is not present on the device.

Change-Id: I6f0eb7878126f624ea98392f583ed45a231d27db
Signed-off-by: Kalyani Chidambaram <kalyanic@nvidia.com>
5 years agoTegra: macro for legacy WDT FIQ handling
Varun Wadekar [Wed, 13 Jun 2018 21:54:01 +0000 (14:54 -0700)]
Tegra: macro for legacy WDT FIQ handling

This patch adds the macro to enable legacy FIQ handling to the common
Tegra makefile. The default value of this macro is '0'. Platforms that
need this support should enable it from their makefiles.

This patch also helps fix violation of Rule 20.9.

Rule 20.9 "All identifiers used in the controlling expression of #if
           of #elif preprocessing directives shall be #define'd before
           evaluation"

Change-Id: I4f0c9917c044b5b1967fb5e79542cd3bf6e91f18
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
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 agoUse consistent SMCCC error code
Manish V Badarkhe [Wed, 19 Feb 2020 13:36:50 +0000 (13:36 +0000)]
Use consistent SMCCC error code

Removed duplicate error code present for SMCCC and used
proper error code for "SMCCC_ARCH_WORKAROUND_2" call.

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

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 agoboard/rddaniel: intialize tzc400 controllers
Suyash Pathak [Wed, 12 Feb 2020 04:38:55 +0000 (10:08 +0530)]
board/rddaniel: intialize tzc400 controllers

A TZC400 controller is placed inline on DRAM channels and regulates
the secure and non-secure accesses to both secure and non-secure
regions of the DRAM memory. Configure each of the TZC controllers
accordingly.

Change-Id: I75f6d13591a7fe9e50ce15c793e35a8018041815
Signed-off-by: Suyash Pathak <suyash.pathak@arm.com>
5 years agoplat/arm/tzc: add support to configure multiple tzc400
Suyash Pathak [Tue, 4 Feb 2020 08:25:20 +0000 (13:55 +0530)]
plat/arm/tzc: add support to configure multiple tzc400

For platforms that have two or more TZC400 controllers instantiated,
allow the TZC400 driver to be usable with all those instances.
This is achieved by allowing 'arm_tzc400_setup' function to accept
the base address of the TZC400 controller.

Change-Id: I4add470e6ddb58432cd066145e644112400ab924
Signed-off-by: Suyash Pathak <suyash.pathak@arm.com>
5 years agoplat/arm: allow boards to specify second DRAM Base address
Suyash Pathak [Wed, 12 Feb 2020 05:06:20 +0000 (10:36 +0530)]
plat/arm: allow boards to specify second DRAM Base address

The base address for second DRAM varies across different platforms.
So allow platforms to define second DRAM by moving Juno/SGM-775 specific
definition of second DRAM base address to Juno/SGM-775 board definition
respectively, SGI/RD specific definition of DRAM 2 base address to SGI
board definition.

Change-Id: I0ecd3a2bd600b6c7019c7f06f8c452952bd07cae
Signed-off-by: Suyash Pathak <suyash.pathak@arm.com>
5 years agoplat/arm: allow boards to define PLAT_ARM_TZC_FILTERS
Suyash Pathak [Thu, 6 Feb 2020 06:21:54 +0000 (11:51 +0530)]
plat/arm: allow boards to define PLAT_ARM_TZC_FILTERS

A TZC400 can have upto 4 filters and the number of filters instantiated
within a TZC400 is platform dependent. So allow platforms to define the
value of PLAT_ARM_TZC_FILTERS by moving the existing Juno specific
definition of PLAT_ARM_TZC_FILTERS to Juno board definitions.

Change-Id: I67a63d7336595bbfdce3163f9a9473e15e266f40
Signed-off-by: Suyash Pathak <suyash.pathak@arm.com>
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 agoAdd Matterhorn CPU lib
Jimmy Brisson [Wed, 8 Jan 2020 19:52:51 +0000 (13:52 -0600)]
Add Matterhorn CPU lib

Also update copyright statements

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