Commit graph

15499 commits

Author SHA1 Message Date
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
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
Olivier Deprez
63912657b9 Merge "feat(rmmd): el3 token sign during attestation" into integration 2024-10-16 08:56:40 +02:00
Manish V Badarkhe
28ed5bf191 Merge "docs: update TF-A May'25 release dates" into integration 2024-10-16 08:44:28 +02:00
Govindraj Raja
368e4fa551 docs: update TF-A May'25 release dates
Tentatively updating the plan for TF-A v2.13 release in May'25.

Change-Id: I98abe5f72901b71179a1efe3762046756d5ab6ac
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-15 14:47:08 -05:00
Raghu Krishnamurthy
6a88ec8b30 feat(rmmd): el3 token sign during attestation
Add required SMCs by RMM to push attestation signing requests to EL3
and get responses. EL3 may then choose to push these requests to a HES
as suitable for a platform. This patch also supports the new
RMM_EL3_FEATURES interface, that RMM can use to query for support for
HES based signing. The new interface exposes a feature register with
different bits defining different discoverable features. This new
interface is available starting the 0.4 version of the RMM-EL3
interface, causing the version to bump up. This patch also adds a
platform port for FVP that implements the platform hooks required to
enable the new SMCs, but it does not push to a HES and instead copies a
zeroed buffer in EL3.

Change-Id: I69c110252835122a9533e71bdcce10b5f2a686b2
Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
2024-10-15 08:20:28 -07:00
Manish V Badarkhe
742d0e6ef3 Merge changes from topic "add-qcbor-dependency" into integration
* changes:
  chore(tc): increase stack size with 0x100 bytes
  chore(tc): link QCBOR library to the platform test
2024-10-14 15:05:53 +02:00
Olivier Deprez
e3b8e78d8d Merge changes I19503ac3,I0fb128a4,I287ab9c3 into integration
* changes:
  feat(tc): move flash device to own node
  feat(tc): remove static memory used for fwu
  fix(tc): correct NS timer frame ID for TC
2024-10-14 14:39:08 +02:00
Manish Pandey
3f31ccaea6 Merge changes Ic79429c3,Ie2d5272e,Iec73f9c5,Ie63f48dc,I951da75a, ... into integration
* changes:
  feat(stm32mp2): load FW binaries to DDR
  feat(stm32mp2-fdts): update STM32MP257F-EV1 DT
  feat(fdts): add DDR4 files for STM32MP2
  feat(stm32mp25-fdts): add DDRCTRL and DDRPHY settings in DDR node
  feat(stm32mp25-fdts): add DDR power supplies
  feat(stm32mp2-fdts): add memory node
  feat(stm32mp2): enable DDR driver
2024-10-14 13:58:34 +02:00
Michal Simek
6d41398382 feat(xilinx): add none console
None console does not register boot and runtime console.
User will not observe any console logs.

Change-Id: I39877c900f399ae7cffc1bb599b30c7a23888fc8
Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:39:15 +00:00
Maheedhar Bollapalli
11964742d6 feat(versal2): add dtb & runtime console
Modified platform.mk and  bl31_setup to
invoke setup_console and runtime_console
to support dtb console parsing and runtime.

Change-Id: I68c2fffd90e38274cfad4f85dd51c722fae0ee89
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:39:09 +00:00
Prasad Kummari
d61ba95eec feat(versal-net): add DTB console to platform.mk
In the platform.mk file, new console types named dtb
are to be created a macro, VERSAL_NET_CONSOLE_ID_dtb, will
be introduced to check DT console.Users will have the
option to select VERSAL_NET_CONSOLE to dtb, which will run
from the DDR address and OCM. The address XILINX_OF_BOARD_DTB_ADDR
needs to be provided. This configuration will register the
DT console in TF-A

Change-Id: I530492c3f48705387e50895aef4bf229a82d350d
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Prasad Kummari
28ad0e0209 feat(versal-net): dedicate console for boot and runtime
Introduce a build-time parameter (CONSOLE_RUNTIME) to select
separate runtime console options. For boot-time console, remove
the runtime flag and add a boot/crash flag. Additionally,
introduce an RT_CONSOLE_IS macro to check different UART types.

Implement a common function, console_runtime_init(), to initialize
the runtime console. Ensure that all platforms have access to
this feature.

The current implementation utilizes a single console for boot,
crash, and runtime. Make sure that the dedicated console integrates
into runtime and crash scenarios

Change-Id: I49b8554c0f067c85eb693e039a0cf17c5e6794ce
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Prasad Kummari
d629db2476 feat(versal): add DTB console to platform.mk
In the platform.mk file, new console types named dtb
are to be created a macro, VERSAL_CONSOLE_ID_dtb, will
be introduced to check DT console.Users will have the
option to select VERSAL_CONSOLE to dtb, which will run
from the DDR address and OCM. The address XILINX_OF_BOARD_DTB_ADDR
needs to be provided. This configuration will register the
DT console in TF-A.

Change-Id: Iee0ed2d5bb73c833f34809699203622b912cdbd7
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Prasad Kummari
d533f58d55 feat(versal): dedicate console for boot and runtime
Introduce a build-time parameter (CONSOLE_RUNTIME) to select
separate runtime console options. For boot-time console, remove
the runtime flag and add a boot/crash flag. Additionally,
introduce an RT_CONSOLE_IS macro to check different UART types.

Implement a common function, console_runtime_init(), to initialize
the runtime console. Ensure that all platforms have access to
this feature.

The current implementation utilizes a single console for boot,
crash, and runtime. Make sure that the dedicated console integrates
into runtime and crash scenarios.

Change-Id: I7b71fb4a8cd36e8e91c98ebee09904ba47222e33
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Michal Simek
cca2b86597 refactor(xilinx): register runtime console directly
Initialize runtime console early instead of deferred init.

Change-Id: Iae2f69ba4da27b62b69d640e3ccdc1303f549617
Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Maheedhar Bollapalli
d2e00eea05 refactor(xilinx): console registration through console holder structure
Refactored register_console using console holder structure as
input. Structure holds console scope and console type as additional
members. These modifications enhance code readability and
maintainability, contributing to a clearer and more sustainable
codebase for future development.

Change-Id: I7fcc1accfdecdacc205d427a80031536c456638e
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Prasad Kummari
09a02ce0bd feat(zynqmp): add DTB console to platform.mk
In the platform.mk file, new console types named dtb are to be created
a macro, ZYNQMP_CONSOLE_ID_dtb, will be introduced to check DT console.
Users will have the option to select ZYNQMP_CONSOLE to dtb, which will
run from the DDR address. The address XILINX_OF_BOARD_DTB_ADDR needs
to be provided. This configuration will register the DT console in TF-A.
Flags for the ZynqMP platform and other AMD-Xilinx platforms will be
updated to utilize common code.

Change-Id: If74da4a80196575335c9d5562e6d8cd12d99561c
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Prasad Kummari
4557ab69fe feat(zynqmp): dedicate console for boot and runtime
Introduce a build-time parameter (CONSOLE_RUNTIME) to select
separate runtime console options. For boot-time console, remove
the runtime flag and add a boot/crash flag. Additionally,
introduce an RT_CONSOLE_IS macro to check different UART types.

Implement a common function, console_runtime_init(), to initialize
the runtime console. Ensure that all platforms have access to
this feature.

The current implementation utilizes a single console for boot,
crash, and runtime. Make sure that the dedicated console integrates
into runtime and crash scenarios.

Change-Id: I32913dede3d87109e54d179e7d99f45c33b9097b
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:35:54 +00:00
Maheedhar Bollapalli
238eb542bb fix(xilinx): dcc to support runtime console scope
DCC driver to support boot and runtime console scope
switch for dedicated boot and runtime consoles.

Change-Id: I7769dc44860a5fda99ca42ce17a3a6009288d7e7
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-10-14 08:34:26 +00:00
Jayanth Dodderi Chidanand
4ec4e545c6 feat(sctlr2): add support for FEAT_SCTLR2
Arm v8.9 introduces FEAT_SCTLR2, adding SCTLR2_ELx registers.
Support this, context switching the registers and disabling
traps so lower ELs can access the new registers.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I0c4cba86917b6b065a7e8dd6af7daf64ee18dcda
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-13 18:44:54 -05:00
Jayanth Dodderi Chidanand
6d0433f040 feat(the): add support for FEAT_THE
Arm v8.9 introduces FEAT_THE, adding Translation Hardening Extension
Read-Check-Write mask registers, RCWMASK_EL1 and RCWSMASK_EL1.
Support this, context switching the registers and disabling
traps so lower ELs can access the new registers.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I8775787f523639b39faf61d046ef482f73b2a562
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-13 18:44:54 -05:00
Madhukar Pappireddy
75b0d5756f Merge "feat(s32g274a): add ncore support" into integration 2024-10-11 16:40:21 +02:00
Olivier Deprez
49d6e198f4 Merge "docs: deprecate Arm TC2 FVP platform" into integration 2024-10-11 14:57:00 +02:00
Sai Krishna Potthuri
b048601eee fix(versal2): correct the UFS clock rates
Update the UFS clock rates as per the expected range
- Update the clock rates of "ufs_phy_clk" and "ufs_ref_pclk" to 26MHz
as 100MHz is not the valid clock rate for these two clocks.
- cpu_clock rate (908KHz) is not valid clock for UFS, hence skip setting
up UFS clocks to cpu_clock for SPP platform.

Change-Id: I31863619ca1bd527df283d1636493dd8fce18809
Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
2024-10-11 15:02:37 +05:30
Yann Gautier
9a0cad3917 feat(stm32mp2): load FW binaries to DDR
Now that DDR is initialized, we can load the different firmware
parts:  BL32 (OP-TEE header), BL32 extra1 (OP-TEE), HW_CONFIG (U-Boot
device tree) and BL33 (U-Boot).

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Ic79429c3bd4516c339f91a10e0b3f2828bf6c392
2024-10-11 11:01:02 +02:00
Davidson K
62269d4743 feat(tc): move flash device to own node
Move the flash address to its own devicetree node in
tc_spmc_manifest.dtsi. This patch also changes the device-type to
ns-device-memory which is the correct type for a flash device.

Change-Id: I19503ac35c433661faaaa01c0b83a16540d73810
Co-developed-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-10-11 09:45:36 +02:00
Madhukar Pappireddy
607ab7ae2f Merge "fix(st-ddr): fix coverity issue in ddrphyinit" into integration 2024-10-10 21:12:44 +02:00
Maxime Méré
5dd1d54477 fix(st-ddr): fix coverity issue in ddrphyinit
Address issue CID 445362 and CID 445361 found during coverity scan.

Change-Id: I1ab460d2e1353b81517788e32de662f203b0352f
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
2024-10-10 18:07:08 +02:00
Yann Gautier
f0d6dcb2bf feat(stm32mp2-fdts): update STM32MP257F-EV1 DT
Add include for DDR configuration, and reference to OTP storing the
board ID.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Ie2d5272ecf1dac77b91b2c148ec4dc1fb7b76631
2024-10-10 10:10:31 +02:00
Yann Gautier
178aef6989 feat(fdts): add DDR4 files for STM32MP2
These DT files will be used by STM32MP2 boards. They embed DDR parameters
for DDR4 2x8Gb 2*16bits, at 800MHz or 1200MHz.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: Iec73f9c5028f897624125082bdb591274aad3afc
2024-10-10 10:10:31 +02:00
Nicolas Le Bayon
56ac99a04c feat(stm32mp25-fdts): add DDRCTRL and DDRPHY settings in DDR node
Complete DDR node with all necessary DDRCTRL (register values) and
DDRPHY (user input values) settings.
Add also name and speed properties.

Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Change-Id: Ie63f48dcacefe590c68cf6ec694d9e82349cece8
2024-10-10 10:10:31 +02:00
Patrick Delaunay
7323c7f9a3 feat(stm32mp25-fdts): add DDR power supplies
Add the required power supplies for DDR nodes. The power supplies are
provided by STPMIC2 regulators.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Change-Id: I951da75a554bc4fbfbc69ea9cd1171d99ed7ce46
2024-10-10 10:10:31 +02:00
Yann Gautier
e34839b9a2 feat(stm32mp2-fdts): add memory node
Add ddr node in stm32mp251.dtsi file, which gives addresses to DDR PHY
and DDR controller.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I719bfd1640a8217ff79e79b5b53845b75421d298
2024-10-10 10:10:31 +02:00
Nicolas Le Bayon
213a08eb42 feat(stm32mp2): enable DDR driver
Call stm32mp2_ddr_probe() function in platform setup.
Move DDR systematic test file in common.mk.

Change-Id: I982abd33635a3222a52c967eac64676bc26b0d6b
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
2024-10-10 10:10:31 +02:00
Madhukar Pappireddy
eaaf26e3e6 Merge changes I93de2db1,I880f88b1,I02e2fc75,I48908413,Ie7de9a9f, ... into integration
* changes:
  feat(st-ddr): add STM32MP2 driver
  refactor(st-ddr): create generic services
  refactor(st-ddr): remove name from stm32mp_ddr_reg_desc
  refactor(st-ddr): add definition for timeouts and delays
  feat(st): add stm32mp_is_wakeup_from_standby()
  feat(stm32mp2): add RETRAM map/unmap capability
  feat(stm32mp2): add helper to get DDRDBG base address
  feat(stm32mp2): handle DDR power supplies
  feat(stm32mp1): handle DDR power supplies
2024-10-09 20:06:39 +02:00
Sieu Mun Tang
b3d2850842 fix(intel): update Agilex5 BL2 init flow and other misc changes
BL2: Update BL2 init flow, Timer base address, avoid cache
flush of BL2 image descriptors
BL31: Remove re-init of CCU and other misc updates

Change-Id: I5f04901cc455c306209c83aad2377bbf7d8a1789
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-09 20:04:16 +02:00
Madhukar Pappireddy
01c80c1956 Merge changes from topic "nxp-clk/add_ddr_clk" into integration
* changes:
  fix(nxp-clk): function parameter should not be modified
  feat(nxp-clk): enable the DDR clock
  feat(nxp-clk): add objects needed for DDR clock
  feat(nxp-clk): setup the DDR PLL
  feat(nxp-clk): add MC_ME utilities
  feat(nxp-clk): add partition reset utilities
  feat(nxp-clk): add partitions objects
2024-10-09 16:11:09 +02:00
Nicolas Le Bayon
79629b1a79 feat(st-ddr): add STM32MP2 driver
Add driver to support DDR on STM32MP2 platform. It drives the DDR PHY
and its firmware, as well as the DDR controller.

Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: I93de2db1b9378d5654e76b3bf6f3407d80bc4ca5
2024-10-09 15:09:11 +02:00
Manish V Badarkhe
e0ac845e25 docs: deprecate Arm TC2 FVP platform
Arm has made the strategic decision to deprecate the TC2 platform. As
a result, software development and the creation of fast models for TC2
have been officially discontinued. The TC2 platform, now considered
obsolete, has been succeeded by the TC3 and TC4 platforms. Notably,
both TC3 and TC4 are already integrated into TF-A, with TC3 included
in the CI repository. Work to add CI support for TC4 is currently in
progress.

Change-Id: I4df3c3e947faa1849a0f4742593c604cb2ee43b9
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-10-08 15:03:55 +01:00
Ghennadi Procopciuc
5071f7c7ee feat(s32g274a): add ncore support
Ncore is a cache-coherent interconnect module. It enables the
integration of heterogenous coherent agents and non-coherent
agents in a chip. TF-A boots with the first core in isolation
to avoid crashes due to cache invalidation operations. Later,
it will disable the isolation and reconfigure the module every
time a new core is added or removed through PSCI.

Change-Id: Ida42db91b10be1e66c3b9b73674d1e37a61844dd
Signed-off-by: Dan Nica <dan.nica@nxp.com>
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-10-08 13:38:46 +03:00
Sieu Mun Tang
ce21a1a909 feat(intel): update Agilex5 DDR and IOSSM driver
DDR and IOSSM driver code for Agilex5 platform,
initialize the DDR/IOSSM in BL2 EL3 early flow.

Change-Id: I3e4205171d9356190b60498cae322318520bb1c2
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-10-07 17:28:30 +02:00