Commit graph

15704 commits

Author SHA1 Message Date
Joanna Farley
4aa246336b Merge "feat(amd): populate handoff from TL" into integration 2024-10-22 14:00:35 +02:00
Manish V Badarkhe
72447cad65 Merge "docs: add Govind as new TF-A maintainer" into integration 2024-10-22 13:53:51 +02:00
Maxime Méré
747d85ee77 fix(stm32mp2): set PLAT_MAX_PWR_LVL to one
Set maximum power level to 1 as power management isn't implemented yet.

Change-Id: I26cefbb5e199944d371bf06a76b2c41f73d38585
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
2024-10-22 11:25:07 +02:00
Yann Gautier
c900760d47 feat(stm32mp2): boot BL33 at EL1 or EL2
STM32 MPUs use U-Boot as BL33. It can handle being booted at EL2.
Add a new STM32MP_BL33_EL1 config boolean. If defined BL33 will start
at EL1 and with INIT_UNUSED_NS_EL2 defined to Iiitialize the unused EL2
registers.

Change BL33 spsr parameter in bl2_mem_params_descs[] to use MODE_EL2
or MODE_EL1 depending on this flag. Default to MODE_EL1 as kernel
isn't able to boot at EL2 yet.

Change-Id: I6a8b35280d454d8140d7b28f0a5fc9b9a5093d6d
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
2024-10-22 11:24:58 +02:00
Yann Gautier
128df96579 feat(stm32mp2): disable unsupported features
SPE and SVE for non-secure world are not supported on Arm v8.0.
Disable the corresponding flags. This also saves a bit of memory.

Change-Id: I323fb7410393ea9711759be4c47848316fb68860
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
2024-10-22 11:24:46 +02:00
Olivier Deprez
cec6f11f40 docs: add Govind as new TF-A maintainer
Also update Raghu's email address.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: Icea15fa5eaf5413b0be7c42e8ef376cfeb9d5f27
2024-10-22 10:13:30 +02:00
Amit Nagal
1fbe81febd feat(amd): populate handoff from TL
Handoff structures are populated by executable entry point
information tag based bl32/bl33 entries present in transfer list.

The upstream code is having problem with the last TL entry
particularly when the tags for two entries are same.
While tlc tool dumps all entries correctly, transfer_list_dump() in
upstream code does not provide information about the last entry in TL.

Enabling TRANSFER_LIST also enables BL1_SOURCES and BL2_SOURCES in
transfer_list.mk thereby enabling bl1/bl2 builds.
bl1/bl2 builds are disabled by turning off NEED_BL1/NEED_BL2
build flags.

Change-Id: I55ddccc1ab266cc5a609423d304a5e5c282e17f6
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
2024-10-22 11:05:14 +05:30
Madhukar Pappireddy
e08d06acef Merge changes I8d62253e,I320a0585 into integration
* changes:
  feat(stm32mp2): initialize gic and delay timer in bl31_plat_arch_setup
  feat(stm32mp2): add BL31 device tree support
2024-10-22 05:15:14 +02:00
Sieu Mun Tang
f06fdb1469 fix(intel): fix CCU for cache maintenance
Fix CCU settings for cache maintenance.

Change-Id: I9af35a6ab7aa9ee20e05ba82d0a042948ac29a93
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
2024-10-22 09:46:18 +08:00
Sieu Mun Tang
f29765fd33 fix(intel): update preloaded_bl33_base for legacy product
Update preloaded_bl33_base for legacy product for Yocto.

The Yocto Jenkins build was initially configured to build products
where the starting of the DDR is from 0x0000 0000. And if there is
no NS_image_offset set, the Jenkins is not able to acquire the correct
address offset to boot up the system. However, in the direct OS boot,
there is no issue as the user shall always include the address offset
during the compilation phase. Otherwise, the code shall execute the
default address offset. Besides that, this also provides the
flexibility to user to customize their SoC design by not restricted
to the default address.

SDMMC block size. It was changed due to the need when boot to Linux.
Kernel.itb size is big thus we have to increase the available reading
block size. Otherwise for normal U-boot and Zephyr it shall not be
reading a big block size to avoid "garbage" data.

Change-Id: I1c2a22db28bf0ada734563e40efd4f5749951273
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-22 09:32:37 +08:00
Govindraj Raja
034b919748 Merge "chore(cpus): optimise runtime errata applications" into integration 2024-10-21 19:53:23 +02:00
Sieu Mun Tang
7ac7dadb55 fix(intel): flush L1/L2/L3/Sys cache before HPS cold reset
This fix is to flush and invalidate the caches before cold reset.
Issue happen where Agilex5 hardware does not support the caches flush.
Thus software workaround is needed.

Change-Id: Ibfeecbc611d238a069ca72f8b833f319e794cd38
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-22 01:07:19 +08:00
Sieu Mun Tang
b5c3a3fc94 feat(intel): direct boot from TF-A to Linux for Agilex
Enable and update code for TF-A direct boot Linux
for Agilex platform.

Change-Id: Id95986b7015a2a01f0aff80e1c7d8f8bb8fb4637
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
2024-10-22 00:29:00 +08:00
Olivier Deprez
2752c2a849 Merge "feat(cpus): add support for arcadia cpu" into integration 2024-10-21 17:20:12 +02:00
Govindraj Raja
612c4e6950 Merge "chore(commitlint): tell editors commit line lengths are 72 characters" into integration 2024-10-21 16:35:36 +02:00
Ahmed Azeem
8118078b71 feat(cpus): add support for cortex-a720ae
Add the basic CPU library code to support Cortex-A720AE.
The overall library code is adapted based on Cortex-A720 code.

Signed-off-by: David Hu <david.hu2@arm.com>
Signed-off-by: Ahmed Azeem <ahmed.azeem@arm.com>
Change-Id: I3d64dc5a3098cc823e656a5ad3ea05cd71598dc6
2024-10-21 15:20:34 +01:00
Maxime Méré
77847f037d feat(stm32mp2): initialize gic and delay timer in bl31_plat_arch_setup
For minimal BL31 setup, GIC and tick must be initialized.

Change-Id: I8d62253e93b77cd8ce8091ccc9ea88208bdd6053
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
2024-10-21 16:06:01 +02:00
Maxime Méré
27dd11dbf5 feat(stm32mp2): add BL31 device tree support
BL31 will need to access a device tree for several configurations (UART,
GIC, OTP mapping...).
Create a BL31 device tree (SOC_FW_CONFIG). It is loaded in DDR, in a
spare area.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: I320a05859e1aa3dd8db9a274e7201075a8c250c2
2024-10-21 16:03:07 +02:00
Olivier Deprez
5ec9ade9dd Merge "fix(brbe): allow RME builds with BRBE" into integration 2024-10-21 12:12:17 +02:00
Maheedhar Bollapalli
0f9f5575cc fix(versal): add const qualifier
This correct the MISRA violation C2012-8.13:
A pointer should point to a const-qualified type whenever possible.
Added const qualifier to pointer variables and function arguments.

Change-Id: I33cc594816809a118bff369d98d5689a96f6867f
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2024-10-21 09:45:49 +00:00
Maheedhar Bollapalli
bb145c9d9b fix(zynqmp): add const qualifier
This correct the MISRA violation C2012-8.13:
A pointer should point to a const-qualified type whenever possible.
Added const qualifier to pointer in the function arguments.

Change-Id: If1f86a01a8bcd7f9be48b5ca3a6a00df439f2fab
Signed-off-by: Nithin G <nithing@amd.com>
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
2024-10-21 09:44:48 +00:00
mojyack
52cdebbcc5 fix(rockchip): fix "unexpected token" error with clang
Change-Id: I5be872c882801d170af4511b2289b77a13395162
Signed-off-by: mojyack <mojyack@gmail.com>
2024-10-18 22:43:43 +02:00
Joanna Farley
82a530f4ad Merge changes from topic "xlnx_versal2_changes" into integration
* changes:
  feat(versal2): support dynamic XLAT tables
  fix(versal2): update check for TRANSFER_LIST macro
2024-10-18 21:35:20 +02:00
Manish V Badarkhe
1ba08807a5 fix(tc): retain NS timer frame ID for TC2 as 0
Recent change [1], caused failure in the TC2 run and this
change meant to be for TC3 and TC4.

[1]: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/31424

Change-Id: Ibfd604a842815bcf6d413dcba2c440df81dbb486
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-10-18 15:38:12 +01:00
Manish Pandey
17ef5da7fd Merge "feat(context-mgmt): introduce EL3/root context" into integration 2024-10-18 14:44:19 +02:00
Boyan Karatotev
9890eab574 fix(brbe): allow RME builds with BRBE
It used to be the case that a FEAT_RME build could not be built with
FEAT_BRBE support. BRBE doesn't have a 3-world aware disable and
MDCR_EL3 was not context switched to allow for disabling in Realm world.

As of commit 123002f917 MDCR_EL3 is
context switched. Since the flag for BRBE support is
ENABLE_BRBE_FOR_NS, move brbe_enable() to only happen for NS world. The
other worlds will see BRBE disabled and branch recording prohibited.
This allows for a build with both RME and BRBE.

Note that EL2 BRBE registers are not context switched. Further work is
needed if non-NS support is required.

Change-Id: I82f0f08399dcd080902477dc9636bc4541685f89
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2024-10-18 11:30:34 +01:00
Olivier Deprez
3eb25ebeb3 Merge changes I7d9444d5,I7b104c8e into integration
* changes:
  feat(mt8192): update memory protect region
  feat(mt8195): update memory protect region
2024-10-18 12:29:57 +02:00
Akshay Belsare
9aa71f48bc feat(versal2): support dynamic XLAT tables
Enable support for Dynamic XLAT Tables by default for
AMD Versal Gen 2 Platform.

Change-Id: I532d9b208b0e7d8a7b1ffad741cc6c1cec0bd2ab
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
2024-10-18 15:07:48 +05:30
Akshay Belsare
7d09198f58 fix(versal2): update check for TRANSFER_LIST macro
Replace #if defined(TRANSFER_LIST) by #if TRANSFER_LIST.
By default TRANSFER_LIST macro is defined with value 0 in Makefile.
So checking if the macro is defined will always be true and instead
need to check the value of the macro to add the conditional code.

Change-Id: I90b06f378326d5e03ad576377ad173e81b100f56
Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
2024-10-18 15:07:39 +05:30
Joanna Farley
f1feb9a5cf Merge changes from topic "xlnx_fix_eval_bool" into integration
* changes:
  fix(versal_net): evaluate condition for boolean
  fix(versal): evaluate condition for boolean
  fix(zynqmp): evaluate condition for boolean
  fix(xilinx): rename variable to avoid conflict
2024-10-18 11:35:04 +02:00
Mark Dykes
6ff74c1bf5 Merge "fix(intel): implement soc and lwsoc bridge control for burst speed" into integration 2024-10-18 00:37:34 +02:00
Mark Dykes
533fda3fad Merge "feat(intel): update hand-off data to include agilex5 params" into integration 2024-10-18 00:35:55 +02:00
Sieu Mun Tang
a8d81d61e1 fix(intel): implement soc and lwsoc bridge control for burst speed
Implement burst speed read/write for SOC and LWSOC. Set bridge control
register to enable the register bit

Change-Id: I815b912cb90d79a548163d198eea177d70dfbc0d
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-17 23:14:55 +02:00
Girisha Dengi
6875d823ed feat(intel): update hand-off data to include agilex5 params
Update hand-off data structure to include agilex5
platform specific parameters.

Change-Id: Ic610e2d8da7488e49462293d13293e26520579e2
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-17 23:05:31 +02:00
Mark Dykes
3eab6c920c Merge "fix(intel): update mailbox SDM printout message" into integration 2024-10-17 23:02:41 +02:00
Mark Dykes
84aeae5818 Merge "fix(intel): update the size with addition 0x8000 0000 base" into integration 2024-10-17 22:57:38 +02:00
Manish V Badarkhe
d7adbb5258 Merge "refactor(delay-timer): add timer callback functions" into integration 2024-10-17 21:16:04 +02:00
Govindraj Raja
8fa5460708 feat(cpus): add support for arcadia cpu
Add basic CPU library code to support the Arcadia CPU.

Change-Id: Iecb0634dc6dcb34e9b5fda4902335530d237cc43
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-17 09:34:03 -05:00
Mark Dykes
b66f901baf Merge "fix(intel): fix bridge enable and disable function" into integration 2024-10-17 00:46:06 +02:00
Mark Dykes
8de2ae5f16 Merge "fix(intel): update outdated code for Linux direct boot" into integration 2024-10-17 00:45:35 +02:00
Mark Dykes
398509447b Merge "fix(intel): update Agilex5 BL2 init flow and other misc changes" into integration 2024-10-16 23:51:58 +02:00
Mark Dykes
63446df6c0 Merge "feat(intel): update Agilex5 DDR and IOSSM driver" into integration 2024-10-16 23:46:25 +02:00
Sieu Mun Tang
9978a3fd8b fix(intel): update the size with addition 0x8000 0000 base
The FPGA_CONFIG_SIZE is actually the end address of FPGA_CONFIG_ADDR
Thus, we need to add in the DDR base address which is 0x8000 0000.

Change-Id: I177596243e0616c6eadc2fa388e85e28692dc8f7
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-16 23:39:09 +02:00
Sieu Mun Tang
90f5283ec0 fix(intel): fix bridge enable and disable function
1. hps reset and reboot spec is missing ack clear status step
2. software workaround for bridge timeout
3. f2sdram bridge quick write thru failed
4. bridge timeout workaround for F2SOC and F2SDRAM


Change-Id: Ide4210ff862531f82e083633af385b559ffbe16b
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-16 23:38:25 +02:00
Sieu Mun Tang
21a01dac87 fix(intel): update outdated code for Linux direct boot
1. Update emif rsthdshk  macro
2. Update mailbox return status
3. Update bridge return status

Change-Id: I33905508aceb258ac8759c10079b2af977df0e0a
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-16 23:36:49 +02:00
Manish Pandey
b6f2e376a8 Merge "feat(sctlr2): add support for FEAT_SCTLR2" into integration 2024-10-16 16:58:04 +02:00
Manish Pandey
1cafc96f28 Merge "feat(the): add support for FEAT_THE" into integration 2024-10-16 15:36:33 +02:00
Joanna Farley
9c05fcf662 Merge "fix(versal2): correct the UFS clock rates" into integration 2024-10-16 15:24:41 +02:00
Joanna Farley
8ee6534417 Merge changes from topic "xlnx_fix_plat_console_changes" into integration
* changes:
  feat(xilinx): add none console
  feat(versal2): add dtb & runtime console
  feat(versal-net): add DTB console to platform.mk
  feat(versal-net): dedicate console for boot and runtime
  feat(versal): add DTB console to platform.mk
  feat(versal): dedicate console for boot and runtime
  refactor(xilinx): register runtime console directly
  refactor(xilinx): console registration through console holder structure
  feat(zynqmp): add DTB console to platform.mk
  feat(zynqmp): dedicate console for boot and runtime
  fix(xilinx): dcc to support runtime console scope
  refactor(xilinx): create generic function for DT console
  refactor(xilinx): rename setup_runtime_console to generic
  chore(xilinx): rename console variables
  chore(xilinx): rename runtime console to DT console
2024-10-16 15:23:28 +02:00
Boyan Karatotev
db9ee83432 chore(cpus): optimise runtime errata applications
The errata framework has a helper to invoke workarounds, complete with a
cpu rev_var check. We can use that directly instead of the
apply_cpu_pwr_dwn_errata to save on some code, as well as an extra
branch. It's also more readable.

Also, apply_erratum invocation in cpu files don't need to check the
rev_var as that was already done by the cpu_ops dispatcher for us to end
up in the file.

Finally, X2 erratum 2768515 only applies in the powerdown sequence, i.e.
at runtime. It doesn't achieve anything at reset, so we can label it
accordingly.

Change-Id: I02f9dd7d0619feb54c870938ea186be5e3a6ca7b
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2024-10-16 13:59:57 +01:00