| 75685d3c | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
docs(qti): add RB3Gen2 platform documentation
Add documentation for RB3Gen2 platform listing down step to build, flash and boot up the platform with TF-A BL2 and BL31 support.
Change-Id: I361fec8fb
docs(qti): add RB3Gen2 platform documentation
Add documentation for RB3Gen2 platform listing down step to build, flash and boot up the platform with TF-A BL2 and BL31 support.
Change-Id: I361fec8fb7a98b92fed3b1000f6f0c6f510c4887 Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 368a1dd3 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
docs(qti): move documentation under docs/plat/qti/
Move documentation under docs/plat/qti/ to become a consolidated place for QTI platforms documentation.
Change-Id: Ief6f1f811de504761f00ce1acbd608
docs(qti): move documentation under docs/plat/qti/
Move documentation under docs/plat/qti/ to become a consolidated place for QTI platforms documentation.
Change-Id: Ief6f1f811de504761f00ce1acbd608663eee344f Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 7e277564 | 27-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "ck/tf-a/cmake-cc-fix" into integration
* changes: fix(build): forward compiler launcher to CMake fix(build): force CMake to cross-compile fix(build): correctly forwar
Merge changes from topic "ck/tf-a/cmake-cc-fix" into integration
* changes: fix(build): forward compiler launcher to CMake fix(build): force CMake to cross-compile fix(build): correctly forward C compiler to CMake feat(build): add helpers for managing compiler launchers refactor(build): track toolchain tool origin refactor(build): unify toolchain derivation
show more ...
|
| b5deac9a | 27-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "comp_build_macro" into integration
* changes: feat(build): setting CRYPTO_LIB via CRYPTO_SUPPORT feat(build): set CRYPTO_SUPPORT macro per BL feat(build): create defi
Merge changes from topic "comp_build_macro" into integration
* changes: feat(build): setting CRYPTO_LIB via CRYPTO_SUPPORT feat(build): set CRYPTO_SUPPORT macro per BL feat(build): create define macro to be used by BL
show more ...
|
| ac44b9c7 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
feat(kodiak): add support for RB3Gen2 platform
RB3Gen2 is an IoT platform based on Kodiak SoC. Details about this platform can be found here [1]. The boot flow with TF-A/OP-TEE is:
PBL (ROM) -> X
feat(kodiak): add support for RB3Gen2 platform
RB3Gen2 is an IoT platform based on Kodiak SoC. Details about this platform can be found here [1]. The boot flow with TF-A/OP-TEE is:
PBL (ROM) -> XBL -> BL2 -> BL31 -> BL33 -> Normal world OS | --> BL32
Steps to build TF-A for RB3Gen2:
$ make -j`nproc` PLAT=rb3gen2 SPD=opteed QTISECLIB_PATH=<qtiseclib-path> BL32=<path-to-optee-bin> BL33=<path-to-os-bootloader-bin> fip all
$ ./tools/qti/generate_fip_elf.sh build/rb3gen2/release/fip.bin 0x9fc00000
The resulting fip.elf should be flashed in uefi_a partition on UFS flash storage.
Note here that the bl2.elf generated requires to be signed as TZ image with QTI signing involved. There is an ongoing effort to enable OEM only signing for future boards support.
[1] https://www.qualcomm.com/developer/hardware/rb3-gen-2-development-kit
Change-Id: Ic19f28a5f559a0da28337f2d8da0d0e289a94514 Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 292ffc06 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
feat(qti): introduce basic XPU driver
Introduce basic XPU access control driver which allows currently to bypass XPU access control until a proper XPU driver is added upstream.
Change-Id: I2b5ad50c
feat(qti): introduce basic XPU driver
Introduce basic XPU access control driver which allows currently to bypass XPU access control until a proper XPU driver is added upstream.
Change-Id: I2b5ad50c57b0112302d3568e0e0bcf2116d3e259 Co-developed-by: Casey Connolly <casey.connolly@linaro.org> Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 6091f03d | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
refactor(qti): introduce SoC codename as Kodiak
Qualcomm has recently started using SoC codenames for upstream support with Linux kernel being the first adoptor. Using SoC codenames for upstream pro
refactor(qti): introduce SoC codename as Kodiak
Qualcomm has recently started using SoC codenames for upstream support with Linux kernel being the first adoptor. Using SoC codenames for upstream projects removes the need to follow different product names like for kodiak which is also known as sc7280, qcm6490 etc.
Let's follow this practice of using SoC codenames for TF-A project too beginning with Kodiak. While doing that let's refactor SoC and board specific files where the existing support for sc7280 has been renamed to sc7280_chrome to reflect it's usage.
Change-Id: I236fadf8ae9550f94deb05ebfed17e2ddbd69509 Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| c48d0aef | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
feat(qti): add TF-A BL2 common platform framework
Currently QTI pltforms only supports coreboot as the second stage bootloader. Lets enable support for TF-A BL2 as the common reference second stage
feat(qti): add TF-A BL2 common platform framework
Currently QTI pltforms only supports coreboot as the second stage bootloader. Lets enable support for TF-A BL2 as the common reference second stage bootloader which is able to support a variety of normal world OS bootloaders (BL33) like edk2, U-Boot, coreboot-depthcharge etc.
The common reference boot flow should look like following on QTI platforms:
PBL (ROM) -> XBL -> BL2 -> BL31 -> BL33 -> Normal world OS | --> BL32
As of now XBL is performing DRAM initialization and loads two set of images for BL2 and FIP into DRAM from flash after performing secure boot checks if enabled. Then BL2 does the FIP parsing from DRAM and loads payloads at appropriate addresses as per the FIP configuration.
Note here that BL2 image is loaded from TZ partition on UFS flash which by default requires QTI secure boot checks.
Change-Id: Ice73905bff39291fa417389cb84dabe455c3f0ba Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 1b9f8ec7 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
refactor(qti): refactor RNG as a proper driver
Refactor QTI RNG as a proper driver rather than being present in platform code aligning with common practice followed by other platforms.
Change-Id: I
refactor(qti): refactor RNG as a proper driver
Refactor QTI RNG as a proper driver rather than being present in platform code aligning with common practice followed by other platforms.
Change-Id: I4c1f23b7ea2f17fdb71792319b4c403db542b757 Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 7f86b635 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
fix(qti): fix config PLAT_XLAT_TABLES_DYNAMIC
Follow common practice to enable config option PLAT_XLAT_TABLES_DYNAMIC via platform.mk instead of platform_def.h.
Change-Id: I18944d5b5e97d784195c6df3
fix(qti): fix config PLAT_XLAT_TABLES_DYNAMIC
Follow common practice to enable config option PLAT_XLAT_TABLES_DYNAMIC via platform.mk instead of platform_def.h.
Change-Id: I18944d5b5e97d784195c6df374892029e24f3d0b Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 48897bad | 25-Sep-2025 |
Casey Connolly <casey.connolly@linaro.org> |
feat(qti): add BL32 support
Add support for loading a BL32 image like OP-TEE. In this case we stop routing secure EL3 interrupts to EL3 and instead allow S-EL1 to handle them.
Change-Id: I8ba25f83c
feat(qti): add BL32 support
Add support for loading a BL32 image like OP-TEE. In this case we stop routing secure EL3 interrupts to EL3 and instead allow S-EL1 to handle them.
Change-Id: I8ba25f83cfc8749974fb5760392a8c64b2cec18b Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 8eb87556 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
refactor(qti): make UART config independent
Make UART configuration independent of coreboot since there are alternative bootloaders like TF-A BL2 which can be supported. Also, configure UART scope t
refactor(qti): make UART config independent
Make UART configuration independent of coreboot since there are alternative bootloaders like TF-A BL2 which can be supported. Also, configure UART scope to enable runtime logging as well.
Change-Id: I1956535c769c2c3141854d062dc02c289b86b48d Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 327a32d9 | 25-Sep-2025 |
Sumit Garg <sumit.garg@oss.qualcomm.com> |
refactor(qti): make CNTFRQ config independent
Make system counter frequency configuration independent of prior stage boot-loader like coreboot to enable an alternative boot-loaders such as TF-A BL2.
refactor(qti): make CNTFRQ config independent
Make system counter frequency configuration independent of prior stage boot-loader like coreboot to enable an alternative boot-loaders such as TF-A BL2.
Change-Id: Id22803557466643f6455a243929626f71a4714fc Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| e76c1b90 | 13-Mar-2025 |
Caleb Connolly <caleb.connolly@linaro.org> |
fix(qti): fix build without coreboot
Skip some memory checks that rely on coreboot data.
Change-Id: I3c00aace547385af6b49632e3acfd9a977306a83 Signed-off-by: Caleb Connolly <caleb.connolly@linaro.or
fix(qti): fix build without coreboot
Skip some memory checks that rely on coreboot data.
Change-Id: I3c00aace547385af6b49632e3acfd9a977306a83 Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
show more ...
|
| 13e1e761 | 26-Oct-2025 |
Marek Vasut <marek.vasut+renesas@mailbox.org> |
fix(rcar4): assure SCIF and HSCIF clock are always enabled
Prior stages before TFA BL31 may shut down the SCIF or HSCIF clock. Enable the SCIF or HSCIF clock again during console initialization, to
fix(rcar4): assure SCIF and HSCIF clock are always enabled
Prior stages before TFA BL31 may shut down the SCIF or HSCIF clock. Enable the SCIF or HSCIF clock again during console initialization, to make sure those clock are running and prints can be produced on serial console if necessary.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Change-Id: I9461e72888a939c0bbe5795087a76f1a71c7151d
show more ...
|
| f162e3ab | 29-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
fix(build): forward compiler launcher to CMake
To ensure that compiler launchers like `ccache` are forwarded to CMake, we need to provide them separately via `CMAKE_C_COMPILER_LAUNCHER`.
Change-Id:
fix(build): forward compiler launcher to CMake
To ensure that compiler launchers like `ccache` are forwarded to CMake, we need to provide them separately via `CMAKE_C_COMPILER_LAUNCHER`.
Change-Id: I943d2fb5aaefe3915dbe424cb29277bac6dae799 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 3dc41a61 | 25-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
fix(build): force CMake to cross-compile
CMake provides the `CMAKE_SYSTEM_NAME` variable, which identifies the target operating system that the project is being built for. By default this variable i
fix(build): force CMake to cross-compile
CMake provides the `CMAKE_SYSTEM_NAME` variable, which identifies the target operating system that the project is being built for. By default this variable inherits its value from `CMAKE_HOST_SYSTEM_NAME`, which identifies the operating system of the host machine.
If these two variables differ in value, CMake determines that the project is being cross-compiled, and changes some of its behaviours.
For example: on macOS, unless cross-compiling is enabled, CMake passes Apple Clang's `-arch` flag to the C compiler whether it is Apple Clang or not.
To resolve this, this change now sets the following CMake variables:
- `CMAKE_SYSTEM_NAME` to `Generic`, indicating no specific system. - `CMAKE_SYSTEM_VERSION` to ``, to un-inherit the host system version.
See the CMake documentation for the following variables:
- https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER.html - https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_HOST_COMPILER.html - https://cmake.org/cmake/help/latest/variable/CMAKE_CROSSCOMPILING.html
Change-Id: Id5406c61baec459f56b6a105b3b507d238ff2847 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| fcada3d5 | 25-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
fix(build): correctly forward C compiler to CMake
When `$($(ARCH)-cc)` does not represent a valid program name or path, CMake fails to configure the Event Log library.
This occurs because CMake tre
fix(build): correctly forward C compiler to CMake
When `$($(ARCH)-cc)` does not represent a valid program name or path, CMake fails to configure the Event Log library.
This occurs because CMake treats `CMAKE_C_COMPILER` as a semicolon-delimited list of arguments to pass to `exec()`, whereas we provide it the value of `$($(ARCH)-cc)`, which is a shell fragment that does not necessarily represent a correct program path.
This change ensures that we pass a semicolon-delimited list as is expected by CMake.
Change-Id: I1dd3e53624054c4b5c881be1ab99e77ea22ceba2 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 5c24052a | 26-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
feat(build): add helpers for managing compiler launchers
With the introduction of the Event Log library, we now need to forward some of our toolchain information to CMake. However, CMake always trea
feat(build): add helpers for managing compiler launchers
With the introduction of the Event Log library, we now need to forward some of our toolchain information to CMake. However, CMake always treats the first shell word in `CC` as the path to the compiler, which is problematic for users of compiler launchers like `ccache`.
This change introduces some additional heuristics to the toolchain interface to detect compiler launchers and isolate their arguments from the underlying compiler command, which can then be forwarded separately to CMake.
Change-Id: I783833c523380b989bbac05b57503bc76881f6a4 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 93f45539 | 26-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
refactor(build): track toolchain tool origin
If a toolchain tool cannot be identified, the warning now includes a report describing whether the program was given by a user-specified parameter, the C
refactor(build): track toolchain tool origin
If a toolchain tool cannot be identified, the warning now includes a report describing whether the program was given by a user-specified parameter, the C compiler, or a default value.
Change-Id: Ic71ad33d3123f17433a3c176a93310b39bfa5fff Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 3cc5e789 | 29-Sep-2025 |
Chris Kay <chris.kay@arm.com> |
refactor(build): unify toolchain derivation
At the moment, the process we go through to derive the value for the toolchain tool variables is fairly complicated and not particularly consistent. This
refactor(build): unify toolchain derivation
At the moment, the process we go through to derive the value for the toolchain tool variables is fairly complicated and not particularly consistent. This change brings the three mechanisms we support into alignment in terms of their inputs and outputs via three helpers:
- `toolchain-from-parameter`: load the command from its parameter - `toolchain-from-cc`: load the command from its C compiler - `toolchain-from-default`: load the command from its built-in defaults
These functions take a toolchain identifier and a tool class identifer, and return either a program name/path or a shell command. Sanitisation is then done inside `toolchain-determine-tool`, which now makes a stronger guarantee that the toolchain tools are correctly escaped for the shell.
Change-Id: I3ce73134824e805e8ee47a119c982e7fe4923fae Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 7a0a320d | 24-Oct-2025 |
Chris Kay <chris.kay@arm.com> |
Merge changes from topic "ck/tf-a/shell-utilities" into integration
* changes: feat(build): add shell program reference utility (`shell-program`) feat(build): add shell word map utility (`shell-
Merge changes from topic "ck/tf-a/shell-utilities" into integration
* changes: feat(build): add shell program reference utility (`shell-program`) feat(build): add shell word map utility (`shell-map`) feat(build): add shell fragment joining utility (`shell-join`) feat(build): add shell fragment slicing utility (`shell-slice`) feat(build): add shell fragment length utility (`shell-words`) feat(build): add shell word extraction utility (`shell-word`) feat(build): add shell quoting utility (`shell-quote`) feat(build): add temporary variable binding utility (`with`)
show more ...
|
| 234519ee | 24-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(el3-spmc): allow physical partitions to have multiple UUIDs" into integration |
| 0322d7af | 30-Jan-2025 |
Jay Monkman <jmonkman@google.com> |
feat(el3-spmc): allow physical partitions to have multiple UUIDs
Physical partitions can now be assigned multiple UUIDs. This updates - FFA_PARTITION_INFO_GET handling to return all the required
feat(el3-spmc): allow physical partitions to have multiple UUIDs
Physical partitions can now be assigned multiple UUIDs. This updates - FFA_PARTITION_INFO_GET handling to return all the required parttion descriptors - device tree parsing to read multiple UUIDs
Change-Id: Ib9a961130aace75ba31b6610873138f35d355f09 Signed-off-by: Jay Monkman <jmonkman@google.com> Signed-off-by: Andrei Homescu <ahomescu@xwf.google.com>
show more ...
|
| ae4b70d6 | 24-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(el3-spmc): update FF-A version checks" into integration |