Commit graph

392 commits

Author SHA1 Message Date
Yann Gautier
20544d66cc feat(stm32mp15-fdts): add SP_MIN versions of DT files
For ST STM32MP15 boards, where the default BL32 is OP-TEE, we add new
versions of DT files with -sp_min.dts extension to manage this
configuration. These files can be compiled directly, or, with the
previous patch, the same command line can be used and those sp_min
files will be automatically used, if AARCH32_SP=sp_min option is used.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I5aabe415b0302da48f02918a3dbd24f334eb8e7d
2025-02-26 20:25:25 +01:00
Boyan Karatotev
83ec7e452c perf(amu): greatly simplify AMU context management
The current code is incredibly resilient to updates to the spec and
has worked quite well so far. However, recent implementations expose a
weakness in that this is rather slow. A large part of it is written in
assembly, making it opaque to the compiler for optimisations. The
future proofness requires reading registers that are effectively
`volatile`, making it even harder for the compiler, as well as adding
lots of implicit barriers, making it hard for the microarchitecutre to
optimise as well.

We can make a few assumptions, checked by a few well placed asserts, and
remove a lot of this burden. For a start, at the moment there are 4
group 0 counters with static assignments. Contexting them is a trivial
affair that doesn't need a loop. Similarly, there can only be up to 16
group 1 counters. Contexting them is a bit harder, but we can do with a
single branch with a falling through switch. If/when both of these
change, we have a pair of asserts and the feature detection mechanism to
guard us against pretending that we support something we don't.

We can drop contexting of the offset registers. They are fully
accessible by EL2 and as such are its responsibility to preserve on
powerdown.

Another small thing we can do, is pass the core_pos into the hook.
The caller already knows which core we're running on, we don't need to
call this non-trivial function again.

Finally, knowing this, we don't really need the auxiliary AMUs to be
described by the device tree. Linux doesn't care at the moment, and any
information we need for EL3 can be neatly placed in a simple array.

All of this, combined with lifting the actual saving out of assembly,
reduces the instructions to save the context from 180 to 40, including a
lot fewer branches. The code is also much shorter and easier to read.

Also propagate to aarch32 so that the two don't diverge too much.

Change-Id: Ib62e6e9ba5be7fb9fb8965c8eee148d5598a5361
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2025-02-25 08:50:46 +00:00
Boyan Karatotev
2590e819eb perf(mpmm): greatly simplify MPMM enablement
MPMM is a core-specific microarchitectural feature. It has been present
in every Arm core since the Cortex-A510 and has been implemented in
exactly the same way. Despite that, it is enabled more like an
architectural feature with a top level enable flag. This utilised the
identical implementation.

This duality has left MPMM in an awkward place, where its enablement
should be generic, like an architectural feature, but since it is not,
it should also be core-specific if it ever changes. One choice to do
this has been through the device tree.

This has worked just fine so far, however, recent implementations expose
a weakness in that this is rather slow - the device tree has to be read,
there's a long call stack of functions with many branches, and system
registers are read. In the hot path of PSCI CPU powerdown, this has a
significant and measurable impact. Besides it being a rather large
amount of code that is difficult to understand.

Since MPMM is a microarchitectural feature, its correct placement is in
the reset function. The essence of the current enablement is to write
CPUPPMCR_EL3.MPMM_EN if CPUPPMCR_EL3.MPMMPINCTL == 0. Replacing the C
enablement with an assembly macro in each CPU's reset function achieves
the same effect with just a single close branch and a grand total of 6
instructions (versus the old 2 branches and 32 instructions).

Having done this, the device tree entry becomes redundant. Should a core
that doesn't support MPMM arise, this can cleanly be handled in the
reset function. As such, the whole ENABLE_MPMM_FCONF and platform hooks
mechanisms become obsolete and are removed.

Change-Id: I1d0475b21a1625bb3519f513ba109284f973ffdf
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2025-02-25 08:50:45 +00:00
AlexeiFedorov
2e55a3d74d feat(fvp): change size of PCIe memory region 2
Change size of PCIe memory region 2 from 256GB
to 3GB to fit in 1TB of GPT PPS.

Change-Id: Ic769bb784dd17d390b54ccef53b7788334373cb4
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
2025-02-11 15:10:49 +00:00
AlexeiFedorov
bef44f60ed feat(rmm): add PCIe IO info to Boot manifest
- Add PCIe and SMMUv3 related information to DTS for
  configurations with ENABLE_RME=1.
- Add entries for PCIe IO memory regions to Boot manifest
- Update RMMD_MANIFEST_VERSION_MINOR from 3 to 4.
- Read PCIe related information from DTB and write it to
  Boot manifest.
- Rename structures that used to describe DRAM layout
  and now describe both DRAM and PCIe IO memory regions:
  - ns_dram_bank -> memory_bank
  - ns_dram_info -> memory_info.

Change-Id: Ib75d1af86076f724f5c330074e231f1c2ba8e21d
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
2025-02-11 15:10:49 +00:00
Manish V Badarkhe
7c4c065022 Merge "feat(tc): enable Arm SPE for TC4" into integration 2025-02-06 13:49:11 +01:00
Manish Pandey
8b68a617bc Merge changes from topic "RDV3-hafnium-support" into integration
* changes:
  feat(rdv3): enable the support to fetch dynamic config
  feat(rdv3): add dts files to enable hafnium as BL32
  feat(rdv3): define SPMC manifest base address
  feat(arm): add a macro for SPMC manifest base address
  feat(rdv3): add carveout for BL32 image
  feat(rdv3): introduce platform handler for Group0 interrupt
  feat(neoverse-rd): use larger stack size when S-EL2 spmc is enabled
  fix(neoverse-rd): set correct SVE vector lengths
2025-02-06 12:55:47 +01:00
Leo Yan
cea55c836f feat(tc): enable Arm SPE for TC4
Enable the Arm SPE DT binding for TC4.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I9ea49046a663eecc2b97ecef9ca939575d71fdd9
2025-02-05 14:34:20 +01:00
Nishant Sharma
4d9b8281f3 feat(rdv3): add dts files to enable hafnium as BL32
On RD-V3 platform and variants, Hafnium is used as SPMC running at
S-EL2 and manage SP running at S-EL0. Hafnium is loaded and configured
as BL32 image. SP is loaded by SP load framework and configured by
Hafnium.

Add the dts files needed to enable load and configuration of hafnium and
SP.

Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Signed-off-by: Rakshit Goyal <rakshit.goyal@arm.com>
Change-Id: I7de72052323ff9106d7bedbaaf5ece3272e9a6cd
2025-02-05 10:58:38 +00:00
Manish V Badarkhe
697290a916 Merge changes from topic "us_tc_trng" into integration
* changes:
  feat(tc): get entropy with PSA Crypto API
  feat(psa): add interface with RSE for retrieving entropy
  fix(psa): guard Crypto APIs with CRYPTO_SUPPORT
  feat(tc): enable trng
  feat(tc): initialize the RSE communication in earlier phase
2025-02-04 13:19:10 +01:00
Olivier Deprez
269be518a8 Merge "feat(tc): update CPU PMU nodes for tc4" into integration 2025-02-04 11:54:43 +01:00
Leo Yan
2ae197acd6 feat(tc): enable trng
Enable the trng on the platform, which can be used by other features.
`rng-seed` has been removed and enabled `FEAT_RNG_TRAP` to trap to EL3
when accessing system registers RNDR and RNDRRS

Change-Id: Ibde39115f285e67d31b14863c75beaf37493deca
Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2025-02-04 10:26:00 +00:00
Jackson Cooper-Driver
99f6790cb9 feat(tc): add SLC MSC nodes to TC4 DT
These specify the addresses of the MPAM registers in the MCN block. Note
that these are enabled for TC4 FPGA only as the MPAM devices are not
available on FVP.

Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I105cd21952c2bd4fac5a06c84c0a93217b5e1312
2025-01-29 08:13:42 +00:00
Jackson Cooper-Driver
967999d0d9 refactor(tc): clarify msc0 DT node
This node specifies the location of the MPAM registers for the DSU.
Rename the node to clarify this.

Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ie870a7f31acbc44dd943e76896219b9bbdd7d5b4
2025-01-29 08:13:35 +00:00
Jagdish Gediya
1ce2c745a8 feat(tc): update CPU PMU nodes for tc4
CPU PMU types are not same for all CPUs on TC platforms, so define the
PMU node per microarchitecture.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ibbe8dacda695ccb45965c7f4680d4b03cffdb815
2025-01-28 15:05:16 +00:00
Madhukar Pappireddy
70a7fc8a22 Merge changes I95bb84b0,I2dfa62ac,I4017e44b into integration
* changes:
  feat(stm32mp2-fdts): add STM32MP257F-DK board support
  fix(stm32mp2-fdts): fix SDMMC slew rate
  feat(stm32mp2-fdts): add LPDDR4 files
2025-01-27 16:49:50 +01:00
Manish V Badarkhe
d9f9ad0b09 Merge changes I10a3fc1d,I3aed6228 into integration
* changes:
  fix(tc): set system-coherency to 0(ACE-LITE) for tc4-gpu
  fix(tc): fix SMMU streamId for tc4 gpu
2025-01-24 09:59:23 +01:00
Jagdish Gediya
bea55e3c7d refactor(tc): rename TC_FPGA_ANDROID_IMG_IN_RAM
Rename TC_FPGA_ANDROID_IMG_IN_RAM to TC_FPGA_FS_IMG_IN_RAM
to use it for debian loading to ram as well.

Change-Id: I70b68b06501d17dcebbe78bee8fec0a701106c92
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-10 10:00:42 +00:00
Jagdish Gediya
8dec63032e fix(tc): modify ethernet configuration for TC4 FPGA
Modify ethernet base addr and irq numbers for TC4 FPGA in dts to match
with its RoS configuration.

Change-Id: I7b180c3eb90d7557d0011a25a742106f703cd264
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-09 10:17:24 +00:00
Jagdish Gediya
5de9d79bc4 fix(tc): modify gpio controller base addr for TC4 FPGA
Modify gpio controller base addr for TC4 FPGA in dts to match
with its RoS configuration.

Change-Id: Id4ad925d23937d302adfb3e0d4b1573e5ec717c1
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-09 10:17:24 +00:00
Jagdish Gediya
bb9b89366f fix(tc): modify DPU configuration in dts for TC4 FPGA
TC4 FPGA DPU base addr and irq doesn't match with TC3 FPGA
so refactor the code to manage it accordingly.

Change-Id: Ie31933e0bcbd489945935829940a5c5434e6b1d7
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-09 10:17:24 +00:00
Jagdish Gediya
ba1faaf117 fix(tc): modify mmc configuration for TC4 FPGA
Modify mmc base addr and irq numbers for TC4 FPGA in dts to match
with its RoS configuration.

Change-Id: Ie8fe1f1d3aef1c020ac85db7c3b81dfad3722e2f
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-09 10:17:24 +00:00
Jagdish Gediya
cada6ca36c fix(tc): set system-coherency to 0(ACE-LITE) for tc4-gpu
As per GPU team, this change should be helpful to improve
the performance.

Change-Id: I10a3fc1d0ddf1ba0a17da6dc4f2a80f5fe567db6
Signed-off-by: Vishnu Satheesh <vishnu.satheesh@arm.com>
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-08 13:31:11 +00:00
Jagdish Gediya
bf223c7937 fix(tc): fix SMMU streamId for tc4 gpu
Currently used stream id 0x200 gives below fault,

[    9.547393][    C0] mali 2d000000.gpu: Unexpected Page fault in firmware address space at VA 0x0000000000000000
[    9.547393][    C0] raw fault status: 0x400D02C0
[    9.547393][    C0] exception type 0xC0: TRANSLATION_FAULT at level 0
[    9.547393][    C0] access type 0x2: READ

As per the GPU team, GPU stream id is 0 on TC4-FPGA so change it.

Change-Id: I3aed62289c5b96fb850f0022ea7f5172c606eb95
Signed-off-by: Vishnu Satheesh <vishnu.satheesh@arm.com>
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-08 13:31:11 +00:00
Jagdish Gediya
25264e292c refactor(tc): remove redundant macro UARTCLK_FREQ
remove redundant macro UARTCLK_FREQ and replace it with TC_UARTCLK
in dts.

Change-Id: Id463a9ddc1588278e552ffca3dfb738676229ce7
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
2025-01-07 09:28:16 +00:00
Yann Gautier
6a9e5ffda7 feat(stm32mp2-fdts): add STM32MP257F-DK board support
Add STM32MP257F Discovery board support. It embeds a STM32MP257FAL SoC,
with 2GB of LPDDR4, 2*USB typeA, 1*USB3 typeC, 1*ETH, wifi/BT combo,
DSI HDMI, LVDS connector ...

Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
Signed-off-by: Olivier BIDEAU <olivier.bideau@st.com>
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: I95bb84b00eafce8031f26f7243ecc0fce843d170
2025-01-06 17:49:38 +01:00
Christophe Kerello
575d6dd7af fix(stm32mp2-fdts): fix SDMMC slew rate
New slew rate applied.

SDMMC:
  - for SD card and eMMC:
    - clk at 2.
    - cmd and data at 1.
  - for Wifi
    - clk at 1.
    - cmd and data at 0.

SDMMC1:
 - for dk board:
   - clk at 2.
   - cmd and data at 1.
 - for eval board:
   - clk at 3.
   - cmd and data at 2.

Change-Id: I2dfa62aca08a613e0532746050246fc8dc476ff8
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
2025-01-06 17:49:38 +01:00
Yann Gautier
64f82e5a06 feat(stm32mp2-fdts): add LPDDR4 files
These DT files will be used by STM32MP2 boards. They embed DDR
parameters for LPDDR4 1x16Gb 1*32bits, at 800MHz or 1200MHz.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I4017e44b3e9d01735d76518666d05405c2bd976b
2025-01-06 17:49:32 +01:00
Manish V Badarkhe
8a7a54b49b Merge changes from topic "mcn" into integration
* changes:
  feat(tc): add MCN PMU nodes in dts for TC4
  feat(tc): add 'kaslr-seed' node in device tree for TC3
  feat(tc): enable MCN non-secure access to pmu counters on TC4
  feat(tc): define MCN related macros for TC4
2024-12-19 14:32:13 +01:00
Jagdish Gediya
624deb0825 feat(tc): add MCN PMU nodes in dts for TC4
Add MCN PMU nodes in dts for TC4 to use MCN PMU driver in
kernel with perf.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I1a85ba646604336ce3f16c28171589af78f65251
2024-12-19 11:57:38 +01:00
Leo Yan
2d967e92e0 feat(tc): add 'kaslr-seed' node in device tree for TC3
Add 'kaslr-seed' node in device tree for TC3.

Note, TC4 doesn't need to add this node as it can dynamically generate
seed based on CPU arch's RNG_TRAP feature.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I5c3f857d0f4e81ccd3bacb4c1ab032c8ea6e6873
2024-12-19 11:57:27 +01:00
Valentin Caron
33573ea684 fix(stm32mp1-fdts): re-enable RTC clock
On STM32MP15 ST boards, RTC clock configuration by OPTEE is not ready
yet. Re-enable it temporary to get LSE as clock source of RTC.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
Change-Id: Ib6071229552e456faffb4fdfc8db9808140d54a7
2024-12-13 16:54:37 +01:00
Manish Pandey
31a223cbb1 Merge "feat(tc): add devicetree node for AP/RSE MHU" into integration 2024-12-13 14:30:08 +01:00
Yu Shihai
06fa4c4df2 feat(tc): add devicetree node for AP/RSE MHU
These dts nodes are used by u-boot MHU/RSE driver to faciliate
communication with RSE over MHU.

FPGA doesn't seem to have the MHU instances which are used to
communicate with RSE so keep rse mhu disabled for fpga.

Signed-off-by: Yu Shihai <yu.shihai@arm.com>
Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ib10b3da09626e5beb6d6cd87b1618a143234a5d0
2024-12-12 10:58:20 +00:00
Jagdish Gediya
50ad0cfda3 feat(tc): add dsu pmu node for TC4
Add DSU PMU node for TC4. DSU PMU interrupt is not connected on TC3
but it is connected on IRQ 290 on TC4, so add interrupt property
specifically for TC4.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ib1b810df65004987e9f3cf1bbd5deb5d211f3a17
2024-12-10 17:11:40 +00:00
Olivier Deprez
faddccc43e Merge "fix(rd1ae): fix rd1-ae device tree" into integration 2024-12-09 12:12:01 +01:00
Jagdish Gediya
1d2d96dd5c fix(tc): replace vencoder with simple panel for kernel > 6.6
The component-aware simple encoder has become outdated with the latest
upstream DRM subsystem changes since Linux kernel commit 4cfe5cc02e3f
("drm/arm/komeda: Remove component framework and add a simple encoder")

To address this we introduce a new compilation flag
`TC_DPU_USE_SIMPLE_PANEL` for control panel vs. encoder enablement.
This flag is set when the kernel version is >= 6.6 and 0 when the kernel
version is < 6.6.

We also rename the `vencoder_in` node to `lcd_in` to avoid unnecessary
conditional code for vencoder vs. simple panel enablement.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ibb14a56911cfb406b2181a22cc40db58d8ceaa8d
2024-12-05 15:47:33 +00:00
Vishnu Satheesh
932e64a1d7 feat(tc): allow Android load and Boot From RAM
This commit introduces the below changes:
* Define TC_FPGA_ANDROID_IMG_IN_RAM config variable
* Add phram node in dts.
* Memory configuration for loading Android image

Change-Id: I5ec82646cb2993e7b5976e702ebcc8efa51d1128
Signed-off-by: Vishnu Satheesh <vishnu.satheesh@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-12-05 14:56:40 +00:00
David Hu
f72eeb2d22 fix(rd1ae): fix rd1-ae device tree
Fix issues in RD1-AE flattened device tree source

- Update GIC GICR register region size to 0x40_0000.
  GICR region size = 16 (RDcount) * 64KB frame size * 4 (with GIC v4.1)
- Update cpu_on function ID in psci node.
  Use SMC64 version function ID 0xc4000003 instead. Although this
  property doesn't actually take effect, align its value with
  cpu_suspend selection to avoid any confusion.

Change-Id: Ib0840db45d32f0c8f1eb7dc74dc7d9b4ca6de0c3
Signed-off-by: David Hu <david.hu2@arm.com>
2024-12-04 22:48:43 +00:00
Manish V Badarkhe
3df50a0699 Merge changes from topic "rd1ae-bl32" into integration
* changes:
  feat(rd1ae): add Generic Timer in device tree
  docs(rd1ae): update documentation to include BL32
  feat(rd1ae): add support for OP-TEE SPMC
2024-11-29 13:33:05 +01:00
Ziad Elhanafy
6e1bf7e97f feat(rd1ae): add Generic Timer in device tree
Add a node for AP_REFCLK Non-Secure Generic Timer in device tree, which
acts as a system timer to fix the failure of SystemReady IR ACS BSA
test case 402.

Refer to https://github.com/ARM-software/bsa-acs/blob/v23.09_REL1.0.6\
/docs/arm_bsa_testcase_checklist.rst?plain=1#L115
for more information.

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Signed-off-by: David Hu <david.hu2@arm.com>
Change-Id: I3e63a5ecfd8c6211f917ca3844b8b7bda208d83a
2024-11-29 10:42:33 +00:00
Yann Gautier
fc2e4bab15 fix(stm32mp15-fdts): correct MCO2_PLL4 clock name for DHCOM
This clock name was renamed from MCO2_PLL4P to MCO2_PLL4 with the RCC
binding update commit [1]. This file was missed in that update, and the
board fails to compile.

[1]: 52b253bfa2 feat(dt-bindings): new RCC DT bindings

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I215abff1fc275ac1ef6dfb2ac86b9223e6990064
2024-11-20 09:37:15 +01:00
Leo Yan
1bf33251a8 fix(tc): fix the MHUv3 interrupt name in DT
Change the interrupt name "combined-mbx" to "combined", which is the
correct naming defined in the mainline kernel.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Change-Id: I8d2da2dd0e9dac2bed3963efc695a277bb5e14bd
2024-11-11 10:31:12 +00: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
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
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