Commit graph

15382 commits

Author SHA1 Message Date
Chris Kay
d286739716 build: make Poetry optional
The Yocto team has requested that we do not use Poetry from within the
Makefile, as Yocto does not have network access during the build
process.

We want to maintain the current behaviour, so this change makes our use
of Poetry contigent on it being available in the environment.

Additionally, explicitly passing an empty toolchain parameter now allows
a tool to be *disabled* (e.g. passing `POETRY=` will prevent the build
system from trying to use Poetry).

Change-Id: Ibf552a3fee1eaadee767a1b948b559700083b401
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-09-26 14:23:20 +00:00
Mark Dykes
e6f7929d12 Merge "fix(cpus): workaround for Cortex-X4 erratum 2897503" into integration 2024-09-25 17:04:20 +02:00
Manish V Badarkhe
1297a45d6a Merge changes from topic "dynamic-toolchain" into integration
* changes:
  build: allow multiple toolchain defaults
  build: determine toolchain tools dynamically
2024-09-25 13:53:54 +02:00
Arvind Ram Prakash
609d08a86d fix(cpus): workaround for Cortex-X4 erratum 2897503
Cortex-X4 erratum 2897503 is a Cat B erratum that applies
to all revisions <= r0p1 and is fixed in r0p2.

The workaround is to set CPUACTLR4_EL1[8] to 1.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-2432808/latest

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I3178a890b6f1307b310e817af75f8fdfb8668cc9
2024-09-24 23:16:12 +02:00
Madhukar Pappireddy
833e59c0c1 Merge changes from topic "nxp-drivers/add-get-parent-callback" into integration
* changes:
  feat(nxp-clk): refactor clock enablement
  feat(nxp-clk): add get_parent callback
  fix(nxp-clk): broken UART clock initalization
2024-09-24 15:14:35 +02:00
Manish Pandey
7ea6ebfbcd Merge changes I14df5d21,I7f952205,I6f52ec2c,Ibe0cacf8 into integration
* changes:
  feat(stm32mp2-fdts): describe stpmic2 power supplies
  feat(stm32mp2-fdts): add I2C7 pin muxing
  feat(stm32mp2-fdts): add UART and I2C nodes for STM32MP2
  feat(st-pmic): add STPMIC2 driver
2024-09-24 13:54:42 +02:00
Manish Pandey
69ca6d54dd Merge "feat(stm32mp2): improve BL31 size management" into integration 2024-09-24 13:36:07 +02:00
Manish Pandey
afd8ff535a Merge changes from topic "hm/tlc" into integration
* changes:
  feat(handoff): make tl generation flexible
  feat(tlc): add command gen-header
  feat(tlc): add support for tox
  refactor(tlc): fix static check errors and code style
2024-09-24 13:32:02 +02:00
Mark Dykes
f17b741030 Merge "fix(intel): add cache invalidation during BL31 initialization" into integration 2024-09-23 22:11:21 +02:00
Tanmay Kathpalia
3c640c124e fix(intel): add cache invalidation during BL31 initialization
During warm boot, the data cache is invalidated before
enabling them in u-boot proper, this cache
invalidation (+ cleaning) leads to the sync-up of stale
values in the cache to be synced with the main memory.
So, before the cache cleaning is done in u-boot proper,
it is invalidated in BL31 so that the cache data gets in
sync with u-boot proper memory address space and when
u-boot proper does its initialization which in turn clears
its BSS and heap section.

Change-Id: Ic8d8672f1e371868be7f54f5a1fae9229ab15164
Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
2024-09-23 20:11:21 +02:00
Mark Dykes
0623183af1 Merge "fix(intel): bridge ack timing issue causing fpga config hung" into integration 2024-09-23 20:10:27 +02:00
Jit Loon Lim
9a402d2f0f fix(intel): bridge ack timing issue causing fpga config hung
Increase the timeout of waiting for bridge ack to solve the
fpga config hung.

Change-Id: I967af02b336c296206b4947be718953ff8ca30cf
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
2024-09-23 17:21:46 +02:00
Manish V Badarkhe
87633319fa Merge "docs: update TF-A Nov'24 release dates" into integration 2024-09-23 13:34:19 +02:00
Manish V Badarkhe
64237dc0a5 Merge changes from topic "update-mbedtls-to-3.6.1" into integration
* changes:
  refactor(mbedtls): remove hack in LIBMBEDTLS_CFLAGS
  docs(prerequisites): update MbedTLS version to 3.6.1
2024-09-23 10:25:22 +02:00
Mark Dykes
2975ad055b Merge "feat(rk3588): enable crypto function" into integration 2024-09-20 21:35:59 +02:00
Maxime Méré
64e5a6df46 feat(stm32mp2): improve BL31 size management
Change the size of BL31 limit allocation to be half the sysram size.
Defining BL31_PROGBITS_LIMIT to detect overflows.

Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: Iccc1cc0826b8113a3c2fd6ffa77ca419795854d3
2024-09-20 17:40:30 +02:00
Manish V Badarkhe
0bb3030277 Merge "fix(rpi3): manually populate CNTFRQ reg" into integration 2024-09-20 17:06:52 +02:00
Pascal Paillet
e97467068a feat(stm32mp2-fdts): describe stpmic2 power supplies
Describe PMIC power supplies in STM32MP257F-EV1 board DT file.

Change-Id: I14df5d210909d95b2164197eb910a9ea0aa0b51d
Signed-off-by: Pascal Paillet <p.paillet@st.com>
2024-09-20 14:49:01 +02:00
Yann Gautier
0a0820885d feat(stm32mp2-fdts): add I2C7 pin muxing
It will be used for PMIC on STM32MP257F-EV board.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I7f95220512de4416323b381fec7c7dcb044c64fd
2024-09-20 14:49:01 +02:00
Yann Gautier
c7cfe27a24 feat(stm32mp2-fdts): add UART and I2C nodes for STM32MP2
Update stm32mp251.dtsi SoC DT file to include UART and I2C nodes.

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: I6f52ec2c1735d28ba4a424af71e7eae5b0ac3e0d
2024-09-20 14:48:58 +02:00
Pascal Paillet
817f42f07e feat(st-pmic): add STPMIC2 driver
The STPMIC2 embeds 15 regulators with various
properties, and is designed to supply the STM32MP2
SOC. This driver handles a minimal set of feature
to handle the boot of a board.

Signed-off-by: Pascal Paillet <p.paillet@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
Change-Id: Ibe0cacf8aec2871eb9a86ec16cbbd18d3745fe9e
2024-09-20 14:47:50 +02:00
Olivier Deprez
b2c535da56 Merge changes Idf032b03,Id8e803b3 into integration
* changes:
  feat(st-regulator): support regulator_set_voltage for fixed regulator
  feat(st-regulator): add enable ramp-delay
2024-09-20 11:14:55 +02:00
Ghennadi Procopciuc
5300040bfd feat(nxp-clk): refactor clock enablement
Simplify the clock enablement mechanism from a usage perspective. With
this new approach, enabling a clock cascades the turn-on sequence of all
its parent clocks in the clock tree. Therefore, enabling the A53 clock
will also turn on the A53 PLL and the oscillator that feeds it.

Change-Id: Ifc2bee3e9edbb4baced34f9e809a961562f7d0a6
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-09-20 11:33:30 +03:00
Ghennadi Procopciuc
96e069cb8e feat(nxp-clk): add get_parent callback
Bring in the implementation for the struct clk_ops->get_parent callback
for the S32G clock driver. The parent is established depending on the
clock object type. Usually, this is determined based on the parent
field, but not always.

Change-Id: I76a3d2636dc23ba2d547d058b8650dd0e99fe1fa
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-09-20 11:33:30 +03:00
Ghennadi Procopciuc
f8490b85b4 fix(nxp-clk): broken UART clock initalization
The UART clock initialization failed because the clock mux enablement
mechanism did not correctly recognize the PERIPH PLL mux. Therefore, it
was reported as an unknown mux ID.

Change-Id: I6cc72c87a8462a2ed2e7c360f59a74961bb2f3a1
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-09-20 11:33:30 +03:00
Mark Dykes
545cc0fde2 Merge "build: properly namespace toolchain.mk variables" into integration 2024-09-19 23:02:50 +02:00
Harrison Mutai
2329e22b8b feat(handoff): make tl generation flexible
Make the process of compiling a TL from DT source flexible. Provide a
top level recipe to make it easier for developers to build a transfer
list. Clean up integration of TLC into the build system.

Change-Id: I4466e27a457dfd5bf709dc3a360a2b63bf6030ce
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-09-19 13:44:23 +00:00
Harrison Mutai
9b05c3739c feat(tlc): add command gen-header
Introduce the gen-header command to the tool, enabling developers to
create language bindings. Currently, it supports generating C headers
from a transfer list.

Change-Id: Ibec75639c38577802d5abe55c7bc718740aad2b8
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-09-19 13:44:23 +00:00
Harrison Mutai
38487c7fd3 feat(tlc): add support for tox
Add tox to automate testing across multiple environments, ensuring code
robustness and compatibility with different Python versions. This helps
ensure consistency in test environments so both development and CI
systems run tests uniformly, and simplifies the execution of tasks like
linting and other commands with a single command.

Change-Id: I522adb486e89abecb9a130941ce4cef31332193a
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-09-19 13:44:23 +00:00
Harrison Mutai
fd5b4bc34d refactor(tlc): fix static check errors and code style
Change-Id: I8cbe5ee940d409ed3f81f792c2ade0b93287ae62
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-09-19 13:02:16 +00:00
Manish V Badarkhe
49b9545ef5 Merge "refactor(mbedtls): use PSA API for auth_decrypt" into integration 2024-09-19 14:43:04 +02:00
Olivier Deprez
1ea25553d7 Merge "fix(drtm): do cache maintenance before launching DLME" into integration 2024-09-19 13:08:40 +02:00
Manish V Badarkhe
23378ae0bd fix(drtm): do cache maintenance before launching DLME
According to the specifications, the DLME launch should occur with
the cache disabled. Initially, the cache was enabled to enhance
performance. However, to comply with the PSCI specification, we
decided to disable it before launching the DLME.

Also, ensure that full DLME region is invalidated.

Change-Id: Idf619afb7e4a34ebe213bd3b559105ade993f3ad
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-09-19 11:20:35 +02:00
Ryan Everett
7079ddf92c refactor(mbedtls): use PSA API for auth_decrypt
This new version uses the multipart PSA AEAD API;
the authentication tag is verified via
a call to psa_aead_verify.

Change-Id: If4b7e6258223ae6fead1794d3e8d0004f0f387b3
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-09-19 10:48:19 +02:00
Ryan Everett
8570895a1b refactor(mbedtls): remove hack in LIBMBEDTLS_CFLAGS
MbedTLS 3.6.1 fixed the issue which previously
produced this warning, so this hack is no longer
necessary.

Change-Id: I934adefbf2fed16e16b9d98bc8674125b70b08fc
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-09-19 10:37:02 +02:00
Ryan Everett
5acc316466 docs(prerequisites): update MbedTLS version to 3.6.1
This new update to the LTS branch of MbedTLS provides minor
enhancements and bug fixes; including some security
fixes, and a fix to a compilation warning which
previously affected TF-A.
Full patch notes to this MbedTLS update can be found at
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.1.

Change-Id: I1a68dfcb52a8361c1689cb6ef12d265a6462fda3
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-09-19 10:36:55 +02:00
Olivier Deprez
cb008a1240 Merge "docs: fix ff-a manifest binding document" into integration 2024-09-19 09:57:31 +02:00
Madhukar Pappireddy
3406ff00aa docs: fix ff-a manifest binding document
The support for runtime-model has never been implemented by any SPMC.
Hence, remove the corresponding field from binding document.

Also, fix the incorrect description of the `managed-exit-virq` property.

Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Change-Id: I0a5ef3f08202a8c76edd9a6e1ac680ac3a38ca60
2024-09-18 15:10:13 -05:00
Abhi.Singh
11dff59946 fix(rpi3): manually populate CNTFRQ reg
The rpi3 does not initialize the generic timer in BL1, which is now
required to use the delay timer in the dTPM driver. This change sets the
counter frequency register (CNTFRQ) with the rpi3's system counter
frequency value, as a prerequisite for timer initialization, and then
initializes the generic timer all during BL1 setup.

Change-Id: I4e2475b63ce4a97653202f94f506b5d3edc4c1a7
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2024-09-18 11:26:38 -05:00
Olivier Deprez
b80feed760 docs: update TF-A Nov'24 release dates
Planning TF-A v2.12 release in Nov'24.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I0fa6885cc67e13560a79f8144bc23df6172a05c0
2024-09-18 14:29:15 +02:00
XiaoDong Huang
b833bbe6f0 feat(rk3588): enable crypto function
The CPU crypto is not default on when power up, need to enable it by
software.

Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: Ifee2eab55d9c13cef5f15926fb80016845e2a66d
2024-09-18 19:59:10 +08:00
Olivier Deprez
bfbb1cb973 Merge "fix(xilinx): map PMC_GPIO device node to interrupt for wakeup source" into integration 2024-09-18 12:00:46 +02:00
Yann Gautier
88c66f6118 Merge "chore(gpt): fix typo in comment" into integration 2024-09-18 09:08:33 +02:00
Moritz Fischer
670150b804 chore(gpt): fix typo in comment
Fix a confusing typo in comment docstring.

Change-Id: I9424454b9fa140bf6a482dea7f8cba24806068b6
Signed-off-by: Moritz Fischer <moritzf@google.com>
2024-09-17 18:16:00 +02:00
Yann Gautier
a16dad0b22 Merge "fix(xilinx): warn if reserved memory pre-exists in DT" into integration 2024-09-17 14:34:17 +02:00
Joanna Farley
000d80b5a8 Merge "fix(versal): kernel QEMU boot is failing on versal platform" into integration 2024-09-17 11:56:33 +02:00
Joanna Farley
50a1e6810b Merge "feat(versal): add support for QEMU COSIM platform" into integration 2024-09-17 11:56:28 +02:00
Manish V Badarkhe
45252f14be Merge "feat(fvp): scale SP_MIN max size based on SRAM size" into integration 2024-09-17 11:19:59 +02:00
Maheedhar Bollapalli
729477fd86 fix(xilinx): warn if reserved memory pre-exists in DT
Memory reservation for tf-a does not happen in
runtime if memory reservation node pre-exists in DT.
Presence of reserved area is checked and user is
warned if it pre-exists.

Change-Id: I50e18be942777747e9074bb9d8e0305a29c28178
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
2024-09-17 14:24:28 +05:30
Olivier Deprez
86aaa45ef7 Merge "docs: add load address relative offset node" into integration 2024-09-16 13:50:12 +02:00