]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agorefactor(stm32mp15-fdts): remove timers15 node
Yann Gautier [Wed, 17 Aug 2022 16:41:44 +0000 (18:41 +0200)]
refactor(stm32mp15-fdts): remove timers15 node

The node is currently not used in TF-A. Remove it.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Iedc4745f155ebb9c80132311a8623e4498f0689f

3 years agorefactor(stm32mp15-fdts): remove unused secure-status properties
Yann Gautier [Wed, 30 Mar 2022 17:31:01 +0000 (19:31 +0200)]
refactor(stm32mp15-fdts): remove unused secure-status properties

For peripheral where both status and secure-status are set to okay,
the function fdt_get_status() returns the same status (DT_SHARED) if
secure-status property is omitted. This secure-status property can then
be removed in boards DT files for iwdg nodes.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I9f9360842d4d41288db0cf1b92063f347c72d137

3 years agorefactor(stm32mp15-fdts): remove RCC secure-status
Yann Gautier [Tue, 29 Mar 2022 14:49:48 +0000 (16:49 +0200)]
refactor(stm32mp15-fdts): remove RCC secure-status

The RCC security is managed with a dedicated compatible:
"st,stm32mp1-rcc-secure" [1].
Remove useless secure-status property in boards rcc nodes.

[1] 812daf916c ("feat(st): update the security based on new compatible")

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Iff31044ade78dd9c432120dce65375fe2b0d36d6

3 years agoMerge "feat(stm32mp15-fdts): add Avenger96 board with STM32MP157A DHCOR SoM" into...
Madhukar Pappireddy [Thu, 25 Aug 2022 21:11:19 +0000 (23:11 +0200)]
Merge "feat(stm32mp15-fdts): add Avenger96 board with STM32MP157A DHCOR SoM" into integration

3 years agofeat(stm32mp15-fdts): add Avenger96 board with STM32MP157A DHCOR SoM
Johann Neuhauser [Wed, 13 Jul 2022 10:04:21 +0000 (12:04 +0200)]
feat(stm32mp15-fdts): add Avenger96 board with STM32MP157A DHCOR SoM

This should replace the stm32mp157a-avenger96.dts with the new device
tree files split into the STM32MP15 DHCOR SoM definition and the
Avenger96 baseboard like it's done in Linux and U-Boot.

Differences to stm32mp157a-avenger96.dts:
- Enable sdmmc2 for booting from eMMC
- improved clock settings like in U-Boot commit b6055945
  "ARM: dts: stm32: Adjust PLL4 settings on AV96 again"
- improved DDR settings for DHSOMs like in U-Boot commit 92ca0f74
  "ARM: dts: stm32: Synchronize DDR setttings on DH SoMs"

TF-A with this new dts(i) files on this board was fully tested with
the latest OP-TEE developer setup.

Change-Id: I85ce8eca7747965af3555fc19fd7b192dc3e5740
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agoMerge changes from topic "ffa_el3_spmc" into integration
Olivier Deprez [Thu, 25 Aug 2022 14:28:09 +0000 (16:28 +0200)]
Merge changes from topic "ffa_el3_spmc" into integration

* changes:
  feat(tsp): enable test cases for EL3 SPMC
  feat(tsp): increase stack size for tsp
  feat(tsp): add ffa_helpers to enable more FF-A functionality

3 years agofeat(tsp): enable test cases for EL3 SPMC
Marc Bonnici [Thu, 23 Dec 2021 20:14:34 +0000 (20:14 +0000)]
feat(tsp): enable test cases for EL3 SPMC

Introduce initial test cases to the TSP which are
designed to be exercised by the FF-A Test Driver
in the Normal World. These have been designed to
test basic functionality of the EL3 SPMC.

These tests currently ensure the following functionality:
  - Partition discovery.
  - Direct messaging.
  - Communication with a Logical SP.
  - Memory Sharing and Lending ABIs
  - Sharing of contiguous and non-contiguous memory regions.
  - Memory region descriptors spread of over multiple
    invocations.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: Iaee4180aa18d6b7ac7b53685c6589f0ab306e876

3 years agofeat(tsp): increase stack size for tsp
Shruti Gupta [Tue, 9 Aug 2022 09:46:07 +0000 (10:46 +0100)]
feat(tsp): increase stack size for tsp

TSP testcases for EL3 SPMC have higher stack usage.

Change-Id: Ib5bfdccc6d0f65174e257f3b0e8b41bcd3c704a6
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
3 years agofeat(tsp): add ffa_helpers to enable more FF-A functionality
Marc Bonnici [Thu, 23 Dec 2021 20:14:02 +0000 (20:14 +0000)]
feat(tsp): add ffa_helpers to enable more FF-A functionality

Include ffa_helpers originally taken from the TF-A Tests repo
to provide support for additional FF-A functionality.

Change-Id: Iacc3ee270d5e3903f86f8078ed915d1e791c1298
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
3 years agoMerge "fix(errata): workaround for Cortex-A510 erratum 2371937" into integration
Bipin Ravi [Wed, 24 Aug 2022 21:46:02 +0000 (23:46 +0200)]
Merge "fix(errata): workaround for Cortex-A510 erratum 2371937" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A78C erratum 2395411" into integration
Bipin Ravi [Wed, 24 Aug 2022 21:37:52 +0000 (23:37 +0200)]
Merge "fix(errata): workaround for Cortex-A78C erratum 2395411" into integration

3 years agofix(errata): workaround for Cortex-A78C erratum 2395411
Akram Ahmad [Tue, 19 Jul 2022 13:38:46 +0000 (14:38 +0100)]
fix(errata): workaround for Cortex-A78C erratum 2395411

Cortex-A78C erratum 2395411 is a Cat B erratum that affects
revisions r0p1 and r0p2, and is currently open. The workaround
is to set CPUACTLR2_EL1[40] to 1, which will disable folding
of demand requests into older prefetches with L2 miss requests
outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN2004089/latest

Signed-off-by: Akram Ahmad <Akram.Ahmad@arm.com>
Change-Id: I4f0fb278ac20a2eb4dd7e4efd1b1246dd85e48c4

3 years agoMerge "fix(errata): workaround for Cortex-A710 erratum 2147715" into integration
Bipin Ravi [Wed, 24 Aug 2022 18:10:21 +0000 (20:10 +0200)]
Merge "fix(errata): workaround for Cortex-A710 erratum 2147715" into integration

3 years agofix(errata): workaround for Cortex-A510 erratum 2371937
Akram Ahmad [Fri, 22 Jul 2022 15:20:44 +0000 (16:20 +0100)]
fix(errata): workaround for Cortex-A510 erratum 2371937

Cortex-A510 erratum 2371937 is a Cat B erratum that applies
to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is
fixed in r1p2. The workaround is to set the ATOM field of
CPUECTLR_EL1 (bits [40:38]) to 0b010, which will force all
cacheable atomic operations to be executed near.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1873351/latest
https://developer.arm.com/documentation/SDEN1873361/latest

Signed-off-by: Akram Ahmad <Akram.Ahmad@arm.com>
Change-Id: Ia219a609a3397e39631de65831ecff8a3cd1227e

3 years agoMerge changes from topic "ffa_el3_spmc" into integration
Olivier Deprez [Wed, 24 Aug 2022 14:31:01 +0000 (16:31 +0200)]
Merge changes from topic "ffa_el3_spmc" into integration

* changes:
  feat(tsp): add FF-A support to the TSP
  feat(fvp/tsp_manifest): add example manifest for TSP
  fix(spmc): fix relinquish validation check

3 years agofeat(tsp): add FF-A support to the TSP
Achin Gupta [Mon, 4 Oct 2021 19:13:36 +0000 (20:13 +0100)]
feat(tsp): add FF-A support to the TSP

This patch adds the FF-A programming model in the test
secure payload to ensure that it can be used to test
the following spec features.

1. SP initialisation on the primary and secondary cpus.
2. An event loop to receive direct requests and respond
   with direct responses.
3. Ability to receive messages that indicate power on
   and off of a cpu.
4. Ability to handle a secure interrupt.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Signed-off-by: Shruti <shruti.gupta@arm.com>
Change-Id: I81cf744904d5cdc0b27862b5e4bc6f2cfe58a13a

3 years agoMerge "feat(qemu): increase size of bl31" into integration
Bipin Ravi [Wed, 24 Aug 2022 00:01:02 +0000 (02:01 +0200)]
Merge "feat(qemu): increase size of bl31" into integration

3 years agoMerge "build: fix syntax error in semantic ver generation" into integration
Lauren Wehrmeister [Tue, 23 Aug 2022 16:33:47 +0000 (18:33 +0200)]
Merge "build: fix syntax error in semantic ver generation" into integration

3 years agobuild: fix syntax error in semantic ver generation
Harrison Mutai [Tue, 23 Aug 2022 15:44:39 +0000 (16:44 +0100)]
build: fix syntax error in semantic ver generation

Change-Id: I344aa5c779ec3f0a410d3b8bc42b6014a9b37314
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
3 years agoMerge "build: fix semantic ver generation for windows" into integration
Joanna Farley [Tue, 23 Aug 2022 15:01:34 +0000 (17:01 +0200)]
Merge "build: fix semantic ver generation for windows" into integration

3 years agoMerge "fix(zynqmp): fix for incorrect afi write mask value" into integration
Joanna Farley [Tue, 23 Aug 2022 08:52:21 +0000 (10:52 +0200)]
Merge "fix(zynqmp): fix for incorrect afi write mask value" into integration

3 years agofix(zynqmp): fix for incorrect afi write mask value
Akshay Belsare [Tue, 23 Aug 2022 06:09:35 +0000 (11:39 +0530)]
fix(zynqmp): fix for incorrect afi write mask value

Currently, the AFIFM6_WRCTRL bus-width configuration is not happening
correctly due to the wrong register write mask value. To fix this issue
updated the mask value handling logic.

Signed-off-by: Nava kishore Manne <nava.kishore.manne@amd.com>
Signed-off-by: Akshay Belsare <Akshay.Belsare@amd.com>
Acked-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Change-Id: I8443c369a84339018310cfb6cd498d21474da3e4

3 years agofix(errata): workaround for Cortex-A710 erratum 2147715
Akram Ahmad [Thu, 21 Jul 2022 14:25:08 +0000 (15:25 +0100)]
fix(errata): workaround for Cortex-A710 erratum 2147715

Cortex-A710 erratum 2147715 is a Cat B erratum that applies
to revision r2p0 of the CPU, and is fixed in r2p1. The work-
around is to set CPUACTLR_EL1[22]=1. Setting this will cause
the CFP instruction to invalidate all branch predictor resources
regardless of the context.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1775101/latest

Signed-off-by: Akram Ahmad <Akram.Ahmad@arm.com>
Change-Id: I94771bc1fc9b65a0c17d75200ec2b1df8a3279c6

3 years agoMerge "fix(lib/psa): update measured boot handle" into integration
Sandrine Bailleux [Mon, 22 Aug 2022 13:07:43 +0000 (15:07 +0200)]
Merge "fix(lib/psa): update measured boot handle" into integration

3 years agofeat(fvp/tsp_manifest): add example manifest for TSP
Marc Bonnici [Tue, 23 Nov 2021 14:47:40 +0000 (14:47 +0000)]
feat(fvp/tsp_manifest): add example manifest for TSP

Add an example manifest for the EL3 SPMC on the FVP Platform
that allows booting the TSP example partition.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: Ie7f40328e0313abb5b1a121dfdc22a5f7387587f
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
3 years agofix(spmc): fix relinquish validation check
Marc Bonnici [Mon, 6 Jun 2022 13:37:57 +0000 (14:37 +0100)]
fix(spmc): fix relinquish validation check

The current implementation expects that the endpoint IDs of all
participants of a memory transaction to be listed in the relinquish
descriptor. As per the FF-A spec, aside from the current partition
ID, only the IDs of stream endpoints whose behalf it is relinquishing
the memory region must be specified.

The current implementation does not currently support proxy endpoints
therefore ensure that the endpoint count is always equal to 1 and
no stream endpoint IDs are specified and instead just verify the
caller is a valid participant in the memory transaction.

Additionally reuse the updated check in the retrieve request flow
for additional verification.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I3b970196af8a16b2531607775398cb8a2473793b

3 years agoMerge changes from topic "stm32mp13-updates" into integration
Madhukar Pappireddy [Fri, 19 Aug 2022 15:20:50 +0000 (17:20 +0200)]
Merge changes from topic "stm32mp13-updates" into integration

* changes:
  feat(stm32mp1): manage STM32MP13 rev.Y
  feat(stm32mp13-fdts): use STM32MP_DDR_S_SIZE in fw-config
  fix(stm32mp13-fdts): cleanup DT files
  fix(stm32mp13-fdts): update SDMMC max frequency
  fix(stm32mp13-fdts): align sdmmc pins with kernel

3 years agoMerge "feat(rng-trap): add EL3 support for FEAT_RNG_TRAP" into integration
Bipin Ravi [Thu, 18 Aug 2022 20:24:41 +0000 (22:24 +0200)]
Merge "feat(rng-trap): add EL3 support for FEAT_RNG_TRAP" into integration

3 years agofeat(rng-trap): add EL3 support for FEAT_RNG_TRAP
Juan Pablo Conde [Tue, 12 Jul 2022 20:40:29 +0000 (16:40 -0400)]
feat(rng-trap): add EL3 support for FEAT_RNG_TRAP

FEAT_RNG_TRAP introduces support for EL3 trapping of reads of the
RNDR and RNDRRS registers, which is enabled by setting the
SCR_EL3.TRNDR bit. This patch adds a new build flag
ENABLE_FEAT_RNG_TRAP that enables the feature.
This feature is supported only in AArch64 state from Armv8.5 onwards.

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: Ia9f17aef3444d3822bf03809036a1f668c9f2d89

3 years agoMerge "fix(errata): workaround for Neoverse-N2 erratum 2376738" into integration
Bipin Ravi [Wed, 17 Aug 2022 23:04:51 +0000 (01:04 +0200)]
Merge "fix(errata): workaround for Neoverse-N2 erratum 2376738" into integration

3 years agofeat(stm32mp1): manage STM32MP13 rev.Y
Yann Gautier [Mon, 9 May 2022 15:01:11 +0000 (17:01 +0200)]
feat(stm32mp1): manage STM32MP13 rev.Y

The new SoC version for STM32MP13 is the revision Y. The register
SYSCFG_IDC is updated for this new version with the value 0x1003.
The function stm32mp_get_soc_name() should also be updated to manage
this new SoC revision.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I4f2fa5f1503f17db93d8413c79c2b7a18d279f9b

3 years agofeat(stm32mp13-fdts): use STM32MP_DDR_S_SIZE in fw-config
Yann Gautier [Thu, 30 Jun 2022 12:47:22 +0000 (14:47 +0200)]
feat(stm32mp13-fdts): use STM32MP_DDR_S_SIZE in fw-config

Align with STM32MP15 file, use the macro STM32MP_DDR_S_SIZE, instead of
an hard-coded value.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Ib31bed1ffe89ff221fab1884a2db729ce1e21846

3 years agofix(stm32mp13-fdts): cleanup DT files
Yann Gautier [Mon, 2 May 2022 09:12:43 +0000 (11:12 +0200)]
fix(stm32mp13-fdts): cleanup DT files

Instead of adding all peripheral nodes in SoC DT files, and then
removing them with BL2 overlay file, just remove them from SoC files.
And remove peripherals that are not used in TF-A on STM32MP13.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I0c408d29b55cb94644c92539460fc62485781223

3 years agofix(stm32mp13-fdts): update SDMMC max frequency
Yann Gautier [Mon, 2 May 2022 11:54:21 +0000 (13:54 +0200)]
fix(stm32mp13-fdts): update SDMMC max frequency

On STM32MP13, the max frequency for IOs is 130MHz, update the SDMMC
max-frequency property with this value. This is an alignment with
Linux DT file.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: If4b364f53f87d4b5d276a976af486a3bf083f49b

3 years agofix(stm32mp13-fdts): align sdmmc pins with kernel
Yann Gautier [Mon, 2 May 2022 11:49:58 +0000 (13:49 +0200)]
fix(stm32mp13-fdts): align sdmmc pins with kernel

Update the pinctrl nodes for sdmmc instances in stm32mp13-pinctrl.dtsi
file to align with Linux. The boards DT files then need to be updated
accordingly.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I4e1f3cf78794bfb7bbe53cfc7e88623c7e79855d

3 years agoMerge changes from topic "st-mmc-updates" into integration
Madhukar Pappireddy [Wed, 17 Aug 2022 14:33:10 +0000 (16:33 +0200)]
Merge changes from topic "st-mmc-updates" into integration

* changes:
  feat(st-sdmmc2): define FIFO size
  feat(st-sdmmc2): make reset property optional
  feat(st): enable MMC_FLAG_SD_CMD6 for SD-cards
  feat(st-sdmmc2): manage CMD6
  feat(mmc): manage SD Switch Function for high speed mode

3 years agoMerge changes from topic "st-etzpc-cleanup" into integration
Madhukar Pappireddy [Wed, 17 Aug 2022 14:32:55 +0000 (16:32 +0200)]
Merge changes from topic "st-etzpc-cleanup" into integration

* changes:
  refactor(stm32mp15-fdts): remove ETZPC status
  refactor(st-drivers): do not rely on DT in etzpc_init

3 years agofix(errata): workaround for Neoverse-N2 erratum 2376738
Akram Ahmad [Mon, 18 Jul 2022 11:27:29 +0000 (12:27 +0100)]
fix(errata): workaround for Neoverse-N2 erratum 2376738

Neoverse-N2 erratum 2376738 is a Cat B erratum that applies
to revision r0p0 of the CPU. It is fixed in r0p1. The workaround
is to set CPUACTLR2_EL1[0] to 1 to force PLDW/PFRM ST to
behave like PLD/PRFM LD and not cause invalidations to other
PE caches.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1982442/latest

Signed-off-by: Akram Ahmad <Akram.Ahmad@arm.com>
Change-Id: I4ad4434f9b7210244e67046d9657d218857dced5

3 years agofeat(st-sdmmc2): define FIFO size
Yann Gautier [Wed, 5 May 2021 11:47:56 +0000 (13:47 +0200)]
feat(st-sdmmc2): define FIFO size

Instead of using hard-coded values in stm32_sdmmc2_read() function,
use a defined SDMMC_FIFO_SIZE, which is 64 on STM32MP1.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I1ace0a28fbddae474379f0187371b9c360ceb7b3

3 years agofeat(st-sdmmc2): make reset property optional
Yann Gautier [Tue, 3 May 2022 13:37:54 +0000 (15:37 +0200)]
feat(st-sdmmc2): make reset property optional

Although not recommended, the reset property could be made optional.
This way the driver will probe even if no reset property is provided
in an sdmmc node in DT. This reset is already optional in Linux.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I6e63ff00118d9497f505d6379982334dd62686ca

3 years agofeat(st): enable MMC_FLAG_SD_CMD6 for SD-cards
Yann Gautier [Wed, 14 Aug 2019 14:44:48 +0000 (16:44 +0200)]
feat(st): enable MMC_FLAG_SD_CMD6 for SD-cards

This flag allows switching to High-Speed mode on SD-cards.
The gain is ~44ms when using SP_min, and ~55ms with OP-TEE.

Change-Id: Ic396c6a14201580b5e5627e6174b85b437b87cae
Signed-off-by: Yann Gautier <yann.gautier@st.com>
3 years agofeat(st-sdmmc2): manage CMD6
Yann Gautier [Wed, 12 Jun 2019 13:48:05 +0000 (15:48 +0200)]
feat(st-sdmmc2): manage CMD6

For SD-cards, CMD6 is used to switch functions, like setting high speed
mode. As it has another meaning for eMMC, and may not work on standard
capacity SD-cards, it must be checked with MMC_IS_SD_HC flag.
As ACMD6 is also used, and will have the same index, a check on
CMD/ACMD commands is done: a boolean is stored depending on previous
command. It is set to true if CMD55 is issued, for other commands
it is set to false.

Change-Id: I6c2b9c7637656f858601ec075de1cb5f57af271a
Signed-off-by: Yann Gautier <yann.gautier@st.com>
3 years agofeat(mmc): manage SD Switch Function for high speed mode
Yann Gautier [Wed, 12 Jun 2019 13:55:37 +0000 (15:55 +0200)]
feat(mmc): manage SD Switch Function for high speed mode

On SD-cards, Switch Function Command (CMD6) is used to switch
functions, like setting High Speed mode. It is useful for high capacity
cards to double frequency (from 25MHz by default to 50MHz).
If the SD-card is High Capacity, a CMD6 is issued after filling the
device information. If High Speed mode is supported and the switch is
OK, then the max_bus_freq can be set to 50MHz. The driver set_ios()
function should then be called to update peripheral configuration,
especially clock prescaler.

Change-Id: I2d6807aa7f9440d2b2f907a747cd3b47a2ba1545
Signed-off-by: Yann Gautier <yann.gautier@st.com>
3 years agobuild: fix semantic ver generation for windows
Harrison Mutai [Tue, 16 Aug 2022 12:24:39 +0000 (13:24 +0100)]
build: fix semantic ver generation for windows

Fix syntax error when generating semantic versions on windows hosts.

Change-Id: Idba8827145b829a8ba07ff0540407dbfa1ca7984
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
3 years agofeat(qemu): increase size of bl31
Jens Wiklander [Wed, 19 Jan 2022 21:01:07 +0000 (22:01 +0100)]
feat(qemu): increase size of bl31

Increases the SRAM to a full 1MB and also increase BL31 size to have
room to spare for debugging.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Change-Id: I584f9d409a1f653a3dfc7cf2b95706ada367c70e

3 years agoMerge "refactor(bl31): introduce vendor extend rodata section" into integration
Julius Werner [Tue, 16 Aug 2022 00:12:01 +0000 (02:12 +0200)]
Merge "refactor(bl31): introduce vendor extend rodata section" into integration

3 years agoMerge changes from topic "st-clk-cleanup" into integration
Madhukar Pappireddy [Mon, 15 Aug 2022 20:38:59 +0000 (22:38 +0200)]
Merge changes from topic "st-clk-cleanup" into integration

* changes:
  refactor(st-clock): code size optimization
  refactor(st-clock): remove unused PLL field

3 years agoMerge "fix(errata): workaround for Neoverse-V1 erratum 1618635" into integration
Madhukar Pappireddy [Thu, 11 Aug 2022 20:51:42 +0000 (22:51 +0200)]
Merge "fix(errata): workaround for Neoverse-V1 erratum 1618635" into integration

3 years agoMerge "fix(build): discard sections also with SEPARATE_NOBITS_REGION" into integration
Joanna Farley [Thu, 11 Aug 2022 20:27:21 +0000 (22:27 +0200)]
Merge "fix(build): discard sections also with SEPARATE_NOBITS_REGION" into integration

3 years agoMerge "fix(build): disable default PIE when linking" into integration
Bipin Ravi [Thu, 11 Aug 2022 17:08:51 +0000 (19:08 +0200)]
Merge "fix(build): disable default PIE when linking" into integration

3 years agoMerge "feat(bl): add interface to query TF-A semantic ver" into integration
Madhukar Pappireddy [Thu, 11 Aug 2022 16:02:30 +0000 (18:02 +0200)]
Merge "feat(bl): add interface to query TF-A semantic ver" into integration

3 years agofix(build): discard sections also with SEPARATE_NOBITS_REGION
Samuel Holland [Sat, 9 Apr 2022 03:22:04 +0000 (22:22 -0500)]
fix(build): discard sections also with SEPARATE_NOBITS_REGION

Some linker sections are discarded since 511046eaa28f ("BL31: discard
.dynsym .dynstr .hash sections to make ENABLE_PIE work"). However, that
logic was placed inside a preprocessor condition, so it only applied to
the !SEPARATE_NOBITS_REGION case. Move the /DISCARD/ block down so it
applies in all cases.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: I6604609f2321a2a9c32a25721a697c320108a974

3 years agofix(build): disable default PIE when linking
Samuel Holland [Sat, 9 Apr 2022 02:56:02 +0000 (21:56 -0500)]
fix(build): disable default PIE when linking

Commit f7ec31db2d ("Disable PIE compilation option") allowed building a
non-relocatable firmware with a default-PIE toolchain by disabling PIE
at compilation time. This prevents the compiler from generating
relocations against a GOT.

However, when a default-PIE GCC is used as the linker, the final binary
will still be a PIE, containing an (unused) GOT and dynamic symbol
table. These structures do not affect execution, but they waste space in
the firmware binary. Disable PIE at link time to recover this space.

Change-Id: I2be7ac9c1a957f6db8d75efe6e601e9a5760a925
Signed-off-by: Samuel Holland <samuel@sholland.org>
3 years agoMerge "fix(bl31): pass the EA bit to 'delegate_sync_ea'" into integration
Bipin Ravi [Wed, 10 Aug 2022 13:45:55 +0000 (15:45 +0200)]
Merge "fix(bl31): pass the EA bit to 'delegate_sync_ea'" into integration

3 years agorefactor(stm32mp15-fdts): remove ETZPC status
Yann Gautier [Tue, 29 Mar 2022 14:53:07 +0000 (16:53 +0200)]
refactor(stm32mp15-fdts): remove ETZPC status

The ETZPC is always secure, and the driver does no more rely on
secure-status (and status) DT property. Remove them from the SoC
DT file.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I5f1d3534679553d79e6866396cd70e21a595ef6a

3 years agorefactor(st-drivers): do not rely on DT in etzpc_init
Yann Gautier [Tue, 29 Mar 2022 13:39:11 +0000 (15:39 +0200)]
refactor(st-drivers): do not rely on DT in etzpc_init

The ETZPC peripheral is always secure, and has a fixed address,
given by STM32MP1_ETZPC_BASE. This is then not needed to check
that in DT.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: Ifb0779abaf830e1e5a469c72181c2b2726fb47b5

3 years agorefactor(st-clock): code size optimization
Gabriel Fernandez [Tue, 21 Jun 2022 13:31:30 +0000 (15:31 +0200)]
refactor(st-clock): code size optimization

Clock name is not used and can be removed for code size optimization.

Change-Id: I75f6a1828e4374004e31a7ce13fa6885c52bbac3
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
3 years agorefactor(st-clock): remove unused PLL field
Gabriel Fernandez [Mon, 14 Feb 2022 09:55:41 +0000 (10:55 +0100)]
refactor(st-clock): remove unused PLL field

The divn_max field is unused, remove it.

Change-Id: I971912bcc035f16963d98dfa88782c8aed4415f2
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
3 years agoMerge "feat(sve): support full SVE vector length" into integration
Olivier Deprez [Tue, 9 Aug 2022 13:25:57 +0000 (15:25 +0200)]
Merge "feat(sve): support full SVE vector length" into integration

3 years agorefactor(bl31): introduce vendor extend rodata section
Leon Chen [Fri, 5 Aug 2022 02:04:10 +0000 (10:04 +0800)]
refactor(bl31): introduce vendor extend rodata section

The purpose of including vendor extend plat.ld.rodata.inc
linker script is for compactly collecting vendor rodata in
intrinsic rodata section.
If vendors define a standalone section and assign the section
placed after __RW_END__, the raw bindry(bl31.bin) will include
bss section with zero value and increase binary size.

Signed-off-by: Leon Chen <leon.chen@mediatek.com>
Change-Id: I46dd8b02bfb26af1dcca27f61b3ea29ca74bbbd6

3 years agoMerge "docs(juno): fix broken link" into integration
Joanna Farley [Mon, 8 Aug 2022 07:54:02 +0000 (09:54 +0200)]
Merge "docs(juno): fix broken link" into integration

3 years agodocs(juno): fix broken link
Arthur She [Fri, 24 Jun 2022 00:31:02 +0000 (08:31 +0800)]
docs(juno): fix broken link

The URL of the Juno Getting Started Guide has been changed.
Fix the broken link.

Signed-off-by: Arthur She <arthur.she@linaro.org>
Change-Id: I55697f2f1f787c32d1ea7dfcf9eda619906cdb5d

3 years agoMerge "fix(versal): use only one space for indentation" into integration
Joanna Farley [Sun, 7 Aug 2022 22:00:44 +0000 (00:00 +0200)]
Merge "fix(versal): use only one space for indentation" into integration

3 years agoMerge changes from topic "xilinx-versal-coding-style" into integration
Joanna Farley [Sun, 7 Aug 2022 21:59:52 +0000 (23:59 +0200)]
Merge changes from topic "xilinx-versal-coding-style" into integration

* changes:
  fix(versal): fix code indentation issues
  fix(versal): fix macro coding style issues

3 years agofix(errata): workaround for Neoverse-V1 erratum 1618635
Juan Pablo Conde [Mon, 28 Feb 2022 19:14:44 +0000 (14:14 -0500)]
fix(errata): workaround for Neoverse-V1 erratum 1618635

Neoverse-V1 erratum 1618635 is a Cat B erratum that applies to
revision r0p0. It is fixed in r1p0.
The workaround is done through the instruction patching
mechanism, which is performed by a write sequence of
IMPLEMENTATION DEFINED registers.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1401781/latest/

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: I53e406735cd3a2a930fdc72ebce3bbed97100168

3 years agofix(lib/psa): update measured boot handle
Jamie Fox [Tue, 2 Aug 2022 14:39:21 +0000 (15:39 +0100)]
fix(lib/psa): update measured boot handle

When the measured boot service was upstreamed to TF-M, its static
handle was reallocated into the user partitions range. This change
updates the static handle here to make the service accessible.

Also removes the SIDs and Versions, since they are unused when a
service is accessed through a stateless handle, which encodes both
service ID and version. The attestation and measured boot services
only support access through their handles.

Signed-off-by: Jamie Fox <jamie.fox@arm.com>
Change-Id: I9d2ff1aad19470728289d574be3d5d11bdabeef4

3 years agoMerge "fix: make TF-A use provided OpenSSL binary" into integration
Lauren Wehrmeister [Thu, 4 Aug 2022 15:29:24 +0000 (17:29 +0200)]
Merge "fix: make TF-A use provided OpenSSL binary" into integration

3 years agofix(versal): use only one space for indentation
Michal Simek [Thu, 4 Aug 2022 12:08:32 +0000 (14:08 +0200)]
fix(versal): use only one space for indentation

Trivial patch to remove additional space.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ifa33dee81243c0b21ca0f13b8e4d575646818162

3 years agofix: make TF-A use provided OpenSSL binary
Salome Thirot [Thu, 14 Jul 2022 15:14:15 +0000 (16:14 +0100)]
fix: make TF-A use provided OpenSSL binary

Currently Tf-A uses whatever openssl binary is on the system to sign
images. However if OPENSSL_DIR is specified in the build flags this can
lead to linking issues as the system binary can end up being linked
against shared libraries provided in OPENSSL_DIR/lib if both binaries
(the system's and the on in OPENSSL_DIR/bin) are the same version.
This patch ensures that the binary used is always the one given by
OPENSSL_DIR to avoid those link issues.

Signed-off-by: Salome Thirot <salome.thirot@arm.com>
Change-Id: Ib534e06ebc8482e4391e376d3791a87968de4a99

3 years agofix(versal): fix code indentation issues
Michal Simek [Fri, 29 Jul 2022 05:48:59 +0000 (07:48 +0200)]
fix(versal): fix code indentation issues

Next line should be aligned with the previous code.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I20d82ba5fa70fa252341b62e57fac265241f3391

3 years agofix(versal): fix macro coding style issues
Michal Simek [Wed, 27 Jul 2022 12:17:30 +0000 (14:17 +0200)]
fix(versal): fix macro coding style issues

Use only one space between #define and macro name.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ieb9bdd5bcfa56bd265df72692a09c7340fe132cb

3 years agofix(bl31): pass the EA bit to 'delegate_sync_ea'
Varun Wadekar [Wed, 3 Aug 2022 11:01:36 +0000 (12:01 +0100)]
fix(bl31): pass the EA bit to 'delegate_sync_ea'

During a synchronous exception, the 'enter_lower_el_sync_ea' handler
tests the ESR_EL3 EA bit and calls 'report_unhandled_exception', if
it is not set.

EA = 0 and IFSC = SEA, seems to be a contradiction. EA provides further
classification of a synchronous abort. A synchronous abort is determined
by the IFSC value on an instruction fetch synchronous abort. As a result,
EA will never be set to 1 on an instruction fetch synchronous abort and
'report_unhandled_exception' should not be called.

This patch removes this behavior to allow the platform to handle the
exception.

Signed-off-by: Nicolas Benech <nbenech@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I3f004447ad4316d81649063e1ffb3ac644c83ede

3 years agofeat(bl): add interface to query TF-A semantic ver
laurenw-arm [Tue, 12 Jul 2022 15:12:05 +0000 (10:12 -0500)]
feat(bl): add interface to query TF-A semantic ver

Adding interface for stand-alone semantic version of TF-A
for exporting to RSS attestation, and potentially other areas
as well.

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: Ib4a2c47aa1e42a3b850185e674c90708a05cda53

3 years agoMerge "feat(plat/qti): fix to support cpu errata" into integration
Bipin Ravi [Tue, 2 Aug 2022 19:25:24 +0000 (21:25 +0200)]
Merge "feat(plat/qti): fix to support cpu errata" into integration

3 years agoMerge changes from topic "st_fip_uuid" into integration
Lauren Wehrmeister [Mon, 1 Aug 2022 14:45:49 +0000 (16:45 +0200)]
Merge changes from topic "st_fip_uuid" into integration

* changes:
  feat(stm32mp1): retrieve FIP partition by type UUID
  feat(guid-partition): allow to find partition by type UUID
  refactor(stm32mp1): update PLAT_PARTITION_MAX_ENTRIES

3 years agoMerge "feat(zynqmp): protect eFuses from non-secure access" into integration
Joanna Farley [Mon, 1 Aug 2022 10:05:18 +0000 (12:05 +0200)]
Merge "feat(zynqmp): protect eFuses from non-secure access" into integration

3 years agoMerge changes from topic "xlnx_misra" into integration
Joanna Farley [Mon, 1 Aug 2022 10:04:04 +0000 (12:04 +0200)]
Merge changes from topic "xlnx_misra" into integration

* changes:
  fix(versal): resolve misra 10.1 warnings
  fix(versal): resolve the misra 4.6 warnings

3 years agofix(versal): resolve misra 10.1 warnings
Venkatesh Yadav Abbarapu [Sun, 31 Jul 2022 08:38:53 +0000 (14:08 +0530)]
fix(versal): resolve misra 10.1 warnings

MISRA Violation: MISRA-C: 2012 R.10.1
-The operand to the operator does not have an essentially
unsigned type.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I4873a620086dfd6f636fe730165a9d13a29e9652

3 years agofix(versal): resolve the misra 4.6 warnings
Venkatesh Yadav Abbarapu [Sun, 31 Jul 2022 08:35:40 +0000 (14:05 +0530)]
fix(versal): resolve the misra 4.6 warnings

MISRA Violation: MISRA-C:2012 R.4.6
- Using basic numerical type int rather than a typedef
that includes size and signedness information.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: Ieff90b5311a3bde8a2cb302ca81c23eeee6d235a

3 years agofeat(zynqmp): protect eFuses from non-secure access
Vesa Jääskeläinen [Fri, 29 Apr 2022 05:47:24 +0000 (08:47 +0300)]
feat(zynqmp): protect eFuses from non-secure access

When configuration option ZYNQMP_SECURE_EFUSES is defined then Xilinx
ZynqMP's PS eFuses can only be accesses from secure state.

This enables eFuses to be reserved and protected only for security use
cases for example in OP-TEE.

Change-Id: I866905e35ce488f50f5f6e1b4667b08a9fa2386d
Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
3 years agofeat(plat/qti): fix to support cpu errata
Saurabh Gorecha [Mon, 4 Apr 2022 18:41:52 +0000 (00:11 +0530)]
feat(plat/qti): fix to support cpu errata

fix to support ARM CPU errata based on core used.

Signed-off-by: Saurabh Gorecha <quic_sgorecha@quicinc.com>
Change-Id: If1a438f98f743435a7a0b683a32ccf14164db37e

3 years agoMerge "fix(xilinx): miscellaneous fixes for xilinx platforms" into integration
Joanna Farley [Thu, 28 Jul 2022 16:37:45 +0000 (18:37 +0200)]
Merge "fix(xilinx): miscellaneous fixes for xilinx platforms" into integration

3 years agofix(xilinx): miscellaneous fixes for xilinx platforms
Venkatesh Yadav Abbarapu [Thu, 28 Jul 2022 03:20:30 +0000 (08:50 +0530)]
fix(xilinx): miscellaneous fixes for xilinx platforms

This patch gathers miscellaneous minor fixes to the xilinx
platforms like tabs for indentation and misra 10.1 warnings.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I4cdb89ffec7d5abc64e065ed5b5e5d10b30ab9f9

3 years agoMerge "fix(ufs): add retries to ufs_read_capacity" into integration
Madhukar Pappireddy [Wed, 27 Jul 2022 14:06:43 +0000 (16:06 +0200)]
Merge "fix(ufs): add retries to ufs_read_capacity" into integration

3 years agoMerge "fix(ufs): point utrlbau to header instead of upiu" into integration
Madhukar Pappireddy [Wed, 27 Jul 2022 13:58:39 +0000 (15:58 +0200)]
Merge "fix(ufs): point utrlbau to header instead of upiu" into integration

3 years agofix(ufs): point utrlbau to header instead of upiu
anans [Tue, 26 Jul 2022 11:39:23 +0000 (11:39 +0000)]
fix(ufs): point utrlbau to header instead of upiu

utrlbau should point to header and not upiu
this is the case everywhere except for ufs_prepare_cmd

Signed-off-by: anans <anans@google.com>
Change-Id: I02695824c1409124a60e63c3a7ff3278a4dc5fa8

3 years agoMerge "(feat)n1sdp: add support for OP-TEE SPMC" into integration
Madhukar Pappireddy [Mon, 25 Jul 2022 19:36:31 +0000 (21:36 +0200)]
Merge "(feat)n1sdp: add support for OP-TEE SPMC" into integration

3 years ago(feat)n1sdp: add support for OP-TEE SPMC
Vishnu Banavath [Mon, 20 Jun 2022 17:20:21 +0000 (18:20 +0100)]
(feat)n1sdp: add support for OP-TEE SPMC

These changes are to add support for loading and booting
OP-TEE as SPMC running at SEL1 for N1SDP platform.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Change-Id: I0514db646d4868b6f0c56f1ea60495cb3f7364fd

3 years agoMerge "feat(tc): introduce TC2 platform" into integration
Madhukar Pappireddy [Mon, 25 Jul 2022 13:09:29 +0000 (15:09 +0200)]
Merge "feat(tc): introduce TC2 platform" into integration

3 years agoMerge "fix(versal): remove clock related macros" into integration
Joanna Farley [Mon, 25 Jul 2022 11:40:57 +0000 (13:40 +0200)]
Merge "fix(versal): remove clock related macros" into integration

3 years agoMerge "docs(maintainers): switch emails from Xilinx to AMD" into integration
Joanna Farley [Mon, 25 Jul 2022 11:39:57 +0000 (13:39 +0200)]
Merge "docs(maintainers): switch emails from Xilinx to AMD" into integration

3 years agodocs(maintainers): switch emails from Xilinx to AMD
Michal Simek [Mon, 25 Jul 2022 08:26:03 +0000 (10:26 +0200)]
docs(maintainers): switch emails from Xilinx to AMD

Switch emails from Xilinx to AMD after acquisition.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I5d126dc49e53f2735bb7e103f8f883a9474206fc

3 years agofix(versal): remove clock related macros
Michal Simek [Thu, 21 Jul 2022 06:54:16 +0000 (08:54 +0200)]
fix(versal): remove clock related macros

TF-A doesn't configure clock on Versal. Setup is done by previous
bootloader (called PLM) that's why there is no need to have macro listed in
headers. Also previous phase can disable access to these registers that's
why better to remove them.

Change-Id: I53ba344ad932c532b0babdce9d2b26e4c2c1b846
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 years agofeat(tc): introduce TC2 platform
Rupinderjit Singh [Mon, 4 Apr 2022 16:28:41 +0000 (17:28 +0100)]
feat(tc): introduce TC2 platform

Added a platform support to use tc2 specific CPU cores.

Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
Change-Id: Ib76d440e358e9bd1cf80aec5b8591f7a6e47ecbd

3 years agoMerge "fix(psci): fix MISRA failure - Memory - illegal accesses" into integration
Bipin Ravi [Fri, 22 Jul 2022 14:03:28 +0000 (16:03 +0200)]
Merge "fix(psci): fix MISRA failure - Memory - illegal accesses" into integration

3 years agofix(psci): fix MISRA failure - Memory - illegal accesses
Manish V Badarkhe [Fri, 22 Jul 2022 11:21:16 +0000 (12:21 +0100)]
fix(psci): fix MISRA failure - Memory - illegal accesses

Fixed below MISRA failure -
>>>     CID 379362:  Memory - illegal accesses  (OVERRUN)
>>>     Overrunning array "psci_non_cpu_pd_nodes" of 5 16-byte
>>>     elements at element index 5 (byte offset 95) using index
>>>     "i" (which evaluates to 5).

Change-Id: Ie88fc555e48b06563372bfe4e51f16b13c0a020b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
3 years agoMerge "fix(doc): document missing RMM-EL3 runtime services" into integration
Manish Pandey [Fri, 22 Jul 2022 08:51:41 +0000 (10:51 +0200)]
Merge "fix(doc): document missing RMM-EL3 runtime services" into integration

3 years agoMerge "fix(errata): workaround for Cortex-X2 erratum 2371105" into integration
Madhukar Pappireddy [Thu, 21 Jul 2022 19:32:22 +0000 (21:32 +0200)]
Merge "fix(errata): workaround for Cortex-X2 erratum 2371105" into integration

3 years agofix(errata): workaround for Cortex-X2 erratum 2371105
Bipin Ravi [Tue, 12 Jul 2022 22:13:01 +0000 (17:13 -0500)]
fix(errata): workaround for Cortex-X2 erratum 2371105

Cortex-X2 erratum 2371105 is a cat B erratum that applies to
revisions r0p0 - r2p0 and is fixed in r2p1. The workaround is to
set bit[40] of CPUACTLR2_EL1 to disable folding of demand requests
into older prefetches with L2 miss requests outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1775100/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ib4f0caac36e1ecf049871acdea45526b394b7bad

3 years agoMerge "fix(errata): workaround for Cortex A78C erratum 2242638" into integration
Lauren Wehrmeister [Thu, 21 Jul 2022 18:31:34 +0000 (20:31 +0200)]
Merge "fix(errata): workaround for Cortex A78C erratum 2242638" into integration