Commit graph

15764 commits

Author SHA1 Message Date
Harrison Mutai
24e1ae2f0e fix(handoff): fix message formatting of hex values
Our implementation of printf does not support flag format specifiers.
Our previous format specification as a result was causing the integer
values to be omitted. This change updates the formatting to ensure
accurate and complete error messages are displayed.

Change-Id: I80cfb5fd7ff26e44cfad4e06803d9e0912488136
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-12-18 14:48:23 +00:00
Harrison Mutai
f1d9459335 feat(handoff): add func to check and init a tl
Add a function to check whether a transfer list has been initialized
at the input address. If not, initialize a transfer list at the
specified location with the given size. This is to help ensure that we
don't accidently overwrite a transfer list that's been passed from a
previous stage.

Change-Id: Ic5906626df09d3801435488e258490765e8f81eb
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-12-18 14:48:21 +00:00
Harrison Mutai
523c78704f fix(arm): resolve dangling comments around macros
Fix dangling comments around define guards, addressing leftovers from
fe94a21a6 ("fix(arm): move HW_CONFIG relocation into BL31") which
implicitly removed constraints on using HW_CONFIG with RESET_TO_BL2.

Change-Id: I19d61812fed6fa4b668875e5bf4eafd1a8a660f6
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-12-18 14:48:21 +00:00
Manish V Badarkhe
e372c29153 Merge "chore(romlib): remove unused jmptbl.i file" into integration 2024-12-11 19:01:29 +01:00
Mark Dykes
255d907675 Merge "feat(intel): add support for query SDM config error and status" into integration 2024-12-11 17:53:12 +01:00
Manish V Badarkhe
7dc43344c4 Merge changes from topic "update-mbedtls-to-3.6.2" into integration
* changes:
  feat(mbedtls): mbedtls config update for v3.6.2
  docs(prerequisites): update mbedtls to version 3.6.2
  refactor(mbedtls): rename default mbedtls confs
2024-12-11 14:55:43 +01:00
Ryan Everett
c307efce85 feat(mbedtls): mbedtls config update for v3.6.2
This new update to the LTS branch of MbedTLS provides
the fix for a buffer underrun vulnerability. TF-A does
not use the previously vulnerable functions
`mbedtls_pk_write_key_der` or `mbedtls_pk_write_key_pem`.
Full patch notes to this MbedTLS update can be found at
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.2.

We now enforce the mbedtls version to be greater than or equal
to 3.6.2 in our default configs.

Change-Id: I79027f6c741ab3f419f7b555321507e6a78b977b
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 16:00:38 +00:00
Ryan Everett
95037029a7 docs(prerequisites): update mbedtls to version 3.6.2
This new update to the LTS branch of MbedTLS provides
the fix for a buffer underrun vulnerability. TF-A does
not use the previously vulnerable functions
`mbedtls_pk_write_key_der` or `mbedtls_pk_write_key_pem`.
Full patch notes to this MbedTLS update can be found at
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.2.

Change-Id: Ibc4a8712c92019648fe0e75390cd3540d86b735d
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 15:59:58 +00:00
Ryan Everett
640ba6343b refactor(mbedtls): rename default mbedtls confs
Change the name of these confs to be version agnostic,
we will later use these configs to enforce the mbedtls
minimum version

Change-Id: I1f665c2471877ecc833270c511749ff845046f10
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 15:59:45 +00:00
Manish Pandey
ae952c1e51 Merge "docs(auth): extrapolate on the functions within a CM" into integration 2024-12-09 15:34:29 +01:00
Manish Pandey
8e5a872627 Merge changes from topic "hob_creation_in_tf_a" into integration
* changes:
  feat(fvp): build hob library
  feat(lib): introduce Hob creation library
  feat(lib): modify Hob creation code imported from edk2
  feat(lib): copy StandaloneMm Hob creation library in edk2
2024-12-09 15:29:48 +01:00
Ryan Everett
8edd6c6f45 docs(auth): extrapolate on the functions within a CM
Add descriptions for the various parameters for each
function.
Add more description to the example implementation.

Change-Id: I4b7a1ff38914d061e499c1b67e762a484688ee05
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 14:00:33 +00:00
Olivier Deprez
faddccc43e Merge "fix(rd1ae): fix rd1-ae device tree" into integration 2024-12-09 12:12:01 +01:00
Manish V Badarkhe
5cc9bdd399 Merge "fix(cert-create): load openSSL configuration before PKCS11 operations" into integration 2024-12-09 11:40:49 +01:00
Levi Yun
874077132c feat(fvp): build hob library
To produce PHIT HOB list in FVP, add build path for hob library.

Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I8f4905433bd1cc6f4c9247197b9bd69041f50fd7
2024-12-06 13:26:31 +00:00
Levi Yun
8953568a2d feat(lib): introduce Hob creation library
According to Platform Initialization (PI) Specification [1] and
discussion on edk2 mailing list [2],
StandaloneMm shouldn't create Hob but it should be passed from TF-A.
IOW, TF-A should pass boot information via HOB list to initialise
StandaloneMm properly.

And this HOB lists could be delivered via
    - SPM_MM: Transfer List according to the firmware handoff spec[3]

    - FF-A v1.1 >= : FF-A boot protocol.

This patch introduces a TF-A HOB creation library and
some of definitions which StandaloneMm requires to boot.

Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1]
Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2]
Link: https://github.com/FirmwareHandoff/firmware_handoff [3]
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I5e0838adce487110206998a8b79bc3adca922cec
2024-12-06 13:26:31 +00:00
Levi Yun
6b68b4a42f feat(lib): modify Hob creation code imported from edk2
According to Platform Initialization (PI) Specification [1] and
Discussion on edk2 mailing list [2],
StandaloneMm shouldn't create Hob but it should be passed from TF-A.
IOW, TF-A should pass boot information via PHIT Hob to initialize
StandaloneMm properly.

This patch modifies Hob creation code from edk2 codebase
so that TF-A could create Hob information properly to boot StandaloneMm

Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1]
Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2]
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I5e427b620d8006b118b266370bd08d4b0ff56a83
2024-12-06 13:26:31 +00:00
Levi Yun
2105831848 feat(lib): copy StandaloneMm Hob creation library in edk2
According to Platform Initialization (PI) Specification [1] and
Discussion on edk2 mailing list [2],
StandaloneMm shouldn't create Hob but it should be passed from TF-A.
IOW, TF-A should pass boot information via PHIT Hob to initialise
StandaloneMm properly.

To create Hob information to boot StandaloneMm, copy Hob creation code
form edk2 codebase:
   https://github.com/tianocore/edk2/blob/master/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLib.c

Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1]
Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2]
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I784684d63f21a7879a2438ed522e158ca785186e
2024-12-06 13:26:31 +00:00
Manish V Badarkhe
13a1ec3870 chore(romlib): remove unused jmptbl.i file
Remove the unused jmptbl.i file. The ROMLIB Makefile expects
platforms to provide the jmptbl according to their requirements.

Change-Id: I2784eaca5061aa77fdd99f7b2b5ef5a1145475e9
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-12-05 17:35:57 +00:00
Olivier Deprez
22bde5b498 Merge "fix(tc): replace vencoder with simple panel for kernel > 6.6" into integration 2024-12-05 17:46:17 +01:00
Olivier Deprez
e010658078 Merge "feat(cpus): add support for Alto CPU" into integration 2024-12-05 17:40:03 +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
Igor Podgainõi
940ecd072c feat(cpus): add support for Alto CPU
Add basic CPU library code to support the Alto CPU.

Change-Id: I45958be99c4a350a32a9e511d3705fb568b97236
Signed-off-by: Igor Podgainõi <igor.podgainoi@arm.com>
2024-12-05 16:22:29 +01:00
Olivier Deprez
15e5c6c91d Merge changes I00d2de7b,I5ec82646 into integration
* changes:
  feat(tc): fpga: Enable support for loading FIP image to DRAM
  feat(tc): allow Android load and Boot From RAM
2024-12-05 16:00:37 +01:00
Vishnu Satheesh
969b7591dc feat(tc): fpga: Enable support for loading FIP image to DRAM
This patch enable support for loading FIP image into DRAM rather than
flash drive.

Change-Id: I00d2de7b22e315db7f3e8a835ddd414ab297b554
Signed-off-by: Vishnu Satheesh <vishnu.satheesh@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-12-05 15:58:25 +01: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
Yann Gautier
555705638f Merge changes I04ecd50f,I830b53e2 into integration
* changes:
  fix(rcar3-drivers): disable A/B loader support by default
  fix(rcar-layout): fix tool build
2024-12-05 15:06:20 +01:00
Manish V Badarkhe
1286de427f Merge "chore(tc): enable the full 16GB DRAM for TC3 and TC4 as default" into integration 2024-12-05 11:52:01 +01:00
Manish V Badarkhe
d8eaa0c3a8 Merge "feat(tc): increase SCP BL2 size to support optimization 0" into integration 2024-12-05 11:51:46 +01:00
Boon Khai Ng
fcf906c900 feat(intel): add support for query SDM config error and status
Currently the FPGA reconfig status only return a single error status
which make the debugging of FPGA reconfiguration hard.

This patch is to expose the error status, major error code and
minor error code, for the FPGA reconfig to upper layer app.

Change-Id: I2fc68e30b45ff137f3e52f9569fdf2eaf2ca94ee
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
2024-12-05 11:41:14 +08: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 Pandey
37171d8b31 Merge "feat(mt8196): add GPIO support" into integration 2024-12-04 12:18:45 +01:00
Tintu Thomas
3755e82c0f feat(tc): increase SCP BL2 size to support optimization 0
It requires at least 140 KB to support SCP BL2 optimization 0.
Increase the size to 192 KB (0x30000) considering space for growth.

Signed-off-by: Tintu Thomas <tintu.thomas@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ib416c89226475d44746a7561dd949a14349c3e4b
2024-12-04 10:16:59 +01:00
Cathy Xu
4cb9f2a5bf feat(mt8196): add GPIO support
- MT8196 has 271 GPIO pins. Therefore, update id to a proper datatype.
- Add GPIO support for MT8196.

Signed-off-by: Cathy Xu <ot_cathy.xu@mediatek.com>
Change-Id: I283939684b54f79d1bba02f38e047e756a56f0c9
2024-12-04 14:30:34 +08:00
Ben Horgan
cab7285872 chore(tc): enable the full 16GB DRAM for TC3 and TC4 as default
Previously we only enabled 8GB unless we were loading the filesystem
from RAM.

Change-Id: Iae60ef460b8cf70f28e62a79db32405daf029e8a
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-12-02 10:23:49 +01:00
Olivier Deprez
ffb93d41f9 Merge "feat(mt8196): initialize platform for MediaTek MT8196" into integration 2024-12-02 09:36:02 +01:00
Gavin Liu
a65fadfbbd feat(mt8196): initialize platform for MediaTek MT8196
- Add basic platform setup.
- Add MT8196 documentation at docs/plat/.
- Add generic CPU helper functions.
- Add basic register address.
- Add timer driver configuration.

Change-Id: I07fcdeb785fcda4a955c11c39a345da4ad05ef04
Signed-off-by: Gavin Liu <gavin.liu@mediatek.com>
2024-12-02 09:20:48 +08: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
Ziad Elhanafy
428f4169ab docs(rd1ae): update documentation to include BL32
Update the boot sequence in the RD-1 AE documentation
to include BL32 (OP-TEE).

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Change-Id: I25fdc114bb71d3ad7e1bb2d845f758d6af037e3d
2024-11-29 10:17:47 +00:00
Manish V Badarkhe
87e9ee87ed Merge changes from topic "dtpm_poc" into integration
* changes:
  refactor(rpi3): move mbedtls helper to common code
  fix(rpi3): use correct name for include guards
2024-11-28 10:36:28 +01:00
Manish Pandey
f340f3d891 Merge changes Ibe44f19e,I9e023edb,I96d655fc into integration
* changes:
  build: use parameters in calls to `MAKE_DEP`
  build: disable suffix rules globally
  build: use full paths for generated libraries
2024-11-27 11:32:45 +01:00
Manish V Badarkhe
4d36d99d29 Merge changes Ibd4e4730,I783a6838 into integration
* changes:
  build(deps): bump setuptools in the pip group across 1 directory
  chore(deps): bump micromatch
2024-11-27 10:47:47 +01:00
Yann Gautier
8f6ab4b5df Merge "docs(maintainers): update qti maintainer" into integration 2024-11-26 09:36:35 +01:00
Yann Gautier
fe85aa7ef5 Merge changes I52c84dc2,I9b2a2a11 into integration
* changes:
  fix(intel): add FPGA isolation trigger when reconfiguration
  fix(intel): redesign F2SOC bridge enable and disable flow for Agilex5
2024-11-25 17:09:09 +01:00
Yann Gautier
480561f297 Merge "fix(docs): fix the indent and the build command for MT8188" into integration 2024-11-25 17:08:51 +01:00
Chris Kay
a7bbd8e7fe build: use parameters in calls to MAKE_DEP
This is a small change to the behaviour of the `MAKE_DEP` macro to force
it to take its inputs as arguments, rather than assuming the variables
that its inputs come from.

Change-Id: Ibe44f19e6bea43c9feed34710cdd30704576b4d7
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-25 15:48:26 +00:00
Chris Kay
daab00cf29 build: disable suffix rules globally
This change centralises the logic that disables the default suffix rules
that Make provides. These rules are a hold-over from legacy standards of
Make, and occasionally conflict with our rules.

Change-Id: I9e023edbc01b5ae48a96fa1078d0b81faabb0cb9
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-25 15:40:35 +00:00
Chris Kay
6e6228181e build: use full paths for generated libraries
This change modifies the build rules for static libraries so that
individual rules which use those libraries depend directly on the
archive files that are generated, rather than their phony target aliases
and `-lX` link flags.

The goal of this is to clean up Make's view of the dependencies between
files, avoiding phony targets (which do not honour timestamps) making
their way into intermediate dependencies.

Change-Id: I96d655fcd94dc259ffa6e8970b2be7b8c7e11123
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-25 15:36:48 +00:00
dependabot[bot]
e99abe1b6f build(deps): bump setuptools in the pip group across 1 directory
Bumps the pip group with 1 update in the / directory: [setuptools](https://github.com/pypa/setuptools).

Updates `setuptools` from 74.1.2 to 75.3.0
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v74.1.2...v75.3.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  dependency-group: pip
...

Change-Id: Ibd4e4730bfc5cce8d85ec55021983d6f748ffc47
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-25 10:34:55 +00:00