Commit graph

15745 commits

Author SHA1 Message Date
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
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
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
dependabot[bot]
292cb35522 chore(deps): bump micromatch
Bumps the npm_and_yarn group with 1 update in the / directory: [micromatch](https://github.com/micromatch/micromatch).

Updates `micromatch` from 4.0.5 to 4.0.8
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Change-Id: I783a6838616c570a41a5a0f58db3e6430c43c344
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-25 10:34:31 +00:00
Govindraj Raja
4ec2948fe3 Merge "docs(changelog): changelog for v2.12 release" into integration 2024-11-20 23:30:24 +01:00
Govindraj Raja
8f6e40f869 Merge "docs(changelog): add subsection common" into integration 2024-11-20 23:19:25 +01:00
Govindraj Raja
46bafc1769 Merge "docs: update build tool prerequisites" into integration 2024-11-20 18:11:52 +01:00
Govindraj Raja
8a48bca36d Merge "docs(tc): deprecate tc2 in documentation" into integration 2024-11-20 18:11:39 +01:00
Govindraj Raja
f11a9113b9 Merge "docs(fvp): update FVP model versions as per usage" into integration 2024-11-20 18:11:26 +01:00
Govindraj Raja
4b55bcb5a4 Merge "fix(stm32mp15-fdts): correct MCO2_PLL4 clock name for DHCOM" into integration 2024-11-20 18:11:14 +01:00
Icen Zeyada
74606e76e2 docs(tc): deprecate tc2 in documentation
added a note to specify that tc2 has been deprecated

Change-Id: I7ab69a2560e0e56379f4e144d41da20671c1ca9d
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-11-20 10:49:26 +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
Govindraj Raja
07a6a65443 docs(changelog): changelog for v2.12 release
Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.12.0

Change-Id: Idb74f6a31bf2691e7666e2738030d6f0e2b8c519
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-11-19 18:08:58 -06:00
Manish V Badarkhe
5699f84007 docs(fvp): update FVP model versions as per usage
Update the documentation to reflect the various FVP models
used in the OpenCI environment.

Change-Id: I6144ab7c41d3776421164125d07371dadc9252b5
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-11-19 20:29:17 +00:00
Abhi Singh
1c8009035e refactor(rpi3): move mbedtls helper to common code
In order to support measured boot we need plat_get_mbedtls_heap,
this function currently resides in rpi3_trusted_boot.c, but we do
not need trusted board boot to use measured boot, so moving this
to common code removes the need to compile rpi3_trusted_boot.c

Change-Id: I6ac6dfa8c540e456d7cb6932098c921907ad086a
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2024-11-19 18:51:53 +01:00
Abhi Singh
5c0cbb2faa fix(rpi3): use correct name for include guards
fixed rpi_shared.h include guard, previously the commented
endif was RPI3_PRIVATE, which could be a cause for confusion
when searching through header files.

Change-Id: I721f9f7c38cd14cda0385593b307cdfc71f810f8
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2024-11-19 18:51:31 +01:00
Govindraj Raja
e614ba3484 docs(changelog): add subsection common
Introduce subsection common under Arm.

Change-Id: I24177b5ab1636af56aab3c55b21f2ca014546b9c
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-11-19 10:30:21 -06:00
Olivier Deprez
847d6f4ab9 Merge changes from topic "el3spmc-fix-v2.12-rc0" into integration
* changes:
  feat(qemu): increase size of bl31
  fix(qemu): fix EL3-SPMC data store alignment
  fix(qemu): fix build error with spmd
2024-11-19 14:57:37 +01:00
Jens Wiklander
78a91582b0 feat(qemu): increase size of bl31
Increase BL31 size to have room to spare for debugging with EL3 SPMC.

Change-Id: I6e260a284ed2aa5d515b45be90ee2cdeded9c6a9
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
2024-11-19 12:50:10 +01:00
Jens Wiklander
eee52dac2c fix(qemu): fix EL3-SPMC data store alignment
With PLAT=qemu, the EL3-SPMC data store is provided as an array of
uint8_t and implicitly with a 1 byte alignment. But the way the data
store is used it must have a larger alignment, so change to double-word
alignment for maximum compatibility.

Change-Id: I4e9b901889078fee4b87f8333257bdc076386572
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
2024-11-19 12:50:10 +01:00
Jens Wiklander
1b1b40a941 fix(qemu): fix build error with spmd
Currently when building with PLAT=qemu SPD=spmd SPMC_AT_EL3=1
SPMD_SPM_AT_SEL2=0, there is a build error since
plat_spmd_handle_group0_interrupt() is called irrespective of
SPMC_AT_EL3. Fix this by making plat_spmd_handle_group0_interrupt()
available if SPD_spmd is defined only.

Change-Id: If5f650d2bd3675cbb4b509e9e3743d3865d7c812
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
2024-11-19 12:50:10 +01:00