]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
21 months agorefactor(el3_runtime): introduce save_x30 macro
Manish Pandey [Wed, 11 Jan 2023 21:41:07 +0000 (21:41 +0000)]
refactor(el3_runtime): introduce save_x30 macro

Most of the macros/routine in vector entry need a free scratch register.
Introduce a macro "save_x30" and call it right at the begining of vector
entries where x30 is used. It is more exlicit and less error prone

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

21 months agoMerge "refactor(tc): update total compute gpu device node" into integration
Manish V Badarkhe [Fri, 3 Feb 2023 16:04:42 +0000 (17:04 +0100)]
Merge "refactor(tc): update total compute gpu device node" into integration

21 months agorefactor(tc): update total compute gpu device node
Rupinderjit Singh [Fri, 3 Feb 2023 09:29:57 +0000 (09:29 +0000)]
refactor(tc): update total compute gpu device node

updated gpu clocks and added gpu simple power model node

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

21 months agoMerge "fix(versal-net): populate gic v3 rdist data statically" into integration
Joanna Farley [Fri, 3 Feb 2023 09:27:25 +0000 (10:27 +0100)]
Merge "fix(versal-net): populate gic v3 rdist data statically" into integration

21 months agoMerge "feat(optee): add loading OP-TEE image via an SMC" into integration
Joanna Farley [Thu, 2 Feb 2023 23:42:17 +0000 (00:42 +0100)]
Merge "feat(optee): add loading OP-TEE image via an SMC" into integration

21 months agoMerge changes from topic "xlnx_feat_chores" into integration
Joanna Farley [Thu, 2 Feb 2023 15:53:37 +0000 (16:53 +0100)]
Merge changes from topic "xlnx_feat_chores" into integration

* changes:
  chore(xilinx): update print information
  feat(versal-net): add jtag dcc support

21 months agochore(xilinx): update print information
Akshay Belsare [Wed, 18 Jan 2023 11:34:22 +0000 (17:04 +0530)]
chore(xilinx): update print information

Remove company name from the console messages while printing only
relevant information for the platform.

Change-Id: Id8171326e0267eb6f3a26de4eb66143970de2dbd
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
21 months agoMerge changes I1b092bc1,Ifc2461b4,I5176caa5 into integration
Soby Mathew [Wed, 1 Feb 2023 16:03:22 +0000 (17:03 +0100)]
Merge changes I1b092bc1,Ifc2461b4,I5176caa5 into integration

* changes:
  docs(rme): update RMM-EL3 Boot Manifest structure description
  feat(rme): read DRAM information from FVP DTB
  feat(rme): set DRAM information in Boot Manifest platform data

21 months agofix(versal-net): populate gic v3 rdist data statically
Jay Buddhabhatti [Tue, 24 Jan 2023 07:32:35 +0000 (23:32 -0800)]
fix(versal-net): populate gic v3 rdist data statically

Currently gicv3_rdistif_probe() is called per CPU. In case of maxcpus=1,
only 1 core is initialized and gicr_base_addrs initialized for CPU 0
only. Because of this assertion is raised during Linux system suspend.

During Linux suspend, platform callback saves GIC v3 state which
internally invokes arm_gicv3_distif_pre_save(). This function tries to use
gicr_base for all CPUs. Since GICR base address for secondary CPUs are not
initialized, it raises assertion.

To fix the issue, populate GIC v3 rdist data statically (similar to Versal)
instead of dynamically initializing GIC v3 rdist per CPU.

Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
Change-Id: I98c97c03e451d05f4ebac358e197617ab9d9b71f

21 months agofeat(versal-net): add jtag dcc support
Akshay Belsare [Wed, 18 Jan 2023 10:24:12 +0000 (15:54 +0530)]
feat(versal-net): add jtag dcc support

Add support for JTAG Debug Communication Channel(DCC), using the dcc
console driver, for Versal NET platform.
UART0/UART1 is not configured when the JTAG DCC is used as console for
the platform.
Though DCC is not using any UART, VERSAL_NET_UART_BASE needs
to be defined in the platform code. If its not defined, build errors
are observed.
Now VERSAL_NET_UART_BASE by default points to UART0 base.
Check for valid console(pl011, pl011_0, pl011_1, dcc) is
being done in the platform makefile, the error condition in
setting the value of VERSAL_NET_UART_BASE is redundant, thus the error
message is removed from the code.

Change-Id: I1085433055abea13526230cff4d4183ff7a01477
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
21 months agofeat(optee): add loading OP-TEE image via an SMC
Jeffrey Kardatzke [Mon, 3 Oct 2022 22:50:21 +0000 (15:50 -0700)]
feat(optee): add loading OP-TEE image via an SMC

This adds the ability to load the OP-TEE image via an SMC called from
non-secure userspace rather than loading it during boot. This should
only be utilized on platforms that can ensure security is maintained up
until the point the SMC is invoked as it breaks the normal barrier
between the secure and non-secure world.

Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com>
Change-Id: I21cfa9699617c493fa4190f01d1cbb714e7449cc

21 months agodocs(rme): update RMM-EL3 Boot Manifest structure description
AlexeiFedorov [Wed, 18 Jan 2023 14:53:56 +0000 (14:53 +0000)]
docs(rme): update RMM-EL3 Boot Manifest structure description

This patch updates description of RMM-EL3 Boot Manifest
structure and its corresponding diagram and tables with DRAM
layout data.

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

21 months agofeat(rme): read DRAM information from FVP DTB
AlexeiFedorov [Thu, 29 Dec 2022 15:57:40 +0000 (15:57 +0000)]
feat(rme): read DRAM information from FVP DTB

This patch builds on the previous patch by implementing
support for reading NS DRAM layout of FVP model from
HW_CONFIG Device tree.

Macro _RMMD_MANIFEST_VERSION is renamed to
SET_RMMD_MANIFEST_VERSION to suppress MISRA-C
"rule MC3R1.D4.5: (advisory) Identifiers in
the same name space with overlapping visibility
should be typographically unambiguous" warning

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

21 months agoMerge "feat(morello): add support for HW_CONFIG" into integration
Manish V Badarkhe [Mon, 30 Jan 2023 15:55:55 +0000 (16:55 +0100)]
Merge "feat(morello): add support for HW_CONFIG" into integration

21 months agoMerge "perf(imx): speed-up console/uart TX using FIFO" into integration
Madhukar Pappireddy [Mon, 30 Jan 2023 15:20:05 +0000 (16:20 +0100)]
Merge "perf(imx): speed-up console/uart TX using FIFO" into integration

21 months agoMerge "docs(measured-boot): fix few typos" into integration
Sandrine Bailleux [Mon, 30 Jan 2023 10:05:43 +0000 (11:05 +0100)]
Merge "docs(measured-boot): fix few typos" into integration

21 months agodocs(measured-boot): fix few typos
Manish V Badarkhe [Fri, 27 Jan 2023 13:51:22 +0000 (13:51 +0000)]
docs(measured-boot): fix few typos

Fixed few typos in the measured boot POC document.

Change-Id: I122c069bbde51febed12c54e2c4a4985b009ef5f
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
21 months agoperf(imx): speed-up console/uart TX using FIFO
Loic Poulain [Wed, 11 Jan 2023 15:08:48 +0000 (16:08 +0100)]
perf(imx): speed-up console/uart TX using FIFO

The current putc version test for TXEMPTY bit set (#6) instead
of waiting for TXFULL bit clear (#4), that slows the global
boot time as we are not taking benefit of the 32-byte FIFO.

We then need to implement the flush function to be sure the
transmit is complete (FIFO and shift register empty).

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Change-Id: I54873a5203e2afdc230e44ce73284e7a80985b4f

21 months agofeat(morello): add support for HW_CONFIG
Patrik Berglund [Wed, 14 Sep 2022 16:22:15 +0000 (17:22 +0100)]
feat(morello): add support for HW_CONFIG

This patch add support to load HW_CONFIG in BL2 and pass it to
bootloader stages BL31 and BL33.

Signed-off-by: Patrik Berglund <patrik.berglund@arm.com>
Change-Id: I646fabed83dbca5322a59a399de5194cfef474ad

21 months agoMerge "fix(cpus): workaround for Cortex-A78C erratum 2772121" into integration
Lauren Wehrmeister [Fri, 27 Jan 2023 15:52:19 +0000 (16:52 +0100)]
Merge "fix(cpus): workaround for Cortex-A78C erratum 2772121" into integration

21 months agoMerge "feat(plat/tc): enable MPAM functionality of L3 DSU cache" into integration
Manish V Badarkhe [Fri, 27 Jan 2023 11:50:27 +0000 (12:50 +0100)]
Merge "feat(plat/tc): enable MPAM functionality of L3 DSU cache" into integration

21 months agofeat(plat/tc): enable MPAM functionality of L3 DSU cache
Davidson K [Fri, 13 Jan 2023 08:32:13 +0000 (14:02 +0530)]
feat(plat/tc): enable MPAM functionality of L3 DSU cache

The L3 cache in the DSU supports the Memory System Resources
Partitioning and Monitoring (MPAM). The MPAM specific registers in the
DSU are accessed through utility bus of DSU that are memory mapped from
0x1_0000_1000.

Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Change-Id: I2798181d599228e96dd4c0043a2ccd94668c7e20

21 months agoMerge "fix(cpus): workaround for Cortex-A510 erratum 2684597" into integration
Lauren Wehrmeister [Thu, 26 Jan 2023 20:24:49 +0000 (21:24 +0100)]
Merge "fix(cpus): workaround for Cortex-A510 erratum 2684597" into integration

21 months agoMerge "fix(psci): tighten psci_power_down_wfi behaviour" into integration
Lauren Wehrmeister [Thu, 26 Jan 2023 20:18:22 +0000 (21:18 +0100)]
Merge "fix(psci): tighten psci_power_down_wfi behaviour" into integration

21 months agoMerge "docs(rme): improve OOB instruction for RME" into integration
Soby Mathew [Thu, 26 Jan 2023 14:43:02 +0000 (15:43 +0100)]
Merge "docs(rme): improve OOB instruction for RME" into integration

21 months agodocs(rme): improve OOB instruction for RME
Soby Mathew [Tue, 24 Jan 2023 15:39:36 +0000 (15:39 +0000)]
docs(rme): improve OOB instruction for RME

This patch reworks the existing OOB instructions for RME enabled
TF-A.

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: Icaeaf48c7061feaad4b1bb92388954694705e45c

21 months agofix(cpus): workaround for Cortex-A510 erratum 2684597
Harrison Mutai [Fri, 9 Dec 2022 12:14:25 +0000 (12:14 +0000)]
fix(cpus): workaround for Cortex-A510 erratum 2684597

Cortex-A510 erratum 2684597 is a Cat B erratum that applies to revisions
r0p0, r0p1, r0p2, r0p3, r1p0, r1p1 and r1p2. It is fixed in r1p3. The
workaround is to execute a TSB CSYNC and DSB before executing WFI for
power down.

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

Change-Id: Ic0b24b600bc013eb59c797401fbdc9bda8058d6d
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
22 months agoMerge changes from topic "fix_misra_partition_mmc" into integration
Madhukar Pappireddy [Tue, 24 Jan 2023 16:29:28 +0000 (17:29 +0100)]
Merge changes from topic "fix_misra_partition_mmc" into integration

* changes:
  fix(mmc): align part config type
  fix(mmc): do not modify r_data in mmc_send_cmd()
  fix(mmc): explicitly check operators precedence
  fix(partition): add U suffix for unsigned numbers
  fix(partition): add missing curly braces

22 months agoMerge "docs: change security advisories notification channel" into integration
Sandrine Bailleux [Tue, 24 Jan 2023 10:06:22 +0000 (11:06 +0100)]
Merge "docs: change security advisories notification channel" into integration

22 months agofix(psci): tighten psci_power_down_wfi behaviour
Harrison Mutai [Wed, 11 Jan 2023 17:01:04 +0000 (17:01 +0000)]
fix(psci): tighten psci_power_down_wfi behaviour

A processing element should never return from a wfi, however, due to a
hardware bug, certain CPUs may wake up because of an external event.
This patch tightens the behaviour of the common power down sequence, it
ensures the routine never returns by entering a wfi loop at its end. It
aligns with the behaviour of the platform implementations.

Change-Id: I36d8b0c64eccb71035bf164b4cd658d66ed7beb4
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
22 months agoMerge "feat(fiptool): handle FIP in a disk partition" into integration
Manish V Badarkhe [Mon, 23 Jan 2023 12:57:39 +0000 (13:57 +0100)]
Merge "feat(fiptool): handle FIP in a disk partition" into integration

22 months agoMerge "feat(rss): add TC platform UUIDs for RSS images" into integration
Sandrine Bailleux [Mon, 23 Jan 2023 11:47:15 +0000 (12:47 +0100)]
Merge "feat(rss): add TC platform UUIDs for RSS images" into integration

22 months agofeat(fiptool): handle FIP in a disk partition
Antonio Borneo [Thu, 22 Sep 2022 10:15:27 +0000 (12:15 +0200)]
feat(fiptool): handle FIP in a disk partition

When FIP is programmed in a disk partition, fiptool cannot be used
directly; this forces the user to temporarily copy the partition
to a file, apply fiptool and copy back the file. This is caused by
fstat() that returns zero file size on a block special file, thus
making fiptool commands info, update, unpack and remove to exit.

For either Linux host or Linux target, recover the partition size
with ioctl() and use it as FIP file size. E.g.:
fiptool info /dev/disk/by-partlabel/fip-a
fiptool info /dev/mtdblock4

While there, rework two identical error log messages to provide
more details about the failure and update the date in copyright.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Change-Id: I7cab60e577422d94c24ba7e39458f58bcebc2336

22 months agoMerge changes from topic "srm/errata" into integration
Bipin Ravi [Fri, 20 Jan 2023 19:37:07 +0000 (20:37 +0100)]
Merge changes from topic "srm/errata" into integration

* changes:
  fix(cpus): workaround for Neoverse V1 errata 2779461
  fix(cpus): workaround for Cortex-A78 erratum 2779479

22 months agoMerge changes from topic "fix_sparse_warnings" into integration
Madhukar Pappireddy [Fri, 20 Jan 2023 17:20:59 +0000 (18:20 +0100)]
Merge changes from topic "fix_sparse_warnings" into integration

* changes:
  fix(libc): remove __putchar alias
  fix(console): correct scopes for console symbols
  fix(auth): use NULL instead of 0 for pointer check
  fix(io): compare function pointers with NULL
  fix(fdt-wrappers): use correct prototypes

22 months agofix(cpus): workaround for Neoverse V1 errata 2779461
Sona Mathew [Wed, 11 Jan 2023 23:04:24 +0000 (17:04 -0600)]
fix(cpus): workaround for Neoverse V1 errata 2779461

Neoverse V1 erratum 2779461 is a Cat B erratum that applies to
all revisions <=r1p2 and is still open.

The workaround sets CPUACTLR3_EL1[47] bit to 1. Setting this
bit might have a small impact on power and negligible impact
on performance.

SDEN documentation:https://developer.arm.com/documentation/SDEN1401781/latest

Change-Id: I367cda1779684638063d7292fda20ca6734e6f10
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
22 months agofix(cpus): workaround for Cortex-A78 erratum 2779479
Sona Mathew [Wed, 11 Jan 2023 18:55:30 +0000 (12:55 -0600)]
fix(cpus): workaround for Cortex-A78 erratum 2779479

Cortex-A78 erratum 2779479 is a Cat B erratum that applies to
all revisions <= r1p2 and is still open.

The workaround is to set the CPUACTLR3_EL1[47] bit to 1. Setting this
bit might have a small impact on power and negligible impact
on performance.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1401784/latest

Change-Id: I3779fd1eff3017c5961ffa101b357918070b3b36
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
22 months agoMerge changes from topic "feat_state_rework" into integration
Manish Pandey [Thu, 19 Jan 2023 17:19:50 +0000 (18:19 +0100)]
Merge changes from topic "feat_state_rework" into integration

* changes:
  feat(fvp): enable FEAT_HCX by default
  refactor(context-mgmt): move FEAT_HCX save/restore into C
  refactor(cpufeat): convert FEAT_HCX to new scheme
  feat(fvp): enable FEAT_FGT by default
  refactor(context-mgmt): move FEAT_FGT save/restore code into C
  refactor(amu): convert FEAT_AMUv1 to new scheme
  refactor(cpufeat): decouple FGT feature detection and build flags
  refactor(cpufeat): check FEAT_FGT in a new way
  refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_
  feat(aarch64): make ID system register reads non-volatile

22 months agoMerge "fix(plat/css): fix invalid redistributor poweroff" into integration
Madhukar Pappireddy [Wed, 18 Jan 2023 18:51:50 +0000 (19:51 +0100)]
Merge "fix(plat/css): fix invalid redistributor poweroff" into integration

22 months agofix(cpus): workaround for Cortex-A78C erratum 2772121
Bipin Ravi [Wed, 18 Jan 2023 17:03:21 +0000 (11:03 -0600)]
fix(cpus): workaround for Cortex-A78C erratum 2772121

Cortex-A78C erratum 2772121 is a Cat B erratum that applies to
all revisions <=r0p2 and is still open. The workaround is to
insert a dsb before the isb in the power down sequence.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1707916/latest

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

22 months agoMerge "fix: add parenthesis for tests in MIN, MAX and CLAMP macros" into integration
Madhukar Pappireddy [Wed, 18 Jan 2023 17:06:38 +0000 (18:06 +0100)]
Merge "fix: add parenthesis for tests in MIN, MAX and CLAMP macros" into integration

22 months agofix(plat/css): fix invalid redistributor poweroff
Waleed Elmelegy [Mon, 16 Jan 2023 15:10:38 +0000 (15:10 +0000)]
fix(plat/css): fix invalid redistributor poweroff

Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf
introduced an invalid redistributor power off
where we turn off the redistributor without
checking if the system power domain level is
turning off, otherwise we can turn off a
redistributor when other cores or clusters are
sharing it, also if it does indeed needs
powering off during suspend we do it twice.
This change fixes this by checking on the
system power state first then turning off
the redistributor.

Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
Change-Id: Id202bc2316ab7c516298fa33ea089ae2e221a933

22 months agoMerge "fix(zynqmp): fix xck24 silicon ID" into integration
Joanna Farley [Wed, 18 Jan 2023 12:33:02 +0000 (13:33 +0100)]
Merge "fix(zynqmp): fix xck24 silicon ID" into integration

22 months agoMerge changes from topic "mtk_spm" into integration
Manish Pandey [Wed, 18 Jan 2023 11:06:11 +0000 (12:06 +0100)]
Merge changes from topic "mtk_spm" into integration

* changes:
  refactor(mediatek): add new LPM API for further extension
  refactor(mediatek): change the parameters of LPM API
  refactor(mediatek): change LPM header file path for further extension
  feat(mt8188): keep infra and peri on when system suspend
  feat(mt8188): enable SPM and LPM
  feat(mt8188): add SPM feature support
  feat(mt8188): add MT8188 SPM support
  feat(mediatek): add SPM's SSPM notifier
  feat(mt8188): add the register definitions accessed by SPM
  feat(mediatek): add new features of LPM

22 months agofix(zynqmp): fix xck24 silicon ID
Michal Simek [Wed, 18 Jan 2023 07:55:20 +0000 (08:55 +0100)]
fix(zynqmp): fix xck24 silicon ID

Origin ID code has changed from origin description. After receiving part
new ID code come up that's why fix it. The origin ID code has been added
by commit 86869f99d0c1 ("feat(zynqmp): add support for xck24 silicon").

Change-Id: I727bfe43fd7ef9e604f63bde5fa37fa3666db8c4
Signed-off-by: Michal Simek <michal.simek@amd.com>
22 months agoMerge changes from topic "st_dt_update" into integration
Manish Pandey [Tue, 17 Jan 2023 16:43:29 +0000 (17:43 +0100)]
Merge changes from topic "st_dt_update" into integration

* changes:
  refactor(stm32mp15-fdts): remove unused PMIC nodes
  fix(stm32mp15-fdts): use interrupts-extended for i2c2
  style(stm32mp15-fdts): remove extra spaces on vbus

22 months agofeat(rme): set DRAM information in Boot Manifest platform data
AlexeiFedorov [Wed, 14 Dec 2022 17:28:11 +0000 (17:28 +0000)]
feat(rme): set DRAM information in Boot Manifest platform data

This patch adds support for setting configuration of DRAM banks
for FVP model in RMM-EL3 Boot Manifest structure.
Structure 'rmm_manifest' is extended with 'plat_dram' structure
which contains information about platform's DRAM layout:
- number of DRAM banks;
- pointer to 'dram_bank[]' array;
- check sum: two's complement 64-bit value of the sum of
  data in 'plat_dram' and 'dram_bank[] array.
Each 'dram_bank' structure holds information about DRAM
bank base address and its size. This values must be aligned
to 4KB page size.
The patch increases Boot Manifest minor version to 2 and
removes 'typedef rmm_manifest_t' as per
"3.4.15.1. Avoid anonymous typedefs of structs/enums in headers" of
https://trustedfirmware-a.readthedocs.io/en/latest/process/coding-style.html

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

22 months agoMerge changes from topic "ti-k3-checks-and-refactor" into integration
Madhukar Pappireddy [Mon, 16 Jan 2023 20:46:50 +0000 (21:46 +0100)]
Merge changes from topic "ti-k3-checks-and-refactor" into integration

* changes:
  fix(ti): fix typo in boot authentication message name
  refactor(ti): remove empty validate_ns_entrypoint function
  refactor(ti): use console_set_scope() rather than empty function hack
  refactor(ti): factor out common board code into common files
  feat(ti): add PSCI system_off support
  feat(ti): do not handle EAs in EL3
  feat(ti): set snoop-delayed exclusive handling on A72 cores
  feat(ti): disable L2 dataless UniqueClean evictions
  feat(ti): set L2 cache ECC and and parity on A72 cores
  feat(ti): set L2 cache data ram latency on A72 cores to 4 cycles

22 months agoMerge changes from topic "deprecate_io_drivers" into integration
Manish Pandey [Mon, 16 Jan 2023 15:45:37 +0000 (16:45 +0100)]
Merge changes from topic "deprecate_io_drivers" into integration

* changes:
  refactor(st): remove unused io_mmc driver
  docs: deprecate io_dummy driver

22 months agoMerge changes from topic "refactor_st_common" into integration
Manish Pandey [Mon, 16 Jan 2023 15:44:17 +0000 (16:44 +0100)]
Merge changes from topic "refactor_st_common" into integration

* changes:
  refactor(st): move board info in common code
  refactor(st): move GIC code to common directory
  refactor(st): move boot backup register management

22 months agoMerge "feat(versal-net): add support for uart1 console" into integration
Joanna Farley [Mon, 16 Jan 2023 13:45:05 +0000 (14:45 +0100)]
Merge "feat(versal-net): add support for uart1 console" into integration

22 months agoMerge "docs(security): security advisory for CVE-2022-47630" into integration
Sandrine Bailleux [Mon, 16 Jan 2023 13:23:39 +0000 (14:23 +0100)]
Merge "docs(security): security advisory for CVE-2022-47630" into integration

22 months agodocs(security): security advisory for CVE-2022-47630
Sandrine Bailleux [Fri, 13 Jan 2023 08:49:34 +0000 (09:49 +0100)]
docs(security): security advisory for CVE-2022-47630

Reported-by: Demi Marie Obenour <demiobenour@gmail.com>
Co-authored-by: Demi Marie Obenour <demiobenour@gmail.com>
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I20be2d280437eb223c988e2bf59c4562515817a0

22 months agofeat(versal-net): add support for uart1 console
Akshay Belsare [Fri, 13 Jan 2023 09:10:37 +0000 (14:40 +0530)]
feat(versal-net): add support for uart1 console

Versal NET platform supports two UART(UART0, UART1)
Add support for UART1 to be used as console for Versal NET platform.

Change-Id: I3bc2034f54052e37cc480f98d48335fa5b2138bf
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
22 months agoMerge "refactor(el3_runtime): remove unnecessary assembly macros" into integration
Manish Pandey [Fri, 13 Jan 2023 10:19:52 +0000 (11:19 +0100)]
Merge "refactor(el3_runtime): remove unnecessary assembly macros" into integration

22 months agoMerge "fix(mpam): remove unwanted param for "endfunc" macro" into integration
Manish Pandey [Fri, 13 Jan 2023 09:07:42 +0000 (10:07 +0100)]
Merge "fix(mpam): remove unwanted param for "endfunc" macro" into integration

22 months agofix(ti): fix typo in boot authentication message name
Andrew Davis [Tue, 10 Jan 2023 18:34:20 +0000 (12:34 -0600)]
fix(ti): fix typo in boot authentication message name

Fix AUTH_BOOT message identifier (s/IMIAGE/IMAGE).

Reported-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I19eb1798c6b9dd8c3f59e05c59318c9c3be971a0

22 months agorefactor(ti): remove empty validate_ns_entrypoint function
Andrew Davis [Wed, 16 Nov 2022 00:11:25 +0000 (18:11 -0600)]
refactor(ti): remove empty validate_ns_entrypoint function

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I93165e9f26f5a5b600e7b6a9d48df75d62e89f17

22 months agorefactor(ti): use console_set_scope() rather than empty function hack
Andrew Davis [Wed, 16 Nov 2022 00:04:41 +0000 (18:04 -0600)]
refactor(ti): use console_set_scope() rather than empty function hack

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I62c1215bc02e95a7ea9fa1e2dfa9ef05e204fce1

22 months agorefactor(ti): factor out common board code into common files
Andrew Davis [Fri, 11 Nov 2022 18:49:38 +0000 (12:49 -0600)]
refactor(ti): factor out common board code into common files

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Ibf7328418c5285a64608b80e7c430a8dee64fb1d

22 months agofeat(ti): add PSCI system_off support
Andrew Davis [Wed, 16 Nov 2022 00:08:16 +0000 (18:08 -0600)]
feat(ti): add PSCI system_off support

Send a TI-SCI control message to system firmware to power down the board.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I6b8fa64baa94da078db82fc8e115630c9f200b3d

22 months agofeat(ti): do not handle EAs in EL3
Andrew Davis [Tue, 27 Sep 2022 12:13:21 +0000 (07:13 -0500)]
feat(ti): do not handle EAs in EL3

This could be useful if we had extra information to print or
when RAS extensions are available, neither apply here so lets
not trap these in EL3 for now.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Ia0334eb845686964e794afe45c7777ea64fd6b0b

22 months agofeat(ti): set snoop-delayed exclusive handling on A72 cores
Andrew Davis [Thu, 12 Jan 2023 15:32:33 +0000 (09:32 -0600)]
feat(ti): set snoop-delayed exclusive handling on A72 cores

Snoop requests should not be responded to during atomic operations. This
can be handled by the interconnect using its global monitor or by the
core's SCU delaying to check for the corresponding atomic monitor state.

TI SoCs take the second approach. Set the snoop-delayed exclusive handling
bit to inform the core it needs to delay responses to perform this check.

As J784s4 is currently the only SoC with multiple A72 clusters, limit
this delay to only that device.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I875f64e4f53d47a9a0ccbf3415edc565be7f84d9

22 months agofeat(ti): disable L2 dataless UniqueClean evictions
Andrew Davis [Thu, 1 Sep 2022 16:02:59 +0000 (11:02 -0500)]
feat(ti): disable L2 dataless UniqueClean evictions

Do this early before we enable caching as a workaround for ARM A72
Errata #854172.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Ic878fdb49e598da0ea6ade012712f8f57023678e

22 months agofeat(ti): set L2 cache ECC and and parity on A72 cores
Andrew Davis [Tue, 10 Jan 2023 19:25:42 +0000 (13:25 -0600)]
feat(ti): set L2 cache ECC and and parity on A72 cores

The Cortex-A72 based cores on K3 platforms have cache ECC and
parity protection, enable these.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Icd00bc4aa9c1c48f0fb2a10ea66e75e0b146ef3c

22 months agofeat(ti): set L2 cache data ram latency on A72 cores to 4 cycles
Andrew Davis [Tue, 10 Jan 2023 19:14:37 +0000 (13:14 -0600)]
feat(ti): set L2 cache data ram latency on A72 cores to 4 cycles

The Cortex-A72 based cores on K3 platforms can be clocked fast
enough that an extra latency cycle is needed to ensure correct
L2 access. Set the latency here for all A72 cores.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I639091dd0d2de09572bf0f73ac404e306e336883

22 months agoMerge changes from topic "tonnad01/rdn2cfg3" into integration
Manish V Badarkhe [Thu, 12 Jan 2023 21:15:40 +0000 (22:15 +0100)]
Merge changes from topic "tonnad01/rdn2cfg3" into integration

* changes:
  feat(rdn2): add platform id value for rdn2 variant 3
  refactor(rdn2): reduce use of CSS_SGI_PLATFORM_VARIANT build flag

22 months agoMerge changes Id4570f91,Ibdf1af70 into integration
Sandrine Bailleux [Thu, 12 Jan 2023 19:36:08 +0000 (20:36 +0100)]
Merge changes Id4570f91,Ibdf1af70 into integration

* changes:
  fix(auth): properly validate X.509 extensions
  fix(auth): avoid out-of-bounds read in auth_nvctr()

22 months agofeat(rdn2): add platform id value for rdn2 variant 3
Tony K Nadackal [Wed, 24 Nov 2021 16:09:26 +0000 (16:09 +0000)]
feat(rdn2): add platform id value for rdn2 variant 3

The RD-N2-Cfg3 platform is a variant of the RD-N2 platform with the
significant difference being the number of ITS blocks and the use of a
different part number.

Signed-off-by: Tony K Nadackal <tony.nadackal@arm.com>
Change-Id: Id4c5faeae44f21da79cb59540558192d0b02b124

22 months agorefactor(rdn2): reduce use of CSS_SGI_PLATFORM_VARIANT build flag
Tony K Nadackal [Sat, 12 Nov 2022 23:21:20 +0000 (23:21 +0000)]
refactor(rdn2): reduce use of CSS_SGI_PLATFORM_VARIANT build flag

The core count is one of the significant difference between the various
RD-N2 platform variants. The PLAT_ARM_CLUSTER_COUNT macro defines the
number of core/cluster for a variant. In preparation to add another
variant of RD-N2 platform, replace the use of CSS_SGI_PLATFORM_VARIANT
build flag, where applicable, with the PLAT_ARM_CLUSTER_COUNT macro.
This helps to reduce the changes required to add support for a new
variant.

Signed-off-by: Tony K Nadackal <tony.nadackal@arm.com>
Change-Id: I89b168308d1b5f7edd402205dd25d6c3a355e100

22 months agoMerge changes from topic "fix-power-up-dwn-issue" into integration
Joanna Farley [Thu, 12 Jan 2023 10:11:28 +0000 (11:11 +0100)]
Merge changes from topic "fix-power-up-dwn-issue" into integration

* changes:
  fix(versal-net): enable wake interrupt during client suspend
  fix(versal-net): disable wakeup interrupt during client wakeup
  fix(versal-net): clear power down bit during wakeup
  fix(versal-net): fix setting power down state
  fix(versal-net): clear power down interrupt status before enable
  fix(versal-net): resolve misra rule 20.7 warnings
  fix(versal-net): resolve misra 10.6 warnings

22 months agoMerge "fix(versal): print proper atf handoff source" into integration
Joanna Farley [Thu, 12 Jan 2023 10:08:52 +0000 (11:08 +0100)]
Merge "fix(versal): print proper atf handoff source" into integration

22 months agoMerge "fix(cpus): workaround for Cortex-X2 erratum 2282622" into integration
Madhukar Pappireddy [Wed, 11 Jan 2023 21:06:28 +0000 (22:06 +0100)]
Merge "fix(cpus): workaround for Cortex-X2 erratum 2282622" into integration

22 months agoMerge "fix(cpus): workaround for Cortex-A710 erratum 2282622" into integration
Lauren Wehrmeister [Wed, 11 Jan 2023 19:57:27 +0000 (20:57 +0100)]
Merge "fix(cpus): workaround for Cortex-A710 erratum 2282622" into integration

22 months agofix(cpus): workaround for Cortex-X2 erratum 2282622
Bipin Ravi [Thu, 22 Dec 2022 20:19:59 +0000 (14:19 -0600)]
fix(cpus): workaround for Cortex-X2 erratum 2282622

Cortex-X2 erratum 2282622 is a Cat B erratum that applies to
all revisions <=r2p1 and is still 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 documentation:
https://developer.arm.com/documentation/SDEN1775100/latest

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

22 months agofeat(fvp): enable FEAT_HCX by default
Andre Przywara [Thu, 10 Nov 2022 14:42:07 +0000 (14:42 +0000)]
feat(fvp): enable FEAT_HCX by default

FEAT_HCX is one of the features for which Linux necessarily requires EL3
enablement, when the feature is present on a PE.

To cover the effect of different FVP command line parameters, include
the feature into the standard FVP build, but use FEAT_STATE_CHECK, to
always do runtime checks before accessing feature specific registers.

This prevents a Linux crash when the FVP is called with FEAT_HCX
enabled.

Change-Id: I01aaed15c5a6850176d092b2f0157744fe0a9e13
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
22 months agorefactor(context-mgmt): move FEAT_HCX save/restore into C
Andre Przywara [Tue, 15 Nov 2022 11:45:19 +0000 (11:45 +0000)]
refactor(context-mgmt): move FEAT_HCX save/restore into C

At the moment we save and restore the HCRX_EL2 register in assembly, and
just depend on the build time flags.
To allow runtime checking, and to avoid too much code in assembly, move
that over to C, and use the new combined build/runtime feature check.

This also allows to drop the assert, since this should now be covered by
the different FEAT_STATE_x options.

Change-Id: I3e20b9ba17121d423cd08edc20bbf4e7ae7c0178
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
22 months agorefactor(cpufeat): convert FEAT_HCX to new scheme
Andre Przywara [Tue, 15 Nov 2022 11:45:19 +0000 (11:45 +0000)]
refactor(cpufeat): convert FEAT_HCX to new scheme

Use the generic check function in feat_detect.c, and split the feature
check into two functions, as done for FEAT_FGT before.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I0a4f973427c10d5d15c414ff5e12b18b7e645fae

22 months agofeat(fvp): enable FEAT_FGT by default
Andre Przywara [Thu, 10 Nov 2022 14:42:07 +0000 (14:42 +0000)]
feat(fvp): enable FEAT_FGT by default

FEAT_FGT is one of the features for which Linux necessarily requires EL3
enablement, when the feature is present on a PE.

To cover the effect of different FVP command line parameters, include
the feature into the standard FVP build, but use FEAT_STATE_CHECK, to
always do runtime checks before accessing feature specific registers.

This prevents a Linux crash when the FVP is called with FEAT_FGT
enabled.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I55fbb2706aefbc3ab67c476e3f8b6ea74ae0d66c

22 months agorefactor(context-mgmt): move FEAT_FGT save/restore code into C
Andre Przywara [Thu, 10 Nov 2022 14:40:37 +0000 (14:40 +0000)]
refactor(context-mgmt): move FEAT_FGT save/restore code into C

At the moment we do the EL2 context save/restore sequence in assembly,
where it is just guarded by #ifdef statement for the build time flags.
This does not cover the FEAT_STATE_CHECK case, where we need to check
for the runtime availability of a feature.

To simplify this extension, and to avoid writing too much code in
assembly, move that sequence into C: it is called from C context
anyways.

This protects the C code with the new version of the is_xxx_present()
check, which combines both build time and runtime check, as necessary,
and allows the compiler to optimise the calls aways, if we don't need
them.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I7c91bec60efcc00a43429dc0381f7e1c203be780

22 months agorefactor(amu): convert FEAT_AMUv1 to new scheme
Andre Przywara [Thu, 10 Nov 2022 14:41:07 +0000 (14:41 +0000)]
refactor(amu): convert FEAT_AMUv1 to new scheme

For the FGT context save/restore operation, we need to look at the AMUv1
feature, so migrate this one over to the new scheme.
This uses the generic check function in feat_detect.c, and splits the
feature check into two functions, as was done before for FEAT_FGT.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I95ad797f15001b2c9d1800c9d4af33fba79e136f

22 months agorefactor(cpufeat): decouple FGT feature detection and build flags
Andre Przywara [Thu, 10 Nov 2022 14:28:01 +0000 (14:28 +0000)]
refactor(cpufeat): decouple FGT feature detection and build flags

Split the feature check for FEAT_FGT into two parts:
- A boolean function that just evaluates whether the feature is usable.
  This takes build time flags into account, and only evaluates the CPU
  feature ID registers when the flexible FEAT_STATE_CHECK method is
  used.
- A "raw" function that returns the unfiltered CPU feature ID register.

Change the callers where needed, to give them the version they actually
want.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I9a041132d280451f5d9f653a62904f603b2a916d

22 months agorefactor(cpufeat): check FEAT_FGT in a new way
Andre Przywara [Mon, 14 Nov 2022 15:42:44 +0000 (15:42 +0000)]
refactor(cpufeat): check FEAT_FGT in a new way

To implement proper runtime checking of features, and to be able to
extend feat_detect.c to catch other cases, rework the FEAT_FGT check to
directly call a generic function instead of providing a trivial specific
one. The #ifdef is moved into the function, and rewritten as a proper C
if statement.
We need to force the compiler to inline that function, otherwise the
optimisation won't work, once we exceed a certain number of callers.

This starts with FEAT_FGT, but all the other features will be moved over
eventually, in separate patches.

For all features checked this way, we delay the panic() until after
every feature has been checked, to list them all during one run.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: Ic576922ff2c4f8d3c1b87b5843b3626729fe4514

22 months agorefactor(cpufeat): move helpers into .c file, rename FEAT_STATE_
Andre Przywara [Mon, 14 Nov 2022 15:38:58 +0000 (15:38 +0000)]
refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_

The FEATURE_DETECTION functionality had some definitions in a header
file, although they were only used internally in the .c file.
Move them over there, since there are of no interest to other users.

Also use the opportuntiy to rename the less telling FEAT_STATE_[12]
names, and let the "0" case join the game. We use DISABLED, ALWAYS, and
CHECK now, so that the casual reader has some idea what those numbers
are supposed to mean.

feature_panic() becomes "static inline", since disabling all features
makes it unused, so the compiler complains otherwise.

Finally add a new category "cpufeat" to cover CPU feature related
changes.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: If0c8ba91ad22440260ccff383c33bdd055eefbdc

22 months agofeat(aarch64): make ID system register reads non-volatile
Andre Przywara [Mon, 14 Nov 2022 10:39:48 +0000 (10:39 +0000)]
feat(aarch64): make ID system register reads non-volatile

Our system register access function wrappers are using "volatile"
inline assembly instructions. On the first glance this is a good idea,
since many system registers have side effects, and we don't want the
compiler to optimise or reorder them (what "volatile" prevents).

However this also naturally limits the compiler's freedom to optimise
code better, and those volatile properties don't apply to every type of
system register. One example are the CPU ID registers, which have
constant values, are side-effect free and read-only.

Introduce a new wrapper type that drops the volatile keyword, and use
that for the wrappers instantiating ID register accessors.

This allows the compiler to freely optimise those instructions away, if
their result isn't actually used, which can trigger further
optimisations.

Change-Id: I3c64716ae4f4bf603f0ea57b652bd50bcc67bb0e
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
22 months agofeat(rss): add TC platform UUIDs for RSS images
Raef Coles [Wed, 14 Dec 2022 15:02:16 +0000 (15:02 +0000)]
feat(rss): add TC platform UUIDs for RSS images

Add platform fiptool and UUIDs to the TC platform, to allow RSS images
to be inserted into and used from FIPs

Change-Id: Ic8e11bd4a766bdc616af7dee60d44fc5d1f6e7b6
Signed-off-by: Raef Coles <raef.coles@arm.com>
22 months agodocs: change security advisories notification channel
Sandrine Bailleux [Wed, 11 Jan 2023 10:15:14 +0000 (11:15 +0100)]
docs: change security advisories notification channel

Our documentation currently says that new security advisories will be
announced on the project's issue tracker. However, this issue tracker
is barely used by TF-A community and the software it is based on is
getting deprecated. Thus from now on, security advisories will rather
be announced on the project's mailing list.

Update TF-A documentation to reflect that.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: If2f635795e0af4c794015a025899bfcc7116ab38

22 months agofix(versal): print proper atf handoff source
Akshay Belsare [Wed, 11 Jan 2023 06:15:25 +0000 (11:45 +0530)]
fix(versal): print proper atf handoff source

Versal uses PLM in the boot flow and printing FSBL in the log for
handoff parameters is misleading. Print proper source of TF-A
handoff parameters.

Change-Id: I331e2eac2f5d30beed8573940ae02094254a759b
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
22 months agofix(libc): remove __putchar alias
Yann Gautier [Thu, 5 Jan 2023 08:50:11 +0000 (09:50 +0100)]
fix(libc): remove __putchar alias

This issue was triggered by sparse tool:
lib/libc/putchar.c:9:5: warning:
 symbol '__putchar' was not declared. Should it be static?
Instead of setting __putchar as static, just remove the function and
directly use putchar() with a weak attribute.

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

22 months agorefactor(mediatek): add new LPM API for further extension
Liju-Clr Chen [Fri, 6 Jan 2023 11:57:15 +0000 (19:57 +0800)]
refactor(mediatek): add new LPM API for further extension

Add new LPM API `mt_lp_rm_find_constraint` and `mt_lp_rm_run_constraint`
for further extension.

Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
Change-Id: I8298811e03227285a7d086166edf9e87471f74b4

22 months agorefactor(mediatek): change the parameters of LPM API
Liju-Clr Chen [Fri, 6 Jan 2023 07:50:33 +0000 (15:50 +0800)]
refactor(mediatek): change the parameters of LPM API

Change the parameters of the LPM API for further extension.

Change-Id: Id8897c256c2118d00c6b9f3e7424ebc6100f02eb
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
22 months agorefactor(mediatek): change LPM header file path for further extension
Liju-Clr Chen [Fri, 6 Jan 2023 06:53:37 +0000 (14:53 +0800)]
refactor(mediatek): change LPM header file path for further extension

Move `mt_lp_rm.h` to `plat/mediatek/include/lpm` for further extension.

Change-Id: If377ce6791ce80f82643b0f2466eb0f1aa5aa40b
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
22 months agofeat(mt8188): keep infra and peri on when system suspend
Shaocheng Wang [Thu, 15 Dec 2022 10:42:51 +0000 (18:42 +0800)]
feat(mt8188): keep infra and peri on when system suspend

In order to wake up system from USB devices, keep infra and peri on
when system suspend.

Change-Id: I0a0eb2e72709b0cc1bf11b36241a50cb5d85d9b8
Signed-off-by: Shaocheng Wang <shaocheng.wang@mediatek.corp-partner.google.com>
22 months agofeat(mt8188): enable SPM and LPM
James Liao [Wed, 7 Sep 2022 10:43:03 +0000 (18:43 +0800)]
feat(mt8188): enable SPM and LPM

Enable SPM and LPM features for MT8188.

Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
Change-Id: Ib3e2b305e9e3cf5a67e6e787ff942831b5ff28cd

22 months agofeat(mt8188): add SPM feature support
James Liao [Wed, 16 Nov 2022 13:52:21 +0000 (21:52 +0800)]
feat(mt8188): add SPM feature support

Add SPM low power functions, such as system suspend.

Change-Id: I6d1ad847a81ba9c347ab6fb8a8cb8c69004b7add
Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
22 months agofeat(mt8188): add MT8188 SPM support
James Liao [Wed, 7 Sep 2022 10:26:57 +0000 (18:26 +0800)]
feat(mt8188): add MT8188 SPM support

Add SPM basic functions including SPM init.

Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
Change-Id: I5d4860685c15f3b8d555e697837862287f0c303e

22 months agofeat(mediatek): add SPM's SSPM notifier
James Liao [Tue, 15 Nov 2022 12:33:18 +0000 (20:33 +0800)]
feat(mediatek): add SPM's SSPM notifier

The notifier is used to notify SSPM to sleep when system suspend or
notify SSPM to wakeup when system resume.

Change-Id: I027ca356a84ea1e58be54a8a5eb302b3b96c2e22
Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
22 months agofeat(mt8188): add the register definitions accessed by SPM
James Liao [Wed, 7 Sep 2022 10:30:05 +0000 (18:30 +0800)]
feat(mt8188): add the register definitions accessed by SPM

SPM needs to access some modules' registers to decide its sleep
behavior. This patch add these register definitions to platform_def.h.

Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
Change-Id: I3bebe74e367d5f6a7b59563036e18a83a3ef31e9

22 months agofeat(mediatek): add new features of LPM
James Liao [Wed, 7 Sep 2022 10:41:59 +0000 (18:41 +0800)]
feat(mediatek): add new features of LPM

Add new functions and intefaces of LPM to support more interactions
between LPM providers and users.

Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
Change-Id: I8ebbda0c0ef5be3a7a388a38c09424ebf785996f

22 months agorefactor(el3_runtime): remove unnecessary assembly macros
Manish Pandey [Fri, 6 Jan 2023 13:38:03 +0000 (13:38 +0000)]
refactor(el3_runtime): remove unnecessary assembly macros

Following macros removed
  - handle_async_ea : It duplicates "check_and_unmask_ea" functionality
  - check_if_serror_from_EL3: This macro is small and called only once,
    replace this macro with instructions at the caller.

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