Commit graph

11962 commits

Author SHA1 Message Date
Joanna Farley
8b47f87a5f Merge "feat(optee): add loading OP-TEE image via an SMC" into integration 2023-02-03 00:42:17 +01:00
Joanna Farley
1548e0e7b9 Merge changes from topic "xlnx_feat_chores" into integration
* changes:
  chore(xilinx): update print information
  feat(versal-net): add jtag dcc support
2023-02-02 16:53:37 +01:00
Akshay Belsare
d6760c4da8 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>
2023-02-02 09:46:05 +05:30
Soby Mathew
e3df3ffa11 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
2023-02-01 17:03:22 +01:00
Akshay Belsare
30e8bc365c 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>
2023-02-01 10:34:01 +05:30
Jeffrey Kardatzke
05c69cf75e 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
2023-01-31 10:38:16 -08:00
AlexeiFedorov
1db295cf4b 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
2023-01-31 16:56:04 +01:00
AlexeiFedorov
8268590498 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
2023-01-31 14:19:48 +02:00
Manish V Badarkhe
3c24d222a0 Merge "feat(morello): add support for HW_CONFIG" into integration 2023-01-30 16:55:55 +01:00
Madhukar Pappireddy
38d7fc7e15 Merge "perf(imx): speed-up console/uart TX using FIFO" into integration 2023-01-30 16:20:05 +01:00
Sandrine Bailleux
ed62dd21fc Merge "docs(measured-boot): fix few typos" into integration 2023-01-30 11:05:43 +01:00
Manish V Badarkhe
cca91b7ae5 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>
2023-01-30 09:06:35 +00:00
Loic Poulain
4be8c0993c 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
2023-01-27 17:34:15 +01:00
Patrik Berglund
be79071ef7 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
2023-01-27 15:54:56 +00:00
Lauren Wehrmeister
ae006cd3bd Merge "fix(cpus): workaround for Cortex-A78C erratum 2772121" into integration 2023-01-27 16:52:19 +01:00
Manish V Badarkhe
9dea6fa680 Merge "feat(plat/tc): enable MPAM functionality of L3 DSU cache" into integration 2023-01-27 12:50:27 +01:00
Davidson K
b45ec8cea4 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
2023-01-27 08:01:02 +01:00
Lauren Wehrmeister
1678bbb572 Merge "fix(cpus): workaround for Cortex-A510 erratum 2684597" into integration 2023-01-26 21:24:49 +01:00
Lauren Wehrmeister
fc3bdab985 Merge "fix(psci): tighten psci_power_down_wfi behaviour" into integration 2023-01-26 21:18:22 +01:00
Soby Mathew
d127d74764 Merge "docs(rme): improve OOB instruction for RME" into integration 2023-01-26 15:43:02 +01:00
Soby Mathew
d9c976b088 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
2023-01-26 15:59:06 +02:00
Harrison Mutai
aea4ccf8d9 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>
2023-01-25 09:40:33 +00:00
Madhukar Pappireddy
aa61ff6c9f 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
2023-01-24 17:29:28 +01:00
Sandrine Bailleux
b6d4d73b88 Merge "docs: change security advisories notification channel" into integration 2023-01-24 11:06:22 +01:00
Harrison Mutai
695a48b5b4 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>
2023-01-23 17:25:40 +00:00
Manish V Badarkhe
5a53c6c667 Merge "feat(fiptool): handle FIP in a disk partition" into integration 2023-01-23 13:57:39 +01:00
Sandrine Bailleux
872d86568a Merge "feat(rss): add TC platform UUIDs for RSS images" into integration 2023-01-23 12:47:15 +01:00
Antonio Borneo
06e69f7c94 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
2023-01-23 11:45:53 +01:00
Bipin Ravi
982f8e1997 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
2023-01-20 20:37:07 +01:00
Madhukar Pappireddy
acf455b41f 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
2023-01-20 18:20:59 +01:00
Sona Mathew
2757da0614 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>
2023-01-19 12:14:39 -06:00
Sona Mathew
7d1700c4d4 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>
2023-01-19 12:13:46 -06:00
Manish Pandey
344e5e8149 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
2023-01-19 18:19:50 +01:00
Madhukar Pappireddy
96df1f1db6 Merge "fix(plat/css): fix invalid redistributor poweroff" into integration 2023-01-18 19:51:50 +01:00
Bipin Ravi
00230e37e3 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
2023-01-18 11:30:25 -06:00
Madhukar Pappireddy
5c5ea616ea Merge "fix: add parenthesis for tests in MIN, MAX and CLAMP macros" into integration 2023-01-18 18:06:38 +01:00
Waleed Elmelegy
60719e4e09 fix(plat/css): fix invalid redistributor poweroff
Commit 4d8c181963
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
2023-01-18 16:19:14 +02:00
Joanna Farley
95cde79501 Merge "fix(zynqmp): fix xck24 silicon ID" into integration 2023-01-18 13:33:02 +01:00
Manish Pandey
79c262327a 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
2023-01-18 12:06:11 +01:00
Michal Simek
f156590767 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 86869f99d0 ("feat(zynqmp): add support for xck24 silicon").

Change-Id: I727bfe43fd7ef9e604f63bde5fa37fa3666db8c4
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-01-18 09:09:19 +01:00
Manish Pandey
28a8efd2e2 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
2023-01-17 17:43:29 +01:00
AlexeiFedorov
a97bfa5ff1 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
2023-01-17 16:35:41 +00:00
Madhukar Pappireddy
0185523948 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
2023-01-16 21:46:50 +01:00
Manish Pandey
7f31629d5d Merge changes from topic "deprecate_io_drivers" into integration
* changes:
  refactor(st): remove unused io_mmc driver
  docs: deprecate io_dummy driver
2023-01-16 16:45:37 +01:00
Manish Pandey
c2c3ca12e5 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
2023-01-16 16:44:17 +01:00
Joanna Farley
caea096583 Merge "feat(versal-net): add support for uart1 console" into integration 2023-01-16 14:45:05 +01:00
Sandrine Bailleux
e64a26aaa2 Merge "docs(security): security advisory for CVE-2022-47630" into integration 2023-01-16 14:23:39 +01:00
Sandrine Bailleux
d7156d4123 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
2023-01-16 14:07:29 +01:00
Akshay Belsare
2f1b4c5550 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>
2023-01-16 16:36:22 +05:30
Manish Pandey
f53a1b6735 Merge "refactor(el3_runtime): remove unnecessary assembly macros" into integration 2023-01-13 11:19:52 +01:00