Commit graph

11940 commits

Author SHA1 Message Date
Madhukar Pappireddy
ae1d9d9046 docs(spm): add other-s-interrupts-action field to sp manifest
Also, the `run-time-model` field is removed from SP manifest binding
as it is not supported by Hafnium(SPMC).

Change-Id: Id8a91b2608791667e6285b3c5b879ec84612149d
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2023-01-26 08:56:29 -06: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
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
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
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
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
Manish Pandey
e5d6cec86f Merge "fix(mpam): remove unwanted param for "endfunc" macro" into integration 2023-01-13 10:07:42 +01:00
Andrew Davis
81f525ecc7 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
2023-01-12 18:45:48 -06:00
Andrew Davis
c06e78cb3e refactor(ti): remove empty validate_ns_entrypoint function
Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I93165e9f26f5a5b600e7b6a9d48df75d62e89f17
2023-01-12 18:45:48 -06:00
Andrew Davis
7c85bfac1e refactor(ti): use console_set_scope() rather than empty function hack
Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I62c1215bc02e95a7ea9fa1e2dfa9ef05e204fce1
2023-01-12 18:45:48 -06:00
Andrew Davis
4db96de45d refactor(ti): factor out common board code into common files
Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Ibf7328418c5285a64608b80e7c430a8dee64fb1d
2023-01-12 18:45:48 -06:00
Andrew Davis
0bdef264c2 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
2023-01-12 18:44:54 -06:00
Andrew Davis
2fcd408bb3 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
2023-01-12 18:42:57 -06:00
Andrew Davis
5668db72b7 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
2023-01-12 18:42:57 -06:00
Andrew Davis
10d5cf1b26 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
2023-01-12 18:42:57 -06:00
Andrew Davis
81858a353f 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
2023-01-12 18:42:57 -06:00
Andrew Davis
aee2f33a67 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
2023-01-12 18:42:57 -06:00
Manish V Badarkhe
74a3f9ecf4 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
2023-01-12 22:15:40 +01:00
Sandrine Bailleux
5442a875ca Merge changes Id4570f91,Ibdf1af70 into integration
* changes:
  fix(auth): properly validate X.509 extensions
  fix(auth): avoid out-of-bounds read in auth_nvctr()
2023-01-12 20:36:08 +01:00
Tony K Nadackal
028c6190d9 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
2023-01-12 17:26:00 +00:00
Tony K Nadackal
a9896306c1 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
2023-01-12 17:26:00 +00:00
Joanna Farley
42c4760afa 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
2023-01-12 11:11:28 +01:00
Joanna Farley
3e15e67ca8 Merge "fix(versal): print proper atf handoff source" into integration 2023-01-12 11:08:52 +01:00
Madhukar Pappireddy
72020318f2 Merge "fix(cpus): workaround for Cortex-X2 erratum 2282622" into integration 2023-01-11 22:06:28 +01:00
Lauren Wehrmeister
fb79797473 Merge "fix(cpus): workaround for Cortex-A710 erratum 2282622" into integration 2023-01-11 20:57:27 +01:00
Bipin Ravi
f9c6301d74 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
2023-01-11 11:34:19 -06:00
Andre Przywara
2e1241888e 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>
2023-01-11 16:02:58 +00:00
Andre Przywara
c5a3ebbd3a 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>
2023-01-11 16:02:58 +00:00