]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agodocs(spm): add threat model for el3 spmc
Shruti Gupta [Tue, 27 Sep 2022 13:21:13 +0000 (14:21 +0100)]
docs(spm): add threat model for el3 spmc

Threat model for EL3 SPMC.
The mitigations are based on the guidance
provided in FF-A v1.1 EAC0 spec.

Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: I7f4c9370b6eefe6d1a7d1afac27e8b3a7b476072

3 years agodocs(spm): add design documentation
Shruti Gupta [Tue, 20 Sep 2022 08:53:53 +0000 (09:53 +0100)]
docs(spm): add design documentation

Add documentation how to build EL3 SPMC,
briefly describes all FF-A interfaces,
SP boot flow, SP Manifest, Power Management,
Boot Info Protocol, Runtime model and state
transition and Interrupt Handling.

Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: I630df1d50a4621b344a09e462563eacc90109de4

3 years agoMerge changes from topic "morello-dt-fix" into integration
Manish V Badarkhe [Wed, 14 Sep 2022 10:35:29 +0000 (12:35 +0200)]
Merge changes from topic "morello-dt-fix" into integration

* changes:
  fix(morello): dts: remove #a-c and #s-c from memory node
  fix(morello): dts: fix GICv3 compatible string
  fix(morello): dts: fix DT node naming
  fix(morello): dts: fix SCMI shmem/mboxes grouping
  fix(morello): dts: use documented DPU compatible string
  fix(morello): dts: fix DP SMMU IRQ ordering
  fix(morello): dts: fix SMMU IRQ ordering
  fix(morello): dts: add model names
  fix(morello): dts: fix stdout-path target

3 years agoMerge changes from topic "xilinx-pm-misc-changes" into integration
Joanna Farley [Wed, 14 Sep 2022 10:01:37 +0000 (12:01 +0200)]
Merge changes from topic "xilinx-pm-misc-changes" into integration

* changes:
  fix(xilinx): update define for ZynqMP specific functions
  fix(xilinx): remove unnecessary header include
  fix(xilinx): include missing header

3 years agoMerge changes from topic "xilinx-misc-changes" into integration
Joanna Farley [Wed, 14 Sep 2022 09:52:29 +0000 (11:52 +0200)]
Merge changes from topic "xilinx-misc-changes" into integration

* changes:
  chore(zynqmp): fix comment style in zynqmp_def.h
  chore(versal): add missing dot at the end of sentence
  fix(zynqmp): remove additional 0x in %p print
  fix(versal): fix Misra-C violations in bl31_setup and pm_svc_main

3 years agofix(xilinx): update define for ZynqMP specific functions
Rajan Vaja [Wed, 31 Aug 2022 10:54:34 +0000 (12:54 +0200)]
fix(xilinx): update define for ZynqMP specific functions

Instead of exclude code for Versal, define only for ZynqMP.
For new platforms this code should be excluded so instead of
excluding for all platform, define only for ZynqMP.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I45798dadc0f374c5794f517f7d0158675a75caa9

3 years agofix(xilinx): remove unnecessary header include
Rajan Vaja [Wed, 31 Aug 2022 10:54:40 +0000 (12:54 +0200)]
fix(xilinx): remove unnecessary header include

Platform specific IPI header inclusion is not required
in common IPI source file. So remove inclusion of the same.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I6686757f00370c6ec42b5ee2c44ea5cd13da70c0

3 years agofix(xilinx): include missing header
Rajan Vaja [Wed, 31 Aug 2022 10:54:38 +0000 (12:54 +0200)]
fix(xilinx): include missing header

pm_ipi.h needs some definitions from stddef.h so include it.
Currently it is working because required file is included
indirectly due to other includes.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ic4a6c469c3152e21eaeb365ba96f3a29f14593bf

3 years agochore(zynqmp): fix comment style in zynqmp_def.h
Michal Simek [Wed, 14 Sep 2022 07:35:09 +0000 (09:35 +0200)]
chore(zynqmp): fix comment style in zynqmp_def.h

Add missing space in one line comment to follow common coding style.

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

3 years agochore(versal): add missing dot at the end of sentence
Michal Simek [Wed, 14 Sep 2022 07:32:47 +0000 (09:32 +0200)]
chore(versal): add missing dot at the end of sentence

Add missing dot at the end of sentence.

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

3 years agofix(zynqmp): remove additional 0x in %p print
Michal Simek [Wed, 14 Sep 2022 07:29:50 +0000 (09:29 +0200)]
fix(zynqmp): remove additional 0x in %p print

%p is already printing value in hex that's why 0x prefix is not needed.
Origin message looks like this
"NOTICE:  Can't read DT at 0x0x100000"
and after fixing
"NOTICE:  Can't read DT at 0x100000"

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

3 years agofix(versal): fix Misra-C violations in bl31_setup and pm_svc_main
Michal Simek [Tue, 13 Sep 2022 09:48:53 +0000 (11:48 +0200)]
fix(versal): fix Misra-C violations in bl31_setup and pm_svc_main

Fix some Misra-C violations. The similar fixes were done by commit
eb0d2b17722c ("fix(zynqmp): resolve misra R15.6 warnings") and commit
dd1fe7178b57 ("fix(zynqmp): resolve misra R14.4 warnings").

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

3 years agoMerge "fix(zynqmp): ensure memory write finish with dsb()" into integration
Joanna Farley [Wed, 14 Sep 2022 07:14:34 +0000 (09:14 +0200)]
Merge "fix(zynqmp): ensure memory write finish with dsb()" into integration

3 years agoMerge "fix(cpus): workaround for Cortex-A710 2216384" into integration
Bipin Ravi [Tue, 13 Sep 2022 18:59:43 +0000 (20:59 +0200)]
Merge "fix(cpus): workaround for Cortex-A710 2216384" into integration

3 years agofix(zynqmp): ensure memory write finish with dsb()
Tanmay Shah [Tue, 13 Sep 2022 18:10:08 +0000 (11:10 -0700)]
fix(zynqmp): ensure memory write finish with dsb()

GICD reg write must complete before core goes to idle
mode. Achieve this with dsb() barrier instruction in IPI
ISR

Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
Change-Id: I5af42ca901567ee5e54a5434ebe3e673a92cb9be

3 years agoMerge changes Id49d94f6,I35316310 into integration
Joanna Farley [Tue, 13 Sep 2022 08:24:37 +0000 (10:24 +0200)]
Merge changes Id49d94f6,I35316310 into integration

* changes:
  feat(versal): add infrastructure to handle multiple interrupts
  fix(versal): add SGI register call version check

3 years agoMerge "docs(porting-guide): correct typo of "bits" to "bytes"" into integration
Joanna Farley [Tue, 13 Sep 2022 07:37:39 +0000 (09:37 +0200)]
Merge "docs(porting-guide): correct typo of "bits" to "bytes"" into integration

3 years agofeat(versal): add infrastructure to handle multiple interrupts
Tanmay Shah [Fri, 26 Aug 2022 22:06:00 +0000 (15:06 -0700)]
feat(versal): add infrastructure to handle multiple interrupts

Only one hardcode interrupt handler is supported as of now.
This is IPI interrupt between APU and PMC processor.
This patch adds infrastructure to register multiple interrupt
handlers. This infrastructure was used and tested for two
interrupts and so, interrupt id and handler container size is
2 which is defined by MAX_INTR_EL3. Interrupt id is not used
as container index due to size constraints. User is expected to
adjust MAX_INTR_EL3 based on how many interrupts are handled in
TF-A

Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
Change-Id: Id49d94f6773fbb6874ccf89c0d12572efc7e678e

3 years agofix(versal): add SGI register call version check
Tanmay Shah [Fri, 26 Aug 2022 22:13:48 +0000 (15:13 -0700)]
fix(versal): add SGI register call version check

PM_FEATURE_CHECK is supported only for platform
management API. PM_LOAD_PDI command is not intended
for platform management. This patch removes version
check of PM_LOAD_PDI and adds version check of command
that is used for SGI registartion.

Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
Change-Id: I353163109b639acab73120f405a811770e8831a0

3 years agoMerge "chore: use tabs for indentation" into integration
Joanna Farley [Tue, 13 Sep 2022 07:18:57 +0000 (09:18 +0200)]
Merge "chore: use tabs for indentation" into integration

3 years agochore: use tabs for indentation
Jorge Troncoso [Mon, 12 Sep 2022 22:12:01 +0000 (15:12 -0700)]
chore: use tabs for indentation

This patch changes the definition of image_info_t 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: I17af22b4ba60b41cf0b5fa84ac47beeb1536edcc

3 years agodocs(porting-guide): correct typo of "bits" to "bytes"
Max Yu [Thu, 8 Sep 2022 23:21:21 +0000 (23:21 +0000)]
docs(porting-guide): correct typo of "bits" to "bytes"

The CACHE_WRITEBACK_GRANULE is documented to be in bits, but
specifying the value in bits broke a build. Further investigation
suggests that the value should in fact be in bytes. See
https://github.com/ARM-software/arm-trusted-firmware/blob/master/include/arch/aarch64/
smccc_helpers.h#L101
and
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Common-Type-Attributes.html

Change-Id: I9a2b2fbe18d5a58a8f9aeb2726a0623f3484c88e
Signed-off-by: Max Yu <maxlyu@google.com>
3 years agoMerge "fix(mmc): resolve the build error" into integration
Manish Pandey [Mon, 12 Sep 2022 08:42:27 +0000 (10:42 +0200)]
Merge "fix(mmc): resolve the build error" into integration

3 years agofix(mmc): resolve the build error
Jayanth Dodderi Chidanand [Fri, 9 Sep 2022 16:21:24 +0000 (17:21 +0100)]
fix(mmc): resolve the build error

Adding the header file plat/common/common_def.h to
resolve the "SIZE_128" undeclared identifier error.

Change-Id: I399edf4248776f6dd9f93e000b8672cadc71509d
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
3 years agoMerge changes from topic "fix_fip_in_emmc_boot" into integration
Manish Pandey [Thu, 8 Sep 2022 11:40:36 +0000 (13:40 +0200)]
Merge changes from topic "fix_fip_in_emmc_boot" into integration

* changes:
  fix(st): add max size for FIP in eMMC boot part
  feat(mmc): get boot partition size

3 years agoMerge "fix(cpus): workaround for Cortex-A78C erratum 2376749" into integration
Manish V Badarkhe [Thu, 8 Sep 2022 11:27:11 +0000 (13:27 +0200)]
Merge "fix(cpus): workaround for Cortex-A78C erratum 2376749" into integration

3 years agofix(cpus): workaround for Cortex-A78C erratum 2376749
Akram Ahmad [Tue, 6 Sep 2022 10:23:25 +0000 (11:23 +0100)]
fix(cpus): workaround for Cortex-A78C erratum 2376749

Cortex-A78C erratum 2376749 is a Cat B erratum that applies
to revisions r0p1 and r0p2 of the A78C and is currently open.
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/SDEN2004089/latest

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

3 years agoMerge changes Idde51a13,Ife8f1e84 into integration
Manish Pandey [Thu, 8 Sep 2022 10:44:24 +0000 (12:44 +0200)]
Merge changes Idde51a13,Ife8f1e84 into integration

* changes:
  feat(mediatek): add smcc call for MSDC
  refactor(mediatek): refactor plat_sip_calls.h for mt8192/mt8195/mt8186

3 years agofeat(mediatek): add smcc call for MSDC
Bo-Chen Chen [Wed, 22 Jun 2022 11:51:41 +0000 (19:51 +0800)]
feat(mediatek): add smcc call for MSDC

Some registers of MSDC need to be set in ATF, so we add MSDC drivers.

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

3 years agorefactor(mediatek): refactor plat_sip_calls.h for mt8192/mt8195/mt8186
Bo-Chen Chen [Thu, 8 Sep 2022 05:14:47 +0000 (13:14 +0800)]
refactor(mediatek): refactor plat_sip_calls.h for mt8192/mt8195/mt8186

- MTK_SIP_KERNEL_DFD can be moved to mtk_sip_def.h.
- Remove unused MTK_SIP_* definations which are already defined in
  mtk_sip_def.h.

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

3 years agoMerge "feat(ti-k3): add support for J784S4 SoCs" into integration
Madhukar Pappireddy [Wed, 7 Sep 2022 22:18:24 +0000 (00:18 +0200)]
Merge "feat(ti-k3): add support for J784S4 SoCs" into integration

3 years agoMerge changes from topic "stm32mp15-dt-updates" into integration
Madhukar Pappireddy [Wed, 7 Sep 2022 13:38:06 +0000 (15:38 +0200)]
Merge changes from topic "stm32mp15-dt-updates" into integration

* changes:
  refactor(stm32mp15-fdts): remove timers15 node
  refactor(stm32mp15-fdts): remove unused secure-status properties
  refactor(stm32mp15-fdts): remove RCC secure-status

3 years agoMerge "refactor(renesas): remove mbedtls_common makefile inclusion" into integration
Manish V Badarkhe [Wed, 7 Sep 2022 11:08:42 +0000 (13:08 +0200)]
Merge "refactor(renesas): remove mbedtls_common makefile inclusion" into integration

3 years agorefactor(renesas): remove mbedtls_common makefile inclusion
Manish V Badarkhe [Wed, 29 Jun 2022 13:12:50 +0000 (14:12 +0100)]
refactor(renesas): remove mbedtls_common makefile inclusion

Renesas platform does not support crypto, but mbedtls_common.mk
is still included in its makefile. Therefore, this inclusion
was removed to avoid un-necessary compilation of mbedTLS source.

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

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 agofix(cpus): workaround for Cortex-A710 2216384
Jayanth Dodderi Chidanand [Thu, 1 Sep 2022 21:09:54 +0000 (22:09 +0100)]
fix(cpus): workaround for Cortex-A710 2216384

Cortex-A710 erratum 2216384 is a Cat B erratum that applies to revisions
r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set
CPUACTLR5_EL1[17] to 1 and applying an instruction patching sequence.
Setting this bit, along with these instructions will prevent the
deadlock, and thereby avoids the reset of the processor.

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

Change-Id: I2821591c23f854c12111288ad1fd1aef45db6add
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
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 agofeat(ti-k3): add support for J784S4 SoCs
Hari Nagalla [Mon, 22 Aug 2022 19:04:52 +0000 (14:04 -0500)]
feat(ti-k3): add support for J784S4 SoCs

The J784S4 SoC has two quad Cortex-A72 core clusters. This is the first
SoC in the K3 family with Quad cores in a A-72 cluster. So, a new board
configuration is introduced to support quad core clusters on the J784S4
SoC of the K3 family of devices.

See J784S4 Technical Reference Manual (SPRUJ52 - JUNE 2022)
for further details: http://www.ti.com/lit/zip/spruj52

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Change-Id: I0ed1f14ab32a56ae06e3df3161ace4597d14a48d

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