]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofeat(cpu): add library support for Hunter ELP
Harrison Mutai [Mon, 3 Oct 2022 11:48:35 +0000 (12:48 +0100)]
feat(cpu): add library support for Hunter ELP

Add basic CPU library code to support the Hunter ELP CPU in TF-A.
Hunter-ELP adds v9.2 architecture support and is derived from
Makalu-ELP. As such, the library code is adapted from the
Makalu-ELP support library.

Change-Id: I7e93b9af6b1f0bc4d08c3cf5caf071d2cbdbc89f
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
3 years agoMerge "chore(libc): clean up includes in lib/libc/printf.c" into integration
Joanna Farley [Fri, 30 Sep 2022 15:50:15 +0000 (17:50 +0200)]
Merge "chore(libc): clean up includes in lib/libc/printf.c" into integration

3 years agoMerge "docs(changelog): fix incorrect documentation title" into integration
Lauren Wehrmeister [Fri, 30 Sep 2022 13:35:42 +0000 (15:35 +0200)]
Merge "docs(changelog): fix incorrect documentation title" into integration

3 years agoMerge "fix(zynqmp): resolve MISRA-C:2012 R.10.1 warnings" into integration
Joanna Farley [Fri, 30 Sep 2022 12:35:25 +0000 (14:35 +0200)]
Merge "fix(zynqmp): resolve MISRA-C:2012 R.10.1 warnings" into integration

3 years agoMerge "fix(ras): trap "RAS error record" accesses only for NS" into integration
Manish Pandey [Fri, 30 Sep 2022 12:14:26 +0000 (14:14 +0200)]
Merge "fix(ras): trap "RAS error record" accesses only for NS" into integration

3 years agofix(zynqmp): resolve MISRA-C:2012 R.10.1 warnings
HariBabu Gattem [Fri, 30 Sep 2022 06:59:11 +0000 (23:59 -0700)]
fix(zynqmp): resolve MISRA-C:2012 R.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: HariBabu Gattem <haribabu.gattem@amd.com>
Change-Id: I0f974e9d6f63dddfab55d55c952a57645d931e40

3 years agodocs(changelog): fix incorrect documentation title
Chris Kay [Thu, 29 Sep 2022 15:42:23 +0000 (16:42 +0100)]
docs(changelog): fix incorrect documentation title

Change-Id: Idb4b174f65891ba406f83c213c80ebb8a6ba0b81
Signed-off-by: Chris Kay <chris.kay@arm.com>
3 years agoMerge "feat(ls1043ardb): update ddr configure for ls1043ardb-pd" into integration
Madhukar Pappireddy [Thu, 29 Sep 2022 14:45:48 +0000 (16:45 +0200)]
Merge "feat(ls1043ardb): update ddr configure for ls1043ardb-pd" into integration

3 years agoMerge "fix(rme): update FVP platform token" into integration
Manish Pandey [Thu, 29 Sep 2022 14:39:01 +0000 (16:39 +0200)]
Merge "fix(rme): update FVP platform token" into integration

3 years agofix(rme): update FVP platform token
Mate Toth-Pal [Mon, 19 Sep 2022 14:46:49 +0000 (16:46 +0200)]
fix(rme): update FVP platform token

Update test CCA Platform token in fvp_plat_attest_token.c to be
up-to-date with RMM spec Beta0.

Change-Id: I0f5e2ac1149eb6f7a93a997682f41d90e109a049
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
3 years agoMerge "fix(rmmd): return X4 output value" into integration
Manish V Badarkhe [Thu, 29 Sep 2022 08:25:57 +0000 (10:25 +0200)]
Merge "fix(rmmd): return X4 output value" into integration

3 years agoMerge "fix(zynqmp): resolve misra 4.6 warnings" into integration
Joanna Farley [Thu, 29 Sep 2022 08:15:01 +0000 (10:15 +0200)]
Merge "fix(zynqmp): resolve misra 4.6 warnings" into integration

3 years agoMerge "feat(rss): add new comms protocols" into integration
Sandrine Bailleux [Thu, 29 Sep 2022 06:20:59 +0000 (08:20 +0200)]
Merge "feat(rss): add new comms protocols" into integration

3 years agofix(ras): trap "RAS error record" accesses only for NS
Manish Pandey [Tue, 27 Sep 2022 13:30:34 +0000 (14:30 +0100)]
fix(ras): trap "RAS error record" accesses only for NS

RAS_TRAP_LOWER_EL_ERR_ACCESS was used to prevent access to RAS error
record registers (RAS ERR* & RAS ERX*) from lower EL's in any security
state. To give more fine grain control per world basis re-purpose this
macro to RAS_TRAP_NS_ERR_REC_ACCESS, which will enable the trap only
if Error record registers are accessed from NS.
This will also help in future scenarios when RAS handling(in Firmware
first handling paradigm)can be offloaded to a secure partition.

This is first patch in series to refactor RAS framework in TF-A.

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

3 years agoMerge "fix(tc): resolve the static-checks errors" into integration
Manish Pandey [Wed, 28 Sep 2022 14:06:45 +0000 (16:06 +0200)]
Merge "fix(tc): resolve the static-checks errors" into integration

3 years agofix(rmmd): return X4 output value
AlexeiFedorov [Fri, 23 Sep 2022 15:57:28 +0000 (16:57 +0100)]
fix(rmmd): return X4 output value

Return values contained in 'smc_result' structure
are shifted down by one register:
X1 written by RMM is returned to NS in X0 and
X5 is returned in X4.

Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: I92907ac3ff3bac8554643ae7c198a4a758c38cb3

3 years agofix(tc): resolve the static-checks errors
Jayanth Dodderi Chidanand [Wed, 28 Sep 2022 10:41:48 +0000 (11:41 +0100)]
fix(tc): resolve the static-checks errors

Converted the space indentation to tabs to fix the
errors listed under tf-static-checks CI job.

Change-Id: Ie911a5befd0eeaa5a2019245cc3c43ad375cd068
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
3 years agofeat(rss): add new comms protocols
Raef Coles [Wed, 15 Jun 2022 13:37:22 +0000 (14:37 +0100)]
feat(rss): add new comms protocols

The current comms protocol (where arguments and return data is embedded
into the MHU message) is now protocol v0. Protocol v1 embeds pointers
into the message, and has the RSS retrieve the data via DMA.

Change-Id: I08d7f09c4eaea673769fde9eee194447a99f1b78
Signed-off-by: Raef Coles <raef.coles@arm.com>
3 years agofeat(ls1043ardb): update ddr configure for ls1043ardb-pd
Chunlei Xu [Wed, 28 Sep 2022 08:58:15 +0000 (16:58 +0800)]
feat(ls1043ardb): update ddr configure for ls1043ardb-pd

DDR4 Chip is EOL during redesign of ls1043ardb pd version. The replacement from MT is MT40A1G8SA-062E:R.
New ddr configure is compatible with both pd and old version of ls1043ardb.

Signed-off-by: Chunlei Xu <chunlei.xu@nxp.com>
Change-Id: I714c091a2cf15046438d0723fb55a4410c386ef4

3 years agochore(libc): clean up includes in lib/libc/printf.c
Jorge Troncoso [Wed, 28 Sep 2022 00:35:54 +0000 (17:35 -0700)]
chore(libc): clean up includes in lib/libc/printf.c

stddef.h is needed for the definition of size_t
stdio.h is needed for the declaration of putchar

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

3 years agoMerge "fix(libc): pri*ptr macros for aarch64" into integration
Joanna Farley [Tue, 27 Sep 2022 23:19:28 +0000 (01:19 +0200)]
Merge "fix(libc): pri*ptr macros for aarch64" into integration

3 years agoMerge "feat(tc): add RTC PL031 device tree node" into integration
Sandrine Bailleux [Tue, 27 Sep 2022 11:03:54 +0000 (13:03 +0200)]
Merge "feat(tc): add RTC PL031 device tree node" into integration

3 years agoMerge "docs(maintainers): add myself as TC code owner" into integration
Manish V Badarkhe [Tue, 27 Sep 2022 09:42:46 +0000 (11:42 +0200)]
Merge "docs(maintainers): add myself as TC code owner" into integration

3 years agodocs(maintainers): add myself as TC code owner
Anders Dellien [Wed, 21 Sep 2022 14:56:02 +0000 (15:56 +0100)]
docs(maintainers): add myself as TC code owner

Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: Ic67334bf1a979cb7b7355d0dcca7eb94752c4611

3 years agofix(libc): pri*ptr macros for aarch64
K [Wed, 27 Jul 2022 12:30:49 +0000 (17:30 +0500)]
fix(libc): pri*ptr macros for aarch64

This fix solves problems with using PRI*PTR on aarch64 like so:
error: format '%x' expects argument of type 'unsigned int', but
argument 3 has type 'uintptr_t' {aka 'long unsigned int'}

Change-Id: I135d3e5cea5459f138b20331b5e9472e2e9e566c
Signed-off-by: K <kayo@illumium.org>
3 years agofix(zynqmp): resolve misra 4.6 warnings
HariBabu Gattem [Thu, 22 Sep 2022 09:45:16 +0000 (02:45 -0700)]
fix(zynqmp): resolve 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: HariBabu Gattem <haribabu.gattem@amd.com>
Change-Id: I3779f7b6e074e33cb66ace3bef2117029badce1e

3 years agoMerge "docs(fwu): update firmware update design" into integration
Sandrine Bailleux [Mon, 26 Sep 2022 09:02:51 +0000 (11:02 +0200)]
Merge "docs(fwu): update firmware update design" into integration

3 years agoMerge "refactor(libc): clean up dependencies in libc" into integration
Joanna Farley [Fri, 23 Sep 2022 15:24:01 +0000 (17:24 +0200)]
Merge "refactor(libc): clean up dependencies in libc" into integration

3 years agoMerge changes from topic "bl31_in_sram" into integration
Manish V Badarkhe [Fri, 23 Sep 2022 11:32:09 +0000 (13:32 +0200)]
Merge changes from topic "bl31_in_sram" into integration

* changes:
  feat(sgi): remove override for `ARM_BL31_IN_DRAM` build-option
  feat(sgi): configure SRAM and BL31 size for sgi platform

3 years agoMerge "fix(bl31): fix validate_el3_interrupt_rm preprocessor usage" into integration
Olivier Deprez [Fri, 23 Sep 2022 08:14:13 +0000 (10:14 +0200)]
Merge "fix(bl31): fix validate_el3_interrupt_rm preprocessor usage" into integration

3 years agofeat(sgi): remove override for `ARM_BL31_IN_DRAM` build-option
Rohit Mathew [Fri, 8 Jul 2022 12:00:22 +0000 (13:00 +0100)]
feat(sgi): remove override for `ARM_BL31_IN_DRAM` build-option

RD-N2* variants of Neoverse reference design platforms could be
configured to boot from SRAM or DRAM. Having ARM_BL31_IN_DRAM set to 1
within the common makefile would deter these platforms from having this
flexibility. Remove the default override configuration for
`ARM_BL31_IN_DRAM`.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I8d79969c003a984675cbe705de890b51a1f7f4ea

3 years agofeat(sgi): configure SRAM and BL31 size for sgi platform
Rohit Mathew [Fri, 8 Jul 2022 11:59:29 +0000 (12:59 +0100)]
feat(sgi): configure SRAM and BL31 size for sgi platform

Update SRAM size for Neoverse reference design platforms from 256KB to
512KB. This is required to place and execute BL31 image from the
on-chip SRAM. Additionally, revise BL31 image size to accommodate
larger BL31 images of multi-chip platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I11c2672a1089f24a9fafcf6555b8e1d52032cfde

3 years agoMerge changes from topic "mediatek upstream" into integration
Manish Pandey [Thu, 22 Sep 2022 14:31:49 +0000 (16:31 +0200)]
Merge changes from topic "mediatek upstream" into integration

* changes:
  refactor(mt8188): move platform_def.h to mt8188/include
  feat(mt8188): add MCUSYS support
  feat(mt8188): add armv8.2 support
  feat(mt8188): add DFD control in SiP service
  feat(mt8188): add EMI MPU basic drivers
  feat(mt8188): add DCM driver
  feat(mt8188): add reset and poweroff functions
  feat(mediatek): add more flexibility of mtk_pm.c
  feat(mediatek): add more options for build helper
  feat(mt8188): add LPM driver support
  feat(mt8188): apply ERRATA for CA-78
  fix(mediatek): remove unused cold_boot.[c|h]
  fix(mediatek): wrap cold_boot.h with MTK_SIP_KERNEL_BOOT_ENABLE
  feat(mt8186): add EMI MPU support for SCP and DSP

3 years agorefactor(mt8188): move platform_def.h to mt8188/include
Bo-Chen Chen [Wed, 14 Sep 2022 05:47:59 +0000 (13:47 +0800)]
refactor(mt8188): move platform_def.h to mt8188/include

It is more suitable to place platform_def.h in mt8188/include.

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

3 years agofeat(mt8188): add MCUSYS support
Edward-JW Yang [Fri, 16 Sep 2022 03:30:43 +0000 (11:30 +0800)]
feat(mt8188): add MCUSYS support

Add MCUSYS drivers support for MT8188.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.com>
Change-Id: I84107702a9fd021c37d2997ad25b321a483a1a66

3 years agofeat(mt8188): add armv8.2 support
Edward-JW Yang [Mon, 5 Sep 2022 08:07:00 +0000 (16:07 +0800)]
feat(mt8188): add armv8.2 support

Add armv8.2 support for MT8188.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.com>
Change-Id: I0ac865949ba864fb207ee1f0937092cbabd550de

3 years agofeat(mt8188): add DFD control in SiP service
Fengquan Chen [Wed, 17 Aug 2022 02:42:15 +0000 (10:42 +0800)]
feat(mt8188): add DFD control in SiP service

DFD (Design for Debug) is a debugging tool, which scans flip-flops and
dumps to internal RAM on the WDT reset. After system reboots, those
values could be showed for debugging.

TEST=build pass.
BUG=b:244216434

Signed-off-by: Fengquan Chen <fengquan.chen@mediatek.corp-partner.google.com>
Change-Id: I468036131e941a46bc1ec12d33105146000730d8

3 years agofeat(mt8188): add EMI MPU basic drivers
Dawei Chien [Mon, 5 Sep 2022 11:08:59 +0000 (19:08 +0800)]
feat(mt8188): add EMI MPU basic drivers

EMI MPU stands for external memory interface memory protect unit.
MT8188 supports 32 regions and 16 domains.

Signed-off-by: Dawei Chien <dawei.chien@mediatek.com>
Change-Id: I9bbeb355665401cc71dda6db22157d9d751570d1

3 years agofeat(mt8188): add DCM driver
Garmin Chang [Mon, 5 Sep 2022 09:44:02 +0000 (17:44 +0800)]
feat(mt8188): add DCM driver

DCM means dynamic clock management, and it can dynamically
slow down or gate clocks during CPU or bus idle.

1. Add MCUSYS related DCM drivers.
2. Enable MCUSYS related DCM by default.

Signed-off-by: Garmin Chang <garmin.chang@mediatek.com>
Change-Id: I131354d72bbc190af504e9639bcc85a720e2bb17

3 years agofeat(mt8188): add reset and poweroff functions
Rex-BC Chen [Fri, 29 Jul 2022 08:38:43 +0000 (16:38 +0800)]
feat(mt8188): add reset and poweroff functions

- Add mtk_pm_system_reset_cros() for cros reset.
- Add mtk_pm_system_off_cros() for cros power-off.

TEST=build pass
BUG=b:236331724

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

3 years agofeat(mediatek): add more flexibility of mtk_pm.c
Edward-JW Yang [Mon, 5 Sep 2022 08:36:31 +0000 (16:36 +0800)]
feat(mediatek): add more flexibility of mtk_pm.c

To use power manager function more easier, we add some drivers to let
the implementation easier.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.com>
Change-Id: Ibc6e1680c4534592ed37de49da39b6667f468ea1

3 years agofeat(mediatek): add more options for build helper
Edward-JW Yang [Mon, 5 Sep 2022 07:55:54 +0000 (15:55 +0800)]
feat(mediatek): add more options for build helper

To support more LPM feature, we add more options for build helper.

Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.com>
Change-Id: I17eeedbe0674e321f1891074ba0c72d858841dae

3 years agofeat(mt8188): add LPM driver support
Bo-Chen Chen [Mon, 5 Sep 2022 07:53:32 +0000 (15:53 +0800)]
feat(mt8188): add LPM driver support

Add LPM drivers and create rules.mk for makefile.

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

3 years agofeat(mt8188): apply ERRATA for CA-78
Bo-Chen Chen [Wed, 14 Sep 2022 02:03:23 +0000 (10:03 +0800)]
feat(mt8188): apply ERRATA for CA-78

Apply ERRATA_A78_2376745 and ERRATA_A78_2395406 for CA-78.

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

3 years agofix(mediatek): remove unused cold_boot.[c|h]
Bo-Chen Chen [Thu, 8 Sep 2022 07:32:27 +0000 (15:32 +0800)]
fix(mediatek): remove unused cold_boot.[c|h]

We are not using cold_boot.[c|h] for mt8188, so remove them first.

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

3 years agofix(mediatek): wrap cold_boot.h with MTK_SIP_KERNEL_BOOT_ENABLE
Bo-Chen Chen [Thu, 8 Sep 2022 07:31:05 +0000 (15:31 +0800)]
fix(mediatek): wrap cold_boot.h with MTK_SIP_KERNEL_BOOT_ENABLE

We should wrap cold_boot.h with MTK_SIP_KERNEL_BOOT_ENABLE to avoid
build error.

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

3 years agofeat(mt8186): add EMI MPU support for SCP and DSP
Allen-KH Cheng [Mon, 12 Sep 2022 09:10:24 +0000 (17:10 +0800)]
feat(mt8186): add EMI MPU support for SCP and DSP

1. Enable domain D0 and D3 (SCP) access 0x50000000~0x5109FFFF.
2. Enable domain D4 (DSP & AFE) access 0x60000000~0x610FFFFF.

BUG=b:204229221
TEST=build pass

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.corp-partner.google.com>
Change-Id: I6a7d2eafaaa7a558829a0d741dfb3307885e3b98

3 years agorefactor(libc): clean up dependencies in libc
Claus Pedersen [Mon, 12 Sep 2022 22:42:58 +0000 (22:42 +0000)]
refactor(libc): clean up dependencies in libc

- Removing platform dependencies from libc modules.
- Replacing panicking with actual error handling.
- Debug macros are included indirectly from assert.h. Removing
  "platform_def.h" from assert.h and adding "common/debug.h"
  where the macros are used.
- Removing hack for fixing PLAT_LOG_LEVEL_ASSERT to 40.
  Instead removing assert with expression, as this
  does not provide additional information.

Signed-off-by: Claus Pedersen <claustbp@google.com>
Change-Id: Icc201ea7b63c1277e423c1cfd13fd6816c2bc568

3 years agoMerge "feat(pauth): add/modify helpers to support QARMA3" into integration
Manish Pandey [Thu, 22 Sep 2022 09:59:39 +0000 (11:59 +0200)]
Merge "feat(pauth): add/modify helpers to support QARMA3" into integration

3 years agoMerge "fix(synquacer): increase size of BL33" into integration
Manish V Badarkhe [Thu, 22 Sep 2022 08:46:06 +0000 (10:46 +0200)]
Merge "fix(synquacer): increase size of BL33" into integration

3 years agoMerge "feat(versal_net): add support for QEMU COSIM platform" into integration
Joanna Farley [Thu, 22 Sep 2022 08:22:10 +0000 (10:22 +0200)]
Merge "feat(versal_net): add support for QEMU COSIM platform" into integration

3 years agoMerge "docs(maintainers): update xilinx record to cover docs" into integration
Joanna Farley [Thu, 22 Sep 2022 08:15:38 +0000 (10:15 +0200)]
Merge "docs(maintainers): update xilinx record to cover docs" into integration

3 years agodocs(maintainers): update xilinx record to cover docs
Michal Simek [Thu, 22 Sep 2022 06:50:07 +0000 (08:50 +0200)]
docs(maintainers): update xilinx record to cover docs

Recently new Xilinx Versal NET platform has been merged but documentation
cover only zynqmp. Fix the fragment to cover all Xilinx documentation.

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

3 years agofeat(versal_net): add support for QEMU COSIM platform
Sai Pavan Boddu [Thu, 8 Sep 2022 10:39:04 +0000 (16:09 +0530)]
feat(versal_net): add support for QEMU COSIM platform

QEMU COSIM platform is equivalent to qemu with additional cosim
extensions, so just switching platform_id to QEMU if QEMU_COSIM is
detected.

Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I922d10b1605c7f900158fa7fbe82571d3b9d4792

3 years agofix(synquacer): increase size of BL33
Jassi Brar [Wed, 14 Sep 2022 20:41:43 +0000 (15:41 -0500)]
fix(synquacer): increase size of BL33

Increase the max possible size of BL33 from 1MB to 2MB.
For example, edk2 is usually bigger than 1MB

Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Change-Id: Idd4762e25e623de145c65f31cf2dfe1fee466a74

3 years agoMerge "docs(build): update GCC to 11.3.Rel1 version" into integration
Joanna Farley [Wed, 21 Sep 2022 16:43:02 +0000 (18:43 +0200)]
Merge "docs(build): update GCC to 11.3.Rel1 version" into integration

3 years agoMerge changes from topic "xilinx-versal-net" into integration
Joanna Farley [Wed, 21 Sep 2022 16:29:58 +0000 (18:29 +0200)]
Merge changes from topic "xilinx-versal-net" into integration

* changes:
  feat(versal-net): add support for platform management
  feat(versal-net): add support for IPI
  feat(versal-net): add SMP support for Versal NET
  feat(versal-net): add support for Xilinx Versal NET platform
  feat(versal-net): add documentation for Versal NET SoC

3 years agofix(bl31): fix validate_el3_interrupt_rm preprocessor usage
Marco Felsch [Wed, 21 Sep 2022 15:37:01 +0000 (17:37 +0200)]
fix(bl31): fix validate_el3_interrupt_rm preprocessor usage

Fix the "#if defined(FOO)" usage introduced by commit 7c2fe62f1
("fix(bl31): allow use of EHF with S-EL2 SPMC") since the defines are
always passed as -DFOO=0 or as -DFOO=1. The "#if defined(FOO)" will now
always be true which is wrong.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Change-Id: I84fb144debc9899727a1fc021acdd59b4a6f0171

3 years agofeat(versal-net): add support for platform management
Jay Buddhabhatti [Mon, 5 Sep 2022 09:56:32 +0000 (02:56 -0700)]
feat(versal-net): add support for platform management

Add support for PM EEMI interface for Versal_net. Also use PM
APIs in psci ops. Added TFA_NO_PM flag to disable PM functionality.

Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: If2b2941c868bc9b0850d7f3adb81eac0e660c149

3 years agofeat(versal-net): add support for IPI
Michal Simek [Mon, 19 Sep 2022 12:04:55 +0000 (14:04 +0200)]
feat(versal-net): add support for IPI

Add support to send IPI to firmware.

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

3 years agoMerge "fix(imx8m): move caam init after serial init" into integration
Madhukar Pappireddy [Tue, 20 Sep 2022 13:12:04 +0000 (15:12 +0200)]
Merge "fix(imx8m): move caam init after serial init" into integration

3 years agofix(imx8m): move caam init after serial init
Andrey Zhizhikin [Mon, 19 Sep 2022 18:49:16 +0000 (20:49 +0200)]
fix(imx8m): move caam init after serial init

CAAM provides serial output during initialization, but the serial init
occurs after CAAM. This leads to serial output produced by CAAM init
function to be omitted and not displayed.

Change the order of initialization and call CAAM init after Serial. This
has no impact as Serial does not require CAAM to be initialized upfront.

Fixes: 2502709f60de ("plat: imx8m: Add caam module init on imx8m")
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Cc: Jacky Bai <ping.bai@nxp.com>
Change-Id: I09c0a5474a1babfb0b53c4455891689ec08b5bdb

3 years agoMerge "fix(imx8m): correct serial output for HAB JR0" into integration
Madhukar Pappireddy [Tue, 20 Sep 2022 13:11:25 +0000 (15:11 +0200)]
Merge "fix(imx8m): correct serial output for HAB JR0" into integration

3 years agofeat(versal-net): add SMP support for Versal NET
Michal Simek [Mon, 19 Sep 2022 11:52:54 +0000 (13:52 +0200)]
feat(versal-net): add SMP support for Versal NET

Add SMP support for Versal NET via register access.

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

3 years agofeat(versal-net): add support for Xilinx Versal NET platform
Michal Simek [Wed, 31 Aug 2022 14:45:14 +0000 (16:45 +0200)]
feat(versal-net): add support for Xilinx Versal NET platform

New SoC is a78 based with gicv3 and uart over pl011. Communication
interfaces are similar to Versal platform. System starts with Xilinx PLM
firmware which loads TF-A(bl31) to DDR, which is already configured, and
jumps to it. PLM also prepare handoff structure for TF-A with information
what components were load and flags which indicate which EL level SW should
be started.

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

3 years agofix(imx8m): correct serial output for HAB JR0
Andrey Zhizhikin [Mon, 19 Sep 2022 18:34:45 +0000 (20:34 +0200)]
fix(imx8m): correct serial output for HAB JR0

Serial output is missing the EOL marker, which makes the output garbled.

Add EOL to the output, which adds a newline and makes log output
consistent.

Fixes: 77850c96f23b ("feat(plat/imx8m): do not release JR0 to NS if HAB is using it")
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Cc: Franck LENORMAND <franck.lenormand@nxp.com>
Cc: Jacky Bai <ping.bai@nxp.com>
Change-Id: I58b67f441016122bc9361d7224d310522917eff0

3 years agoMerge "fix(zynqmp): resolve the misra 4.6 warnings" into integration
Joanna Farley [Mon, 19 Sep 2022 16:23:28 +0000 (18:23 +0200)]
Merge "fix(zynqmp): resolve the misra 4.6 warnings" into integration

3 years agofeat(versal-net): add documentation for Versal NET SoC
Michal Simek [Wed, 31 Aug 2022 11:05:57 +0000 (13:05 +0200)]
feat(versal-net): add documentation for Versal NET SoC

Add description for Versal NET SoC.

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

3 years agofix(zynqmp): resolve the misra 4.6 warnings
HariBabu Gattem [Fri, 16 Sep 2022 05:35:11 +0000 (22:35 -0700)]
fix(zynqmp): 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.

Change-Id: Id85e69b29b124052b4a87462ce27fcdfc00c13c9
Signed-off-by: HariBabu Gattem <haribabu.gattem@amd.com>
3 years agoMerge "feat(versal): update macro name to generic and move to common place" into...
Joanna Farley [Fri, 16 Sep 2022 08:56:59 +0000 (10:56 +0200)]
Merge "feat(versal): update macro name to generic and move to common place" into integration

3 years agoMerge changes from topic "provencore-spd" into integration
Joanna Farley [Fri, 16 Sep 2022 08:52:37 +0000 (10:52 +0200)]
Merge changes from topic "provencore-spd" into integration

* changes:
  feat(zynqmp): add support for ProvenCore
  feat(services): add a SPD for ProvenCore
  feat(gic): add APIs to raise NS and S-EL1 SGIs

3 years agoMerge changes from topic "RDN2_WARM_REBOOT_WITH_SGI" into integration
Manish V Badarkhe [Fri, 16 Sep 2022 08:27:21 +0000 (10:27 +0200)]
Merge changes from topic "RDN2_WARM_REBOOT_WITH_SGI" into integration

* changes:
  feat(sgi): enable css implementation of warm reset
  feat(scmi): send powerdown request to online secondary cpus
  feat(plat/arm/css): add interrupt handler for reboot request
  refactor(psci): move psci_do_pwrdown_sequence() out of private header
  feat(plat/arm/css): add per-cpu power down support for warm reset
  feat(scmi): set warm reboot entry point
  fix(gicv3): update the affinity mask to 8 bit

3 years agodocs(fwu): update firmware update design
Manish V Badarkhe [Mon, 4 Jul 2022 09:00:29 +0000 (10:00 +0100)]
docs(fwu): update firmware update design

Refactored legacy firmware design and added details about PSA
firmware updates.

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

3 years agofeat(zynqmp): add support for ProvenCore
Jeremie Corbier [Tue, 7 Sep 2021 09:49:58 +0000 (11:49 +0200)]
feat(zynqmp): add support for ProvenCore

ProvenCore requires secure SGIs to be handled at S-EL1. This patch
overrides the default ZynqMP configuration to handle them at EL3 in case
ProvenCore SPD is enabled.

Signed-off-by: Jeremie Corbier <jeremie.corbier@provenrun.com>
Signed-off-by: Mélanie Favre <melanie.favre@provenrun.com>
Change-Id: I2e36d2983f82fbb9b7acf7e18791b8ed92811b60

3 years agofeat(services): add a SPD for ProvenCore
Florian Lugou [Wed, 8 Sep 2021 10:42:54 +0000 (12:42 +0200)]
feat(services): add a SPD for ProvenCore

Adds a dispatcher for ProvenCore based on the test secure payload
dispatcher.

Signed-off-by: Florian Lugou <florian.lugou@provenrun.com>
Change-Id: I978afc3af6a6f65791655685a7bc80070673c9f3

3 years agofeat(sgi): enable css implementation of warm reset
Pranav Madhu [Wed, 27 Jul 2022 08:31:24 +0000 (14:01 +0530)]
feat(sgi): enable css implementation of warm reset

Enable the CSS implementation of the warm reset for the rdn2 platform.

In addition to these  changes, fix coding style issues that are not
directly related to the code being introduced in this patch.

Change-Id: I75128d8bbcccbc26cf1e904691c7ef71349c622f
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agofeat(scmi): send powerdown request to online secondary cpus
Pranav Madhu [Fri, 22 Jul 2022 18:16:11 +0000 (23:46 +0530)]
feat(scmi): send powerdown request to online secondary cpus

To initiate a reset or reboot, the nonsecure OS invokes the PSCI
SYSTEM_RESET function from any one core. As per the PSCI specification,
it is the responsibility of firmware to implement the system view of
the reset or reboot operation. For the platforms supported by CSS,
trigger the reset/reboot operation by sending an SGI to rest all CPUs
which are online. The CPUs respond to this interrupt by initiating its
powerdown sequence.

In addition to these changes, fix coding style issues that are not
directly related to the code being introduced in this patch.

Change-Id: I547253ee28ef7eefa78180d016893671a406bbfa
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agofeat(plat/arm/css): add interrupt handler for reboot request
Pranav Madhu [Wed, 27 Jul 2022 07:42:27 +0000 (13:12 +0530)]
feat(plat/arm/css): add interrupt handler for reboot request

Add platform specific interrupt handler for handling the reboot of
all CPU's. On shutdown/reboot, only one CPU invoke PSCI and enter into
trusted firmware. The CPU which entered trusted firmware signals the
rest of the cores which are online using SGI to initiate power down
sequence. On receiving the SGI, the handler will power down the
GIC redistributor interface of the respective core, configure the power
control register and power down the CPU by executing wfi.

In addition to these changes, fix coding style issues that are not
directly related to the code being introduced in this patch.

Change-Id: I4917dfdc47be5ce7367bee629486a6344cdd706f
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agorefactor(psci): move psci_do_pwrdown_sequence() out of private header
Pranav Madhu [Fri, 22 Jul 2022 17:41:16 +0000 (23:11 +0530)]
refactor(psci): move psci_do_pwrdown_sequence() out of private header

Move the psci_do_pwrdown_sequence() function declaration from PSCI
private header to common header. The psci_do_pwrdown_sequence is
required to support warm reset, where each CPU need to execute the
powerdown sequence.

Change-Id: I298e7a120be814941fa91c0b001002a080e56263
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agofeat(plat/arm/css): add per-cpu power down support for warm reset
Pranav Madhu [Wed, 27 Jul 2022 07:19:24 +0000 (12:49 +0530)]
feat(plat/arm/css): add per-cpu power down support for warm reset

Add a new function to setup a SGI interrupt that will be used to trigger
a request for per-cpu power down when executing the PSCI SYSTEM_RESET
request. This will be used on CSS platform that require all the CPUs to
execute the CPU specific power down sequence to complete a warm reboot
sequence in which only the CPUs are power cycled.

Change-Id: I80da0f6c3cd0c5c442c82239ba1e1f773821a7f5
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agofeat(scmi): set warm reboot entry point
Pranav Madhu [Sat, 11 Dec 2021 16:53:25 +0000 (22:23 +0530)]
feat(scmi): set warm reboot entry point

Before issuing the system power down command, set the trusted mailbox
to 0. This will ensure that in the case of a warm/cold reset, the
primary CPU executes from the cold boot sequence, clearing any stale
jump address at this location.

Change-Id: I491ef5baf7a6728acd7e90e4558939ba77b8f9bf
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agofix(gicv3): update the affinity mask to 8 bit
Pranav Madhu [Mon, 1 Aug 2022 08:27:52 +0000 (13:57 +0530)]
fix(gicv3): update the affinity mask to 8 bit

The GIC ICC_SGI0R_EL1 register's affinity fields are 8bit wide for GIC
v3 and v4. Fix the SGIR_AFF_MASK variable accordingly.

Change-Id: I09f3fdd006708b40162776620f82abcfc6c3f782
Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
3 years agoMerge "fix: 'sp_mk_generator.py' reference to undef var" into integration
Manish Pandey [Thu, 15 Sep 2022 12:28:34 +0000 (14:28 +0200)]
Merge "fix: 'sp_mk_generator.py' reference to undef var" into integration

3 years agofeat(tc): add RTC PL031 device tree node
Rupinderjit Singh [Mon, 12 Sep 2022 16:25:32 +0000 (17:25 +0100)]
feat(tc): add RTC PL031 device tree node

It enables RTC PL031 driver in kernel.

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

3 years agoMerge "feat(gicv3): validate multichip data for GIC-700" into integration
Manish Pandey [Thu, 15 Sep 2022 09:04:41 +0000 (11:04 +0200)]
Merge "feat(gicv3): validate multichip data for GIC-700" into integration

3 years agoMerge "fix(context mgmt): remove explicit ICC_SRE_EL2 register read" into integration
Manish Pandey [Thu, 15 Sep 2022 08:49:38 +0000 (10:49 +0200)]
Merge "fix(context mgmt): remove explicit ICC_SRE_EL2 register read" into integration

3 years agoMerge "fix(versal): route GIC IPI interrupts during setup" into integration
Joanna Farley [Thu, 15 Sep 2022 07:16:20 +0000 (09:16 +0200)]
Merge "fix(versal): route GIC IPI interrupts during setup" into integration

3 years agoMerge "fix(zynqmp): move debug bl31 based address back to OCM" into integration
Joanna Farley [Thu, 15 Sep 2022 07:15:21 +0000 (09:15 +0200)]
Merge "fix(zynqmp): move debug bl31 based address back to OCM" into integration

3 years agofix(versal): route GIC IPI interrupts during setup
Tanmay Shah [Tue, 13 Sep 2022 17:24:27 +0000 (10:24 -0700)]
fix(versal): route GIC IPI interrupts during setup

If primary core is down, then IPI interrupt should be
routed to another core for processing.

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

3 years agofix: 'sp_mk_generator.py' reference to undef var
J-Alves [Wed, 14 Sep 2022 14:31:17 +0000 (15:31 +0100)]
fix: 'sp_mk_generator.py' reference to undef var

The script 'sp_mk_generator.py' was reworked in [1]. There was a
reference the variable 'data' left. This variable 'data' used to refer
to the json data of a the sp layout file.
This patch fixed the reference with the proper variable according to the
rework [1].

[1] https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=a96a07bfb66b7d38fe3da824e8ba183967659008

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I9ddbfa8d55a114bcef6997920522571e070fc7d2

3 years agofeat(gic): add APIs to raise NS and S-EL1 SGIs
Florian Lugou [Wed, 8 Sep 2021 10:40:24 +0000 (12:40 +0200)]
feat(gic): add APIs to raise NS and S-EL1 SGIs

This patch adds two helper functions:
 - plat_ic_raise_ns_sgi to raise a NS SGI
 - plat_ic_raise_s_el1_sgi to raise a S-EL1 SGI

Signed-off-by: Florian Lugou <florian.lugou@provenrun.com>
Change-Id: I6f262dd1da1d77fec3f850eb74189e726b8e24da

3 years agofix(context mgmt): remove explicit ICC_SRE_EL2 register read
Varun Wadekar [Tue, 13 Sep 2022 11:38:47 +0000 (12:38 +0100)]
fix(context mgmt): remove explicit ICC_SRE_EL2 register read

ICC_SRE_EL2 has only 4 bits, while others are RES0. The library programs
all four of them already, so there is no need to read the previous
settings from the actual register.

This patch removes the explicit register read as a result.

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

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