Commit Graph

51 Commits

Author SHA1 Message Date
Mike Engel f0b4d0d02a ccmp15: enable secure_system_service for CCMP15
This commit enables the full OP-TEE support using the
secure_system_service profile.

https://onedigi.atlassian.net/browse/DEL-9601

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2025-07-29 11:16:39 +02:00
Javier Viguera 2cbfe2ae0d tf-a-stm32mp: move TF-A symlink creation to do_deploy
Moved deploy_symlinks_atf from SYSROOT_PREPROCESS_FUNCS to do_deploy task
to ensure symlinks are created correctly even when rebuilding from the
shared state after a "bitbake -c clean tf-a-stm32mp".

Override do_deploy[sstate-outputdirs] from the original recipe to allow
installing both the deploy artifacts (binaries and symlinks) to the
package deploy directory.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-06-23 17:05:31 +02:00
Hector Palacios 5271924af7 Revert "tf-a-stm32mp: remove STM32MP_USB_PROGRAMMER support from NAND images"
We reverted the stub that didn't allow PM when serial boot
was enabled  on TF-A. Restore the part of the recipe that
includes USB boot support on NAND boot images.

This reverts commit 24aef482ef.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9629
2025-06-10 16:17:45 +02:00
Hector Palacios 24aef482ef tf-a-stm32mp: remove STM32MP_USB_PROGRAMMER support from NAND images
Adding STM32MP_USB_PROGRAMMER=1 to TF-A NAND build allows the images to
boot from either NAND or USB (recovery) however, the source code of TF-A
disallows correct resuming from suspend when either STM32MP_USB_PROGRAMMER
or STM32MP_UART_PROGRAMMER are defined.

Remove this support so that the system can correctly resume from suspend.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9629
2025-06-04 09:54:56 +02:00
Hector Palacios fdec14adc9 tf-a-stm32mp: add USB boot support to 'opteemin' flavor of nand
OP-TEE comes in two flavors: optee and opteemin
For NAND-boot images, add support for USB boot as well,
so that the default tf-a image is valid for booting from
either NAND or USB.
We had this for 'optee' flavor but not for 'opteemin'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-13 08:38:50 +02:00
Arturo Buzarra 87aa304a2c tf-a-stm32mp: use MACHINE variable for final metadata binary symlink
Currently, the final metadata symlink is composed using the TF-A Device Tree
configuration, which includes memory variant details. However, these variants
are not relevant for the metadata binary.

To avoid generating multiple redundant metadata files or using confusing names,
this commit updates the symlink to be composed using the MACHINE variable
instead.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-05-06 09:02:10 +02:00
Hector Palacios e2f1b3cb64 tf-a-stm32mp: fix TF_A_CONFIG for nand
On the new BSP the configuration is called 'optee-nand' and the build
parameters have changed.
We do this override in meta-digi only to incorporate
 `STM32MP_USB_PROGRAMMER=1`
parameter, which allows to boot the nand image from USB, too.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00
Arturo Buzarra 250acb9041 stm-st-stm32mp: fip-stm32mp: Integrate do_deploy:append into main do_deploy() function
This commit simplifies the recipe by integrating the symlink generation
directly into the main do_deploy() function, removing the need to maintain
both a do_deploy() and a do_deploy:append().

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra f0c4cdc5bb stm-st-stm32mp: fip-stm32mp: fix symlinks in DEPLOYDIR
This commit addresses two issues in the symlink deployment function:

- do_deploy() should not write directly to DEPLOY_DIR_IMAGE. Instead,
  it now uses DEPLOYDIR.
- Expands do_deploy() instead of using SYSROOT_PREPROCESS_FUNCS to ensure that
  the original FIP artifacts are created and properly regenerated on each build.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra f8c0274076 stm-st-stm32mp: fip/tf-a: fix symlink generation
This commit generalizes the symlink generation to allow creating a final
symlink in the deploy directory, supporting different artifact flavors:
regular, signed or encrypted.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra f27c3364cb meta-digi-arm: Add custom sign-stm32mp bbclass to fix build issue
This commit imports the sign-stm32mp bbclass from the meta-st-stm32mp layer to
allow customization. The main customization ensures that the search_path()
function does not raise a build exception if the signing tool or keys are not
present in the PATH before starting the build process.

In our case, we do not need to manually install the tools or generate the keys
beforehand, as this is automatically handled by Yocto in our DEY distribution.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra b5e94fc1ae stm-st-stm32mp: tf-a-stm32mp: Add custom do_compile() to fix TF-A artifact signing
This commit introduces a custom do_compile() function to resolve a signing
issue affecting the final TF-A artifact, where the SoC name does not match the
TF-A device tree name.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra dc19078620 stm-st-stm32mp: fip-stm32mp: Fix sign key processing
This commit corrects an issue in the sign key processing when the SoC name does
not match the FIP device tree name.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra b1800736af trustfence: update support to STM platforms and integrate CCMP2
This commit updates secure boot support based on the STM32 MPU Ecosystem v6.0
and integrates support for the ConnectCore MP2 platform.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-26 08:53:12 +01:00
Arturo Buzarra 76a4f781e3 stm-st-stm32mp: fip-stm32mp: add OP-TEE USB FIP configuration
The FIP flavor for OP-TEE + USB is managed in the meta-st-stm32mp layer through
the "optee-programmer-usb". However, since we do not require the additional
overhead introduced by the STM32CubeProgrammer tool, this commit introduces a
new FIP configuration based on OP-TEE for booting from USB.

https://onedigi.atlassian.net/browse/DEL-9442

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-03-21 08:55:07 +01:00
Hector Palacios 7496beb1a4 fip-stm32mp: move function to create symlinks from tf-a recipe
We had a SYSROOT_PREPROCESS_FUNCS on the tf-a-stm32mp recipe to
create symlinks to both TF-A and FIP binaries, but the FIP binaries
are now produced by fip-stm32mp recipe.
This had the effect that the files might not be ready.
Duplicate the function in the fip-stm32mp recipe and create the
symlinks for the FIP images there.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-02-12 18:45:58 +01:00
Hector Palacios d8599ea1ff tf-a-stm32mp: add 'uart' and 'usb' TF-A configs without programmer
These are clones of 'optee-programmer-uart' and
'optee-programmer-usb' defined in tf-a-stm32mp-config.inc but
do not require to have the STM32MP_DEVICETREE_PROGRAMMER_ENABLE=1
which causes build problems in U-Boot.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9483
2025-02-06 09:00:52 +01:00
Hector Palacios 61eb1bfbe6 tf-a-stm32mp: create symlinks to TF-A artifacts in subfolders
The following TF-A artifacts are deployed to subdirectories of
the image deploydir:
  - arm-trusted-firmware/tf-a-<platform>-<bootconfig>.stm32
  - arm-trusted-firmware/metadata-<platform>.bin
  - fip/fip-<platform>-<bootconfig>.bin
  - fip/fip-<platform>-ddr-<bootconfig>.bin

These binaries are not copied to the image deploy dir during
the regular do_deploy(), instead, they are deployed by script
tf_a_sysroot_populate() which is added to SYSROOT_PREPROCESS_FUNCS.

To follow this logic, change the previously wrong do_deploy:append
into a new function and append it also to SYSROOT_PREPROCESS_FUNCS,
so that it is called after the artifacts have really been deployed.

In the existing code, fix the paths and commands, which had some
errors.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9461
2025-01-31 09:10:21 +01:00
Arturo Buzarra 8089dd48df stm-st-stm32mp: gcnano: Fix Kernel NULL pointer on forced system shutdown
This commit adds a patch to the gcnano-driver-stm32mp recipe to address a
Kernel NULL pointer issue that occurs during uncontrolled shutdown sequences.
This issue causes an unexpected Kernel NULL pointer exception, preventing the
system from powering off.

https://onedigi.atlassian.net/browse/DEL-9449

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-01-27 20:52:43 +01:00
Arturo Buzarra 929886eeea meta-digi-arm: ccmp25-dvk: fix boot artifact names
Based on the boot schemes and sources supported for each platform, the boot
artifacts now include this information in their filenames. This commit updates
the filenames accordingly in several recipes.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-12-19 09:47:07 +01:00
Arturo Buzarra 576c0283f0 stm-st-stm32mp: fip-stm32mp: add a custom .bbappend to fix the deployment of the final FIP artifact
This commit integrates a custom .bbappend to fix a deployment issue of the
final FIP artifact, where the SoC name does not match with the FIP device tree
name.

https://onedigi.atlassian.net/browse/DEL-9381

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-12-10 10:19:50 +01:00
Arturo Buzarra 9c502ca5b8 stm-st-stm32mp: gcnano: remove gcnano recipes from meta-digi
This commit removes the gcnano recipes integrated into meta-digi, as a new
version (v6.4.19) has been released in the latest ST BSP, based on the
openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for Yocto 5.0 (Scarthgap).

https://onedigi.atlassian.net/browse/DEL-9381

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-12-10 10:19:50 +01:00
Arturo Buzarra 8b0aada42d stm-st-stm32mp: tf-a: sync arm-trusted-firmware recipe with v2.10
This commit removes all outdated TF-A recipes and synchronizes the Digi custom
.bbappend with the latest v2.10 from the ST BSP release, based on the
openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for Yocto 5.0 (scarthgap).

https://onedigi.atlassian.net/browse/DEL-9381

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-12-10 10:19:50 +01:00
Javier Viguera 5ba3466c08 ccmp25: generate symlinks to final boot artifacts
DEY generates the ccmp25 boot artifacts on subdirectories of the main
deploy folder. The firmware installation script expects to have them on
the deploy directory, so create the proper symlinks.

https://onedigi.atlassian.net/browse/DEL-9120

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-07-25 19:18:27 +02:00
Arturo Buzarra 90f103a916 stm-st-stm32mp: gcnano: add support to ConnectCore MP25 DVK platform
Add GPU support based on v6.4.15 version from STM release
openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.

https://onedigi.atlassian.net/browse/DEL-8995

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-07-22 17:12:33 +02:00
Arturo Buzarra 0ad2b42f93 stm-st-stm32mp: tf-a: add support to ConnectCore MP25 DVK platform
Add support based on v2.8 version from STM release
openstlinux-6.1-yocto-mickledore-mp2-v23.12.06.

https://onedigi.atlassian.net/browse/DEL-8995

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-07-22 17:12:33 +02:00
Isaac Hermida 0c642ed7ec Update Digi Copyright header
Standarize the Copyright header according to company policy.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-07-15 09:28:58 +02:00
Arturo Buzarra 4b98b3f49e tf-a-stm32mp: fix set_fip_sign_key() to obtain the key password
This commit fixes the set_fip_sign_key() function to match the new keys format
where there is a key_pass file for each key, no longer needing to search with
the key index.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-08 13:38:27 +02:00
Mike Engel 0cd1c33a7b trustfence: use signed images suffixes for ccmp1 boot artifacts
When TrustFence is enabled, the boot artifacts (TFA and FIP)
have a 'signed' suffix. Handle this case so that the correct
symlinks are created and the correct artifacts are put into the
SWU file.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-01-03 13:05:05 +01:00
Hector Palacios 019deb6313 tf-a-stm32mp: create symlinks on deploydir to TF-A and FIP binaries
These binaries are installed in subdirectories by default. The uuu
installer expects to find all binaries on the same folder where the script
is. By creating symlinks, the uuu installer can find all the binaries it
needs directly on the deploy folder.

NOTE: variables in 'for' clauses are intentionally without quotes to skip
whitespaces in them.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-10-20 10:48:07 +02:00
Hector Palacios e89385894d Revert "ccmp1x: create new variable to be able to truly override TF_A_CONFIG"
We will use BOOTDEVICE_LABELS as a means to add 'sdcard'
configuration to TF_A_CONFIG within meta-st-stm32 so there
is no need to have a wrapper variable in meta-digi.

This reverts commit c6f19a099c.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-07 16:22:30 +02:00
Hector Palacios ae327e8dae trustfence: stm: move generation of PKI out of sign script
Create a new script for the generation of PKI tree for STM platforms
and leave the trustfence-sign-artifact script exclusively for signing.
The new gen-pki script only requires the platform as an argument and the
path to where to save the tree (if it doesn't exist) in
CONFIG_SIGN_KEYS_PATH.

This commit also reverts commit 13c136dbc5 by getting rid of the
trustfence-genpki-native.bb recipe and moving back the PKI generation
functions into trustfence.bbclass. This recipe didn't quite guarantee
that the PKI was generated on time for the recipes that required the
keys to exist, anyway.
Instead, the PKI generation function must be called right after
do_compile() of recipe tf-a-stm32mp to be ready for do_deploy() where
the key is used.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-14 09:19:16 +02:00
Hector Palacios c6f19a099c ccmp1x: create new variable to be able to truly override TF_A_CONFIG
Commit 7cf314ba80 made a weak assignment of TF_A_CONFIG in the machine
config file, so that it could be overriden from conf/local.conf with a
straight assignment. However, this variable already has a weak assignment
on include files for the tf-a-stm32mp recipe, which apparently take
precedence over the machine files.

This commit creates a new variable DEY_TF_A_CONFIG in the machine config,
and then uses a straight assignment of TF_A_CONFIG to the new variable on the
tf-a-stm32mp.bbappend.
This allows users to override the machine default and avoids the STM recipe
weak assignment.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-03 15:17:03 +02:00
Javier Viguera 0ef9174760 Merge branch 'dey-4.0/maint' into dey-4.0/master
This merges back tag 'dey-4.0-r3.2' + some other fixes.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 11:27:34 +02:00
Arturo Buzarra e679d3821d meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:34:53 +02:00
Arturo Buzarra 04f8e54400 meta-digi: update revisions for dey-4.0-r3.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:30:24 +02:00
Hector Palacios 437dd8a331 tf-a-stm32mp: add 'w' permission to signed TF-A
By default, the signing script generates a file without 'w'
permission so DEY cannot remove it from the deploy dir on
a clean operation.
Add the 'w' permission so that DEY can remove it on clean
operations and generate a new signed file when required.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-15 17:09:23 +02:00
Arturo Buzarra e45edb7f56 meta-digi: revert revisions to AUTOREV 2023-05-11 23:10:41 +02:00
Arturo Buzarra d780711b17 meta-digi: update revisions for dey-4.0-r3.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:58:31 +02:00
Hector Palacios e600597024 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 13:19:32 +02:00
Hector Palacios 32f4ba9b6d tf-a-stm32mp: obtain password to use during FIP image signing process
The FIP image is signed internally by this recipe. The password must be
set in FIP_SIGN_KEY_PASS. With the signing script, the password is
randomly generated and saved in key_pass.txt.
This prefunc obtains the password(s) from the file to set FIP_SIGN_KEY_PASS
so that the FIP can be properly signed.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios d6af2d336c tf-a-stm32mp: automate the signing of TF-A image
Add as deploy postfunc, the signing of TF-A image by calling Digi signing
script.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Francisco Gil 27414d3420 meta-digi: revert revisions to AUTOREV
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:48:01 +01:00
Francisco Gil b59f31c114 meta-digi: update revisions for dey-4.0-r2.2
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:46:34 +01:00
Arturo Buzarra 358a7cc414 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:59:27 +01:00
Arturo Buzarra de3ba53ef3 meta-digi: update revisions for dey-4.0-r2.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:58:58 +01:00
Arturo Buzarra 93a4dd2db5 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:35:27 +01:00
Arturo Buzarra 2ca5dfe31e meta-digi: update revisions for dey-4.0-r1.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:34:56 +01:00
Arturo Buzarra 0efbb07107 meta-digi: branch to dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-21 17:44:48 +01:00
Mike Engel 9812149ca5 tfa: change arm-trusted-firmware build configuration to build only one artifact
This commit changes the arm-trusted-firmware build configuration to only build
one ATF artifact.
It will create an image that boot over USB and NAND.

https://onedigi.atlassian.net/browse/DEL-8187

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-11-17 11:36:06 +01:00