]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofix(st): add max size for FIP in eMMC boot part
Yann Gautier [Fri, 2 Sep 2022 06:36:40 +0000 (08:36 +0200)]
fix(st): add max size for FIP in eMMC boot part

When putting FIP binary in eMMC boot partition (with STM32MP_EMMC_BOOT),
the FIP max size should be precised. If it is not, an assert fails in
io_block driver, as cur->size will be zero.
For this length, we then use the size of the eMMC boot partition minus
STM32MP_EMMC_BOOT_FIP_OFFSET.

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

3 years agofeat(mmc): get boot partition size
Yann Gautier [Thu, 1 Sep 2022 17:23:39 +0000 (19:23 +0200)]
feat(mmc): get boot partition size

The boot partition size of an eMMC is given in ext_csd register, at
offset 226 (BOOT_SIZE_MULT), which has to be multiplied by 128kB.
Add a helper function mmc_boot_part_size() to get this eMMC boot
partition size.

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

3 years agoMerge changes I366740a9,I533abdd6,I6aa3b6dc into integration
Manish V Badarkhe [Tue, 6 Sep 2022 15:49:10 +0000 (17:49 +0200)]
Merge changes I366740a9,I533abdd6,I6aa3b6dc into integration

* changes:
  fix(n1sdp): mapping Run-time UART to IOFPGA UART0
  fix(n1sdp): add numa node id for pcie controllers
  fix(n1sdp): replace non-inclusive terms from dts file

3 years agoMerge "fix(gpt): correct the GPC enable sequence" into integration
Manish V Badarkhe [Tue, 6 Sep 2022 15:24:17 +0000 (17:24 +0200)]
Merge "fix(gpt): correct the GPC enable sequence" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A510 erratum 2347730" into integration
Manish Pandey [Tue, 6 Sep 2022 12:49:53 +0000 (14:49 +0200)]
Merge "fix(errata): workaround for Cortex-A510 erratum 2347730" into integration

3 years agoMerge changes from topic "st-nand-updates" into integration
Manish Pandey [Mon, 5 Sep 2022 14:42:34 +0000 (16:42 +0200)]
Merge changes from topic "st-nand-updates" into integration

* changes:
  feat(stm32mp1): allow to override MTD base offset
  feat(stm32mp1): manage second NAND OTP on STM32MP13
  feat(stm32mp1): add define for external scratch buffer for nand devices
  feat(mtd): add platform function to allow using external buffer
  feat(libc): introduce __maybe_unused

3 years agoMerge changes from topic "mt8188" into integration
Manish Pandey [Mon, 5 Sep 2022 13:54:11 +0000 (15:54 +0200)]
Merge changes from topic "mt8188" into integration

* changes:
  feat(mt8188): add pinctrl support
  feat(mt8188): add RTC support
  feat(mt8188): add pmic and pwrap support
  refator(mediatek): move pmic.[c|h] to common folder
  refator(mediatek): move common definitions of pmic wrap to common folder
  feat(mt8188): add IOMMU enable control in SiP service
  feat(mt8188): add display port control in SiP service
  fix(mediatek): use uppercase for definition
  feat(mediatek): move dp drivers to common folder
  feat(mediatek): move mtk_cirq.c drivers to cirq folder
  feat(mt8188): initialize GIC
  feat(mt8188): initialize systimer
  feat(mt8188): initialize platform for MediaTek MT8188
  refator(mediatek): remove unused files
  refator(mediatek): move drivers folder in common to plat/mediatek
  feat(mediatek): support coreboot BL31 loading

3 years agofeat(mt8188): add pinctrl support
Jianguo Zhang [Fri, 29 Jul 2022 05:55:03 +0000 (13:55 +0800)]
feat(mt8188): add pinctrl support

Add pinctrl support for MT8188.

TEST=build pass
BUG=b:236331724

Signed-off-by: Jianguo Zhang <jianguo.zhang@mediatek.corp-partner.google.com>
Change-Id: Id4ac8f67009621fff8f15f3ab2d8f200343c8356

3 years agofeat(mt8188): add RTC support
Song Fan [Mon, 25 Jul 2022 11:50:52 +0000 (19:50 +0800)]
feat(mt8188): add RTC support

TEST=build pass.
BUG=b:233720142

Signed-off-by: Song Fan <ot_song.fan@mediatek.corp-partner.google.com>
Change-Id: I348eff0f53341593f74a63780e2e8298cbc3ec88

3 years agofeat(mt8188): add pmic and pwrap support
Hui Liu [Thu, 28 Jul 2022 12:28:32 +0000 (20:28 +0800)]
feat(mt8188): add pmic and pwrap support

Add PWRAP and PMIC driver to support power-off.

TEST=build pass.
BUG=b:233720142

Signed-off-by: Hui Liu <hui.liu@mediatek.corp-partner.google.com>
Change-Id: Id9951134925f6cb5f8d304a7b8e7901837809bd9

3 years agorefator(mediatek): move pmic.[c|h] to common folder
Bo-Chen Chen [Thu, 1 Sep 2022 08:32:46 +0000 (16:32 +0800)]
refator(mediatek): move pmic.[c|h] to common folder

These two files are identical on MT8192 and MT8195. They can also be
used on MT8188. So move them to common/drivers/pmic/.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I8c12d15f1da79ab5767ac02b3ab70e8508155ee8

3 years agorefator(mediatek): move common definitions of pmic wrap to common folder
Bo-Chen Chen [Thu, 1 Sep 2022 07:16:23 +0000 (15:16 +0800)]
refator(mediatek): move common definitions of pmic wrap to common folder

Some definitions can be shared among mt8192, mt8195, and
mt8186, so move them to pmic_wrap_init_common.h.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I992b61a47a84039fe8c246e2ff75721c57ee41a5

3 years agofeat(mt8188): add IOMMU enable control in SiP service
Chengci Xu [Wed, 20 Jul 2022 08:20:15 +0000 (16:20 +0800)]
feat(mt8188): add IOMMU enable control in SiP service

Add SiP service for multimedia & infra master to enable/disable
MM & INFRA IOMMU in secure world

TEST=build pass
BUG=b:236339614

Signed-off-by: Chengci Xu <chengci.xu@mediatek.corp-partner.google.com>
Change-Id: I4eb1fda6044cf2cb6c22c005cb2fa550906b71e9

3 years agofeat(mt8188): add display port control in SiP service
Rex-BC Chen [Mon, 11 Jul 2022 11:03:35 +0000 (19:03 +0800)]
feat(mt8188): add display port control in SiP service

MTK display port mute/unmute control registers need to be
set in secure world.

TEST=build pass
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I0aa0675f07c80aab4349493bfbb0782bf0bbef58

3 years agofix(mediatek): use uppercase for definition
Rex-BC Chen [Tue, 12 Jul 2022 02:24:26 +0000 (10:24 +0800)]
fix(mediatek): use uppercase for definition

Use uppercase for definition.
s/eDP_SEC_BASE/EDP_SEC_BASE/.
s/eDP_SEC_SIZE/EDP_SEC_SIZE/.

TEST=build pass for mt8195
BUG=b:233720142

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I390055500a6347b67fefde36a7f103438ba2d5ff

3 years agofeat(mediatek): move dp drivers to common folder
Rex-BC Chen [Mon, 11 Jul 2022 10:48:43 +0000 (18:48 +0800)]
feat(mediatek): move dp drivers to common folder

Display port driver can be reused, so we move it to common/drivers.

TEST=build mt8195 pass
BUG=b:233720142

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I58c7b41ba3ad653cdf6f6fbae6778abfd7e950a9

3 years agofeat(mediatek): move mtk_cirq.c drivers to cirq folder
Rex-BC Chen [Fri, 8 Jul 2022 06:48:56 +0000 (14:48 +0800)]
feat(mediatek): move mtk_cirq.c drivers to cirq folder

To use cirq drivers more easier, we place mtk_cirq.c and mtk_cirq.h
to common/drivers/cirq.

We also rename mtk_cirq.c/h to mt_cirq.c/h for consistency with other
driver folders.

TEST=build pass for mt8192/mt8195/mt8186
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I71bc442f00b16fb4031260937982c0496fcaaea0

3 years agofeat(mt8188): initialize GIC
Rex-BC Chen [Fri, 8 Jul 2022 05:58:33 +0000 (13:58 +0800)]
feat(mt8188): initialize GIC

Initialize GIC for mt8188.

TEST=build pass
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I5acf77d654f1bbce32e9fbb3f3567600b7db10ed

3 years agofeat(mt8188): initialize systimer
Rex-BC Chen [Fri, 8 Jul 2022 05:16:17 +0000 (13:16 +0800)]
feat(mt8188): initialize systimer

Add systimer to support timer function.

TEST=build pass
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: Ibe6b96a162caa8804bebb7ff7de326ebcb2a6daa

3 years agofeat(mt8188): initialize platform for MediaTek MT8188
Rex-BC Chen [Thu, 7 Jul 2022 11:30:22 +0000 (19:30 +0800)]
feat(mt8188): initialize platform for MediaTek MT8188

- Add basic platform setup.
- Add MT8188 documentation at docs/plat/.
- Add generic CPU helper functions.
- Add basic register address.
- Add mtk_pm.c in lib/pm

TEST=build pass
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I5f8617c42ffba2c9d3a16f3980cb75fda5624031

3 years agorefator(mediatek): remove unused files
Bo-Chen Chen [Mon, 5 Sep 2022 05:03:34 +0000 (13:03 +0800)]
refator(mediatek): remove unused files

We do not use oem_svc.[c|h], so remove them.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I0afb64d997cf4e23063f4fa2226e8d2649d22574

3 years agorefator(mediatek): move drivers folder in common to plat/mediatek
Bo-Chen Chen [Mon, 5 Sep 2022 03:18:04 +0000 (11:18 +0800)]
refator(mediatek): move drivers folder in common to plat/mediatek

We plan to put some soc related drivers in common/drivers. To reduce
confision, we move them to plat/mediatek.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I6b344e660f40a23b15151aab073d3045b28f52aa

3 years agoMerge "fix(bl31): allow use of EHF with S-EL2 SPMC" into integration
Olivier Deprez [Fri, 2 Sep 2022 09:06:52 +0000 (11:06 +0200)]
Merge "fix(bl31): allow use of EHF with S-EL2 SPMC" into integration

3 years agofix(n1sdp): mapping Run-time UART to IOFPGA UART0
Himanshu Sharma [Mon, 20 Jun 2022 06:06:34 +0000 (06:06 +0000)]
fix(n1sdp): mapping Run-time UART to IOFPGA UART0

Currently the Run-time UART is mapped to AP UART1 which is internally
routed to MCP UART1, so unsharing it from AP UART1 and mapping it to
IOFPGA UART0 for exclusiveness among the usage of the UARTs.

Signed-off-by: Himanshu Sharma <Himanshu.Sharma@arm.com>
Change-Id: I366740a971a880decf0d373e9055e7ebda5df53a

3 years agofix(n1sdp): add numa node id for pcie controllers
sahil [Sat, 18 Jun 2022 09:03:45 +0000 (14:33 +0530)]
fix(n1sdp): add numa node id for pcie controllers

If not mentioned explicitly, numa-node-id for pcie_ctlr
is assigned as unknown. With this patch pcie_ctlr and
ccix_pcie_ctlr are assigned numa-node-id=0 and
pcie_secondary_ctlr is assigned numa-node-id=1.

Signed-off-by: sahil <sahil@arm.com>
Change-Id: I533abdd6ea162df7b15ee04cbfc48ba7a544b91a

3 years agofix(n1sdp): replace non-inclusive terms from dts file
SAHIL [Mon, 20 Jun 2022 09:54:14 +0000 (15:24 +0530)]
fix(n1sdp): replace non-inclusive terms from dts file

Signed-off-by: sahil <sahil@arm.com>
Change-Id: I6aa3b6dcf7c2fea18ea2d4f44a2293123ff34bdf

3 years agoMerge "refactor(cpu): update IP names of Makalu CPU lib" into integration
Lauren Wehrmeister [Wed, 31 Aug 2022 18:42:52 +0000 (20:42 +0200)]
Merge "refactor(cpu): update IP names of Makalu CPU lib" into integration

3 years agorefactor(cpu): update IP names of Makalu CPU lib
Rupinderjit Singh [Tue, 23 Aug 2022 10:55:27 +0000 (11:55 +0100)]
refactor(cpu): update IP names of Makalu CPU lib

   * ASM files are renamed to have public IP names in their filename.
   * updated other files to include ASM filename changes.

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

3 years agoMerge "chore: use tabs for indentation" into integration
Lauren Wehrmeister [Wed, 31 Aug 2022 15:32:16 +0000 (17:32 +0200)]
Merge "chore: use tabs for indentation" into integration

3 years agofeat(mediatek): support coreboot BL31 loading
Rex-BC Chen [Tue, 9 Aug 2022 11:37:25 +0000 (19:37 +0800)]
feat(mediatek): support coreboot BL31 loading

The ChromeOS project uses Coreboot as BL2 instead of MediaTek regular
bootloader, so we use COREBOOT flag to support Coreboot boot flow.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I45e95ea51e90158187452eba52fc58090d1c60a4

3 years agofix(errata): workaround for Cortex-A510 erratum 2347730
Akram Ahmad [Thu, 21 Jul 2022 13:01:33 +0000 (14:01 +0100)]
fix(errata): workaround for Cortex-A510 erratum 2347730

Cortex-A510 erratum 2347730 is a Cat B erratum that affects
revisions r0p0, r0p1, r0p2, r0p3, r1p0 and r1p1. It is
fixed in r1p2. The workaround is to set CPUACTLR_EL1[17]
to 1, which will disable specific microarchitectural clock
gating behaviour.

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: I115386284c2d91bd61515142f971e2e72de43e68

3 years agochore: use tabs for indentation
Jorge Troncoso [Mon, 29 Aug 2022 22:58:07 +0000 (15:58 -0700)]
chore: use tabs for indentation

This patch changes definitions of bl2_mem_params_descs to follow the
TF-A coding style documented at
https://trustedfirmware-a.readthedocs.io/en/latest/process/coding-style.html

Signed-off-by: Jorge Troncoso <jatron@google.com>
Change-Id: I7bd99a50a79499aca0d349e49a3e095e6c5d2f08

3 years agofix(bl31): allow use of EHF with S-EL2 SPMC
Raghu Krishnamurthy [Mon, 25 Jul 2022 21:44:33 +0000 (14:44 -0700)]
fix(bl31): allow use of EHF with S-EL2 SPMC

Currently, when SPMC at S-EL2 is used, we cannot use the RAS framework
to handle Group 0 interrupts. This is required on platforms where first
level of triaging needs to occur at EL3, before forwarding RAS handling
to a secure partition running atop an SPMC (hafnium).
The RAS framework depends on EHF and EHF registers for Group 0
interrupts to be trapped to EL3 when execution is both in secure world
and normal world. However, an FF-A compliant SPMC requires secure
interrupts to be trapped by the SPMC when execution is in S-EL0/S-EL1.
Consequently, the SPMC (hafnium) is incompatible with EHF, since it is
not re-entrant, and a Group 0 interrupt trapped to EL3 when execution is
in secure world, cannot be forwarded to an SP running atop SPMC.
This patch changes EHF to only register for Group 0 interrupts to be
trapped to EL3 when execution is in normal world and also makes it a
valid routing model to do so, when EL3_EXCEPTION_HANDLING is set (when
enabling the RAS framework).

Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
Change-Id: I72d4cf4d8ecc549a832d1c36055fbe95866747fe

3 years agoMerge "docs(marvell): document UART image downloading" into integration
Madhukar Pappireddy [Tue, 30 Aug 2022 14:31:10 +0000 (16:31 +0200)]
Merge "docs(marvell): document UART image downloading" into integration

3 years agoMerge changes from topics "mtk_cold_boot", "mtk_init_scheme", "smc_registration_use_c...
Olivier Deprez [Tue, 30 Aug 2022 10:26:47 +0000 (12:26 +0200)]
Merge changes from topics "mtk_cold_boot", "mtk_init_scheme", "smc_registration_use_case", "vendor_extend_pubsub_event" into integration

* changes:
  feat(mediatek): implement generic platform port
  refactor(mediatek): smc registration services
  feat(mediatek): introduce mtk init framework
  refactor(mediatek): partition MTK SiP SMC ID
  feat(mediatek): extend SiP vendor subscription events

3 years agofeat(mediatek): implement generic platform port
Leon Chen [Sun, 26 Jun 2022 13:50:32 +0000 (21:50 +0800)]
feat(mediatek): implement generic platform port

Implement mandatory platform port functions. Receive
boot arguments from bl2, populate bl33 and bl32 image
entry structs, call each MTK initcall levels
in these mandatory platform port functions.
After bl31_main exit and handover to 2nd boot loader,
mtk bl33 issues SMC and traps to TF-A to execute boot_to_kernel
and then handover to Linux kernel.

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

3 years agorefactor(mediatek): smc registration services
Leon Chen [Wed, 8 Jun 2022 02:49:24 +0000 (10:49 +0800)]
refactor(mediatek): smc registration services

To modularize SMC handler, provide macro function in mtk_sip_svc.h.
Drivers register SMC name with value in mtk_sip_def.h, and bind the SMC
handler with the SMC ID by calling DECLARE_SMC_HANDLER macro.

MTK_SIP_SMC_FROM_BL33_TABLE expand the SMC table as switch-case table
statically. DECLARE_SMC_HANDLER wrap SMC handlers with a structure and
put in a section.
During cold boot initialization, in MTK_EARLY_PLAT_INIT level parse the
section to assign each handler with an index. Each SMC request can be
identified with switch-case and take the index to call into
corresponding SMC handler.

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

3 years agofeat(mediatek): introduce mtk init framework
Leon Chen [Mon, 20 Jun 2022 02:25:35 +0000 (10:25 +0800)]
feat(mediatek): introduce mtk init framework

Provide six initcall levels for drivers/modules initialize HW
controllers or runtime arguments during cold boot.

The initcall level cold boot execution order:

-MTK_EARLY_PLAT_INIT
Call before MMU enabled.

-MTK_ARCH_INIT
MMU Enabled, arch related init(GiC init, interrupt type registration).

-MTK_PLAT_SETUP_0_INIT
MTK driver init level 0.

-MTK_PLAT_SETUP_1_INIT
MTK driver init level 1.

-MTK_PLAT_RUNTIME_INIT
MTK driver init. After this initcall, TF-A handovers to MTK 2nd
bootloader.

-MTK_PLAT_BL33_DEFER_INIT
MTK 2nd bootloader traps to TF-A before handover to rich OS.
This initcall executed in the trap handler(boot_to_kernel).

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

3 years agorefactor(mediatek): partition MTK SiP SMC ID
Leon Chen [Sun, 29 May 2022 14:25:44 +0000 (22:25 +0800)]
refactor(mediatek): partition MTK SiP SMC ID

Manage MTK SiP SMC ID with macros for 32/64 bit and
function declaration code generation.
Partition SMC ID with different exception level sources.

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

3 years agofeat(mediatek): extend SiP vendor subscription events
Leon Chen [Fri, 20 May 2022 01:59:07 +0000 (09:59 +0800)]
feat(mediatek): extend SiP vendor subscription events

Leverage pubsub event framework to customize vendor's
event for better software modularization instead of adding
call entries in abstraction layer for customized platform function
with wrap-up define.

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

3 years agofeat(stm32mp1): allow to override MTD base offset
Lionel Debieve [Wed, 13 Jan 2021 06:59:59 +0000 (07:59 +0100)]
feat(stm32mp1): allow to override MTD base offset

Add an external parameter STM32MP_FORCE_MTD_START_OFFSET that allows to
override the default FIP offset used to read the first programmed image.
It can be used for NOR, RAW_NAND or SPI_NAND boot device.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Change-Id: Ibe664aae0e5ee90dd6629e544c9e034d751fffed

3 years agofeat(stm32mp1): manage second NAND OTP on STM32MP13
Yann Gautier [Wed, 18 Aug 2021 13:03:40 +0000 (15:03 +0200)]
feat(stm32mp1): manage second NAND OTP on STM32MP13

On STM32MP13, 2 OTP fuses can be used to configure NAND devices.
By default OTP CFG9 is used for sNAND. A new OTP (CFG10) is used
to configure raw NAND. Thanks to bit 0 of CFG10 OTP, this default
configuration can be switched.
For sNAND on STM32MP13, the NAND_PARAM_STORED_IN_OTP is not used.
The sNAND parameters have to be taken from OTP bits.

Change-Id: Ib95e0f9b9e66179a58b07f723ea01dce68b96475
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
3 years agofeat(stm32mp1): add define for external scratch buffer for nand devices
Lionel Debieve [Tue, 13 Apr 2021 15:11:00 +0000 (17:11 +0200)]
feat(stm32mp1): add define for external scratch buffer for nand devices

Override the default platform function to use an external buffer
on STM32MP13 platform.
It allows to use a temporary buffer located at the SRAM1 memory end.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Change-Id: Ibd84bb336c60af24608268916b3a18bb5a0fa3db

3 years agofeat(mtd): add platform function to allow using external buffer
Lionel Debieve [Tue, 13 Apr 2021 11:38:02 +0000 (13:38 +0200)]
feat(mtd): add platform function to allow using external buffer

The scratch buffer could be large. The new function allows
platform to defined its own external buffer or use the default
one.

Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
Change-Id: Ib7ab8ff19fa0a9cb06e364f058b91af58c3c471a

3 years agofeat(libc): introduce __maybe_unused
Yann Gautier [Mon, 29 Aug 2022 07:33:46 +0000 (09:33 +0200)]
feat(libc): introduce __maybe_unused

Checkpatch script doesn't support __unused macro. To avoid errors, add
__maybe_unused macro, which is supported.

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

3 years agoMerge changes I60b3b59e,Ibd5d22b4 into integration
Madhukar Pappireddy [Mon, 29 Aug 2022 13:35:35 +0000 (15:35 +0200)]
Merge changes I60b3b59e,Ibd5d22b4 into integration

* changes:
  fix(ufs): init utrlba/utrlbau with desc_base
  fix(ufs): fix slot base address computation

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 agofix(gpt): correct the GPC enable sequence
Kathleen Capella [Fri, 22 Jul 2022 20:26:36 +0000 (16:26 -0400)]
fix(gpt): correct the GPC enable sequence

Since GPC control register fields are permitted to be cached in a TLB,
invalidate TLB after setting fields to ensure future checks are using
the updated values.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I95630b40b673363bbf74da2705deca03089fff3a

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 agodocs(marvell): document UART image downloading
Pali Rohár [Tue, 9 Aug 2022 11:15:09 +0000 (13:15 +0200)]
docs(marvell): document UART image downloading

For A3K there are two different tools for booting Armada37x0 platform
over UART, one from Marvell and second from CZ.NIC. For A8K there is
just one my own mvebu64boot tool.

Add documentation how to build these tools and how to download TF-A
image over UART to boot TF-A without flashing it to non-volatile
storage.

Signed-off-by: Pali Rohár <pali@kernel.org>
Change-Id: Ifa03584010a9c40496a34e6d5b9f3b78cb2cc89b

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