Commit Graph

706 Commits

Author SHA1 Message Date
Arturo Buzarra fc1d3c5f75 trustfence: add TRUSTFENCE_ENCRYPT variable
Add a variable analogous to TRUSTFENCE_SIGN to enable/disable artifact
encryption. Deprecate TRUSTFENCE_DEK_PATH in favor of TRUSTFENCE_KEYS_PATH to
use a more generic name and avoid overloading it as an on/off flag. Add per-key
variables for encryption key filenames to avoid hardcoded names and allow
platform overrides.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-28 12:39:51 +01:00
Arturo Buzarra 8ee168de0a ccmp1/ccmp2: adapt virtual optee syntax
This commit updates the virtual OP-TEE syntax for the CCMP1 and CCMP2 platforms
to align with the changes introduced in the meta-st-stm32mp layer. Specifically,
it mirrors the update made in commit ded46c7d24addf91ec81c9f64309e6376689977a
("Adapt to virtual optee changes").

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-28 12:39:51 +01:00
Arturo Buzarra 15c5adfbb4 ccmp25-dvk: remove unsupported usbg0 machine feature
The ConnectCore MP2 DVK does not include an external STM32G0 component.
This commit removes the 'usbg0' entry from MACHINE_FEATURES to prevent
the installation of the unnecessary stm32mp-g0 firmware.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-28 12:39:51 +01:00
Arturo Buzarra 3e5cf0c6e6 trustfence: add signed and encrypted firmware support for Cortex-M on STM platforms
Adds support for signing and encrypting Cortex-M firmware on STM platforms,
following the STM32 MPU Ecosystem v6.1.0. This update enables secure boot of
co-processor binaries on ConnectCore MP2, enhancing firmware protection.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-28 12:39:51 +01:00
Javier Viguera 13f8046d31 meta-digi: clean vfat images dependencies
vfat images need U-Boot scripts, which are always provided by the U-Boot
recipe, even for imx-boot-based machines. Replace the machine-dependent
BOOTLOADER_IMAGE_RECIPE with virtual/bootloader (which is provided by
u-boot recipes).

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-23 11:31:15 +02:00
Javier Viguera 3dfd6b77ef meta-digi: drop legacy SD card image support
Remove obsolete SD card image creation logic and related variables. We
will use WIC images for bootable SD cards.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-23 11:31:15 +02:00
Javier Viguera d98b875ea5 meta-digi: support WIC images for NXP-based modules
Notice that we need to create u-boot and imx-boot symlinks in the deploy
directory, as they are required for the bootloader of the wic images.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-23 11:31:15 +02:00
Javier Viguera da00e61f80 imx-boot: generalize Cortex-M default image handling
Different platforms use different Cortex-M processors, so instead of
using the M4_DEFAULT_IMAGE_MX95 (as meta-imx does) for an M7 processor,
generalize to the CORTEXM_DEFAULT_IMAGE variable name. Also, move it
to the imx-boot recipe (where it is used) and deploy that image to
the imx-boot-tools directory, so the imx-boot image can be regenerated
externally (without yocto).

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-22 12:03:08 +02:00
Javier Viguera 0e338f4b8f ccimx9{3,5}-dvk: remove IMAGE_BOOT_FILES
Remove IMAGE_BOOT_FILES and related WKS dependencies from ccimx93-dvk and
ccimx95-dvk machine configs. IMAGE_BOOT_FILES defines the files included
in the boot partition when creating WIC images. The removed files are
the Cortex-M demo firmware that we don't want on the boot partition of
our WIC image.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-22 12:03:08 +02:00
Javier Viguera 34b7945ccb ccimx95-dvk: add enet2 and lvds overlays
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-10 10:12:02 +02:00
Arturo Buzarra c8757b7bf3 trustfence: add encrypted boot artifact support for STM platforms
This commit updates the secure boot support for STM platforms based on the
STM32 MPU Ecosystem v6.1.0. It introduces support for encrypted boot artifacts,
including TF-A and FIP, and enables this functionality for the ConnectCore MP2
platform.

This enhancement allows secure boot deployments with both authentication and
encryption for improved protection of critical boot components.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-06 17:15:17 +02:00
Arturo Buzarra aabffdd138 ccmp2: disable signing and encryption for co-processor firmware
This commit disables the signing and encryption mechanism for the ConnectCore
MP2 platform's co-processor firmware. Currently, this functionality is not yet
supported in DEY, and enabling it causes build failures when TrustFence support
is active. Disabling it ensures successful builds until full support is
implemented.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-10-06 13:36:32 +02:00
Javier Viguera 69a512aef1 imx-system-manager: add ccimx95-dvk support
Update machine config and add bbappend with ccimx95-dvk patches.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-01 11:55:15 +02:00
Javier Viguera 4cdc7020b6 imx-oei: add ccimx95 support
Add the ccimx95 platform cloned from mx95lp5. Provide DDR configuration,
configure the console on lpuart6, and update ccimx95-dvk.conf to select
the new board.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-01 11:48:40 +02:00
Javier Viguera a5d5cf86f1 meta-digi-arm: add ConnectCore 95 DVK platform
https://onedigi.atlassian.net/browse/DEL-9781

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-29 12:52:13 +02:00
Javier Viguera cd56a8ebf7 meta-digi-arm: clean up ccimx9 DDR firmware handling
Move the LPDDR4 firmware list from the shared ccimx9 include into the
machine configurations for the ccimx91/93 DVK, allowing the upcoming
ccimx95 to utilize its own distinct values.

Also, remove the redundant IMXBOOT_TARGETS and BOOTLOADER_SEEK_USERDATA
overrides in ccimx91-dvk, as they are duplicated.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-26 15:13:27 +02:00
Javier Viguera e3d8b314b8 weston: update to 12.0.5.imx for i.MX8/9
This is the version used by NXP with lf-6.6.52-2.2.1.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-09 11:43:36 +02:00
Javier Viguera 8fa9002ffd meta-digi: update multimedia packages for NXP's lf-6.6.52-2.2.1 release
https://onedigi.atlassian.net/browse/DEL-9748

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-09 11:43:36 +02:00
Javier Viguera 9e1e5bd80f meta-digi: update GPU related packages for NXP's lf-6.6.52-2.2.1 release
https://onedigi.atlassian.net/browse/DEL-9748

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-09 11:24:55 +02:00
Javier Viguera 770562a704 firmware: update binary packages for NXP's lf-6.6.52-2.2.1 release
https://onedigi.atlassian.net/browse/DEL-9748

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-09 11:24:55 +02:00
Javier Viguera 74753d8f99 imx-boot: update boot artifacts for NXP's lf-6.6.52-2.2.1 release
Also, refresh patches on top of new release.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-09 11:24:55 +02:00
Javier Viguera 839e8aab91 imx-digi-base: fix machine override extenders for ccimx91
Following NXP's lf-6.6.52-2.2.1 release.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-09-05 19:38:10 +02:00
Arturo Buzarra 07c4369637 u-boot-dey: switch ccimx6sbc/ccimx6qpsbc platforms to U-Boot v2024.04
This commit updates the CC6 and CC6QP platform configurations to use the latest
NXP BSP based on U-Boot v2024.04, unifying support across all NXP-based
platforms.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-09-03 09:03:19 +02:00
Arturo Buzarra a04846f107 meta-digi-arm: switch ccimx6sbc/ccimx6qpsbc platforms to Linux kernel v6.6
This commit updates the CC6 and CC6QP platform configurations to use the latest
NXP BSP based on Linux kernel v6.6, unifying support across all NXP-based
platforms.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-09-03 09:03:19 +02:00
Javier Viguera d676636159 imx-digi-base: set SECOEXT_FIRMWARE_NAME to empty by default
With the updated firmware-ele-imx recipe, the installation logic now
requires SECOEXT_FIRMWARE_NAME to be empty when no extra firmware is
to be installed.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-08-20 14:57:57 +02:00
Arturo Buzarra 87060cbbd1 ccmp13: disable generation of ST user image
https://onedigi.atlassian.net/browse/DEL-9734

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-07-29 14:12:36 +02:00
Arturo Buzarra ea5027e623 stm-st-stm32mp: fip/tf-a: sync .bbappend recipes with ST BSP v25.06.11 release
This commit updates the Digi custom .bbappend recipes for FIP and TF-A to align
with the latest ST BSP release, based on the openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11
tag for Yocto 5.0 (scarthgap).

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-07-29 11:33:15 +02:00
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
Hector Palacios 318374f11d dey-installer: add signed/encrypted bootloader to installer zip
On NXP platforms, the signed/encrypted bootloader images are not
included on the installer ZIP. This prevents from using the installer
when TrustFence is enabled.

This commit adds to the installer:
 - If encryption is enabled
   - encrypted bootloader
   - signed bootloader (for USB recovery boot)
 - If encryption is disabled
   - signed bootloader
 - If TrustFence is disabled
   - non-signed bootloader

It also treats the ccimx6ul special, as this has a dedicated file for
USB recovery boot.

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

https://onedigi.atlassian.net/browse/DEL-9698
2025-07-02 21:17:24 +02:00
Arturo Buzarra 9f6e78f036 ccmp25-dvk: integrate Sony IMX335 MIPI camera in default device tree
As the OmniVision OV5640 camera is now deprecated and no longer supported by
most vendors, this commit moves its support to a separate Device Tree overlay,
allowing it to be used if needed.

Instead, the Sony IMX335 MIPI camera is integrated into the default device
tree as the default supported camera for the CCMP25-DVK platform.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-06-26 09:13:42 +02:00
Hector Palacios f65dc4440e ccmp1: reorder addresses for fitImage binaries
Move the address where the fitImage is loaded after the addresses
where the binaries in it are decompressed. This way, the fitImage
can grow without size restrictions.

The memory map now looks like this:

  0xC0000000    Start of memory
      |
      |           (32 MiB)
      v
  0xC2000000    Kernel loadaddr ($loadaddr)
      |
      |           (32 MiB)
      v
  0xC4000000    DTB/DTBO load address ($fdt_addr)
      |           (4 MiB)
      v
  0xC4400000    Init ram disk ($initrd_addr)
      |
      |
      |           (64 MiB)
      |
      v
  0xC8400000    ZIP/fitImage address ($fit_addr_r)
      |
      ~
      |
      v

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-06-23 16:19:28 +02:00
Hector Palacios 0aed6a9c73 move IMAGE_FSTYPES to digi-defaults.inc
IMAGE_FSTYPES was declared on each platform config file, but it has the
same values for all platforms depending on the storage media (mmc or mtd)
and whether read-only is enabled.

Move the conditional weak assignment to digi-default.inc and remove it from
each platform config.
In the case of STM platforms, since IMAGE_FSTYPES is weak-assigned by STM
layer, we still need to append/remove from it inside the platform config,
but move it to the family includes, rather than declaring it on each
specific platform.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-06-16 08:35:19 +02:00
Hector Palacios 57f0575ad0 machine: remove 'sdcard.gz' image from default IMAGE_FSTYPES
The generation of the sdcard image takes time and resources, and
it's not involved in the Get Started.
This can be easily re-enabled by appending the variable in the
project local.conf.

Append the variable in the build scripts, to facilitate its usage
on release builds.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-06-16 08:35:19 +02:00
Arturo Buzarra a20aadbeec bluez5-init: add Bluetooth init script for CCMP1x platforms
The HCI_UART Bluetooth driver does not support suspend-to-RAM operation, so the
driver must be loaded and unloaded manually. This commit adds support for the
Bluetooth initialization script used across Digi platforms, specifically for
ConnectCore MP13 and MP15.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-06-13 13:24:28 +02:00
Hector Palacios ac69566ecd installer: merge USB/SD installers into a single template
The USB and SD installers are U-Boot scripts that are practically
identical.
Merge them into a single template with a couple of machine variables that
determine the default device index in U-Boot for the USB or the microSD
card.

Do dynamic substitutions to create the two installers out of the template.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-06-12 10:56:57 +02:00
Javier Viguera 0fa18775ad dey-toolchain: fix including machine-specific SDK tools
Fixes commit b143804dbb, since in nativesdk
context MACHINE_FEATURES is reset to SDK_MACHINE_FEATURES, causing OP-TEE
building tools to be missing from the generated SDK.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-06-06 12:30:33 +02:00
Arturo Buzarra 09714323a6 ccmp1: adjust memory layout for FIT image support
This commit updates the memory layout to properly allocate space for the
different FIT image components, while ensuring total memory usage stays below
128 MiB. This avoids overlaps and ensures correct loading on memory-constrained
variants.

Final memory map:

  Start of memory:        #  0xC0000000
                          #   |
                          #   | 32 MiB reserved
                          #   v
  FIT image load address: #  0xC2000000
                          #   |
                          #   | 32 MiB for FIT image
                          #   v
  Kernel load address:    #  0xC4000000
                          #   |
                          #   | 32 MiB for Kernel
                          #   v
  DTB/DTBO load address:  #  0xC6000000
                          #   |
                          #   | Size for DTB/DTBO
                          #   v

Total memory mapped: 96 MiB

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-05-26 09:48:00 +02:00
Gabriel Valcazar e03ef8941c ccmp1: remove spurious UBI/UBIFS images
In theory, we already had the necessary changes to remove these images, but
two things needed tweaking:

    * MULTIUBI_BUILD values use underscores instead of hyphens, so use
      underscores to properly remove the default value inherited from
      BOOTDEVICE_LABELS.
    * STM used to incorporate a custom "stmultiubi" image type in the stm32mp
      builds, but they've replaced this with the upstream "multiubi" type.
      Reflect this change to avoid generating additional UBI/UBIFS images in
      our builds.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2025-05-19 10:25:01 +02:00
Hector Palacios 165b1ac4ce ccmp13: add device tree overlay for DVKv3
This overlay contains a workaround to make the USB-OTG
work as USB device when connected to a host.

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

https://onedigi.atlassian.net/browse/DEL-9610
(cherry picked from commit ec92f5fdd10a61e37ac3778d0d3aa1816bc6b0aa)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-13 12:56:20 +02:00
Gabriel Valcazar 30990b4c2e ccmp15: manually add "optee" to MACHINE_FEATURES
STM's st-machine-common-stm32mp.inc file automatically incorporates "optee" to
MACHINE_FEATURES as long as BOOTSCHEME_LABELS contains "optee". Since we
recently modified the ccmp15's labels to only contain "opteemin", this is no
longer the case, which leads to:

  * optee packages (optee-client, optee-os) not getting installed in images and
    SDKs
  * optee patches for environment encryption not being applied to libubootenv

Add the feature manually to fix these two issues

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2025-05-13 09:59:31 +02:00
Hector Palacios 63e7031614 add missing `pn-` prefix to INSANE_SKIP appends
Commit 9c3916da94 added INSANE_SKIP
"32bit-time" to certain recipes that use 32bit APIs on the ccmp1
SOMs, but forgot to include the `pn-` prefix to really apply to
those recipes.

While on it, add two additional ones on recipes used by NXP 32-bit
platforms.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-09 12:40:51 +02:00
Javier Viguera fb655dd021 meta-digi: xwayland: use poky's xwayland 23.2.5 recipe
That includes several CVE patches not present of meta-freescale's
23.2.5.imx recipe (which is based in exactly the same revision).

Similar change was done in NXP's meta-imx (see commit
99ceb057fcfdc8151c1488089d5f22363dfdb6d7).

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-05-06 15:27:04 +02:00
Javier Viguera 1032a127e2 meta-digi: update i.MX GStreamer stack to 1.24.7.imx
NXP uses this version for its 6.6.52-2.2.0 release.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-05-06 15:26:59 +02:00
Arturo Buzarra 9e6e94d844 ccmp15/ccmp13: fix BOOTABLE_ARTIFACTS for CCMP1 platforms
In Yocto 5.0, the boot artifacts for CCMP1 platforms are compiled using the
opteemin flavor. This commit updates the BOOTABLE_ARTIFACTS definition to
reflect that change and properly integrate the boot artifacts into the ZIP
installer.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2025-05-06 09:02:10 +02:00
Hector Palacios 9c3916da94 add INSANE_SKIP 32bit-time to avoid warnings on recipes using 32-bit APIs
The binaries of certain recipes use 32-bit APIs (ioctl, stat) that produce
build warnings. Add INSANE_SKIP to prevent the warnings.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:05:02 +02:00
Hector Palacios 3c6d3d356b ccmp1/ccmp2: clear ALSA_LIST with override and move it to include file
ALSA_LIST variable is weakly set through an override (stm32mp1common or
stm32mp2common). When the override is in place, the hard assignment of
the plain variable is not enough, and the value weakly set in
meta-st-stm32mp layer takes precedence over the plain variable hard
assignment.
Clear the variable with the override and move it from machine config files
to the include file.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:04:31 +02:00
Hector Palacios 51116d4065 ccmp1: use 'opteemin' BOOTSCHEME_LABELS for ccmp15 by default
Move BOOTSCHEME_LABELS from common include to platform config

Default to:
- 'opteemin' for ccmp15
- 'optee' for ccmp13

This doesn't change the behavior present in DEY-4.0, where OPTEE in ccmp15
was minimal and running on non-secure DDR.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:04:31 +02:00
Hector Palacios e644965b0d ccmp1x: add 'stm32mp15common'/'stm32mp13common' to MACHINEOVERRIDES
This override sets other variables, such as STM32MP_SOC_NAME which is used
on the build of the FIP image.
It also makes ST layer append a new UBOOT_CONFIG (default_stm32mp15/13)
that we must remove.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:04:27 +02:00
Hector Palacios 2a547ac302 ccmp1: disable STM32MP_DEVICETREE_PROGRAMMER_ENABLE
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00
Hector Palacios 4d37569a52 ccmp1: move common ccmp15/ccmp13 defines to common include file
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00