Commit Graph

46 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
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 87673b6299 imx-boot: add ccimx95 support and rework patch handling
Add support for the ccimx95 and reorganize the recipe so that all machine
patches are applied for the DEY distribution, regardless of the build
target.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-10-01 11:55:15 +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
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
Javier Viguera 759598fdc0 ccimx8mm: add OP-TEE support for all memory variants
* Set the OP-TEE base address to 0x7e000000 (32MiB below the first gigabyte
  of DDR).
* Update the ATF and OP-TEE memory maps to support up to 4GiB DDR.

This ensures OP-TEE runs reliably across all ccimx8mm memory configurations.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-04-14 14:38:22 +02:00
Javier Viguera c2c933a93a imx-atf,imx-boot: refresh ccimx8m patches for release lf-6.6.52-2.2.0
https://onedigi.atlassian.net/browse/DEL-9537
https://onedigi.atlassian.net/browse/DEL-9541

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-03-27 17:02:54 +01:00
Gonzalo Ruiz a3b40d958d imx-boot: update to 'lf-6.6.52_2.2.0' NXP release
imx-boot includes the 'imx-mkimage_git.inc' from meta-freescale, so
redefine the SRCBRANCH and SRCREV for every platform in the bbappend.

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2025-02-11 17:15:34 +01:00
Gonzalo Ruiz 63df813395 imx-boot: ccimx8x: add patch to generate mkimage log file
https://onedigi.atlassian.net/browse/DEL-9417

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2025-02-11 17:15:34 +01:00
Javier Viguera 9b43e64332 imx-boot: update input artifacts for ccimx91/93
Update recipes to NXP's lf-6.6.36-2.1.0 release and refresh patches on
top of that version.

https://onedigi.atlassian.net/browse/DEL-9257
https://onedigi.atlassian.net/browse/DEL-9258

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-10-22 15:48:30 +02:00
Javier Viguera 373f061650 dey: cosmetic, mark patches as DEY specific
Our distribution is Digi Embedded Yocto (DEY), so use that to mark the
upstream status of the patches in our layer.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-10-22 15:48:00 +02:00
Gabriel Valcazar a840978ff1 imx-boot: appropriately override UUU_BOOTLOADER values
The way tagged imx-boot images are handled in meta-freescale was changed in
commit 161f1b3e69a3cf011a50e9b742fb8c46d61e41e8. Reflect this in our recipe by
using the same overrides as uuu_bootloader_tag.bbclass to disable the
functionality

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar 044b8092b7 imx-boot: stop using BOOT_NAME variable
This variable was removed from the base imx-boot recipe in meta-freescale
commit c30f12b809a8cf36043b42c67dd8a11f69d9cf77, as it was never being
overridden and always had a value of "imx-boot".

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar 46dde972c2 imx-boot: fix compilation for imx8m platforms
In meta-freescale commit 4d64dde1686a017ebe2763dd7880563a6fc51b53,
compile_mx8m() was modified to account for possible configuration suffixes in
the dtb filename via the creation of a symlink. In our case, the filename is
the same as the target, causing the dtb to get replaced with a dead symlink.
For now, revert this function to how it was in the kirkstone branch of
meta-freescale to avoid this.

https://onedigi.atlassian.net/browse/DEL-9011
https://onedigi.atlassian.net/browse/DEL-9081

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar 554729c92d freescale-layer: imx-boot: sync with meta-freescale/meta-imx
Since our recipes handle native builds differently, port the latest version
of the recipes from meta-freescale to our layer while keeping our
customizations. Use the same revision for all platforms.

Adapt patches for lf-6.6.23-2.0.0 release and add the "Upstream-Status" tag to
them to avoid QA errors.

For now, use the imx-boot recipe from meta-freescale, but there's a chance we
might need to port the version of the recipe in meta-imx.

https://onedigi.atlassian.net/browse/DEL-9011
https://onedigi.atlassian.net/browse/DEL-9081

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Javier Viguera e8a99542f3 imx-boot: add support for ccimx91
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-08-22 15:18:37 +02:00
Mike Engel d11b291f9a meta-digi: add new CCMX91 platform into DEY
This commits adds the CCMX91 platform to the DEY
build system. Furthermore, it creates generic ccimx9
support to be used for the CCiMX91 and CCiMX93
platform.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-07-19 07:32:00 +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
Gabriel Valcazar d07e68b5a2 imx-boot: apply patches to fix CVE-2023-39902 on i.MX8M platforms
The patches have been backported from the lf-6.1.36-2.1.0 release of
imx-mkimage.

https://onedigi.atlassian.net/browse/DUB-1081

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-06-06 14:59:26 +02:00
Mike Engel 55b313e7d2 trustfence: create symbolic links for all SOC revisions of the CCiMX8X
This commit creates symbolic links for all SOC revisions
of the CCiMX8X platform.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-24 09:56:37 +02:00
David Escalona bf365df07a imx-boot: generate symlinks for trustfence artifacts
Signed-off-by: David Escalona <david.escalona@digi.com>
2024-01-16 17:55:17 +01:00
Javier Viguera 161c66f5f6 ccimx93: support building bootloader for soc revision A0
Starting with NXP release "lf-6.1.55-2.2.0" the IMX optee fork (based on
version 4.0.0) does not support SOC revision A0. This commit recovers
support to build a bootloader for A0, extending the optee patch for
ccimx93 to support A0 with a build time option, and then extending the
optee-os and imx-boot recipes to build two optee binaries and using them
to generate bootloaders for both SOC revisions.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-01-03 12:00:07 +01:00
Javier Viguera 4566b10751 imx-boot, imx-mkimage: update to NXP's lf-6.1.55-2.2.0 release for ccimx93
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-01-03 12:00:07 +01:00
Francisco Gil fea7e623d7 trustfence: fix building issue with trustfence enabled in cc8x
In commit 2fd1dbfed7, we accidentally removed some changes needed to
build imx-boot with Trustfence enabled, which were added in commit
1ce17da864.

This partially reverts commit 2fd1dbfed7

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-21 10:54:35 +01:00
Javier Viguera 77755ac73c imx-boot: add makefile target to build imx93 A0 SOC revision
Also, set the build of A1 SOC revision by default for ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-02 18:59:06 +01:00
Javier Viguera d55dbce7ae imx-boot, imx-mkimage: update to NXP's lf-6.1.36-2.1.0 release for ccimx93
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-10-11 12:10:10 +02:00
Javier Viguera c8a33e8de9 imx-boot: fix build of imx-boot artifacts
Recently, meta-freescale backported the support to build multiple boot
artifacts. This clashes with the changes in our imx-boot bbappend,
so update the bbappend to make it compatible with the latest changes
in meta-freescale.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 2fd1dbfed7)
2023-10-10 14:13:37 +02:00
Javier Viguera 8f6660c0b0 imx-boot: ccimx93: capture mkimage output into a log file
mkimage output provides some information (basically image offsets) that
cst (code signing tool) uses to sign imx-boot images.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-09-25 14:23:40 +02:00
Gabriel Valcazar 1ce17da864 imx-boot: fix ccimx8x builds when Trustfence is enabled
Make a series of changes to make sure the imx-boot signing process works:

    * Store separate mkimage logs for each imx-boot build. In our case, this
      means storing one log per SoC revision. Each SoC revision has a different
      SECO fw binary with varying sizes, which causes offsets of specific
      signing regions to differ among revisions. Since we parse the offsets
      from the logs, we need to make sure the offset information is correct in
      each case.
    * Remove u-boot-atf-container.img in each mkimage iteration, otherwise the
      ATF offset information will be missing from subsequent logs.
    * Implement a separate trustfence_sign_imxboot() function for the ccimx8x
      to iterate through all SoC revisions.

Note that the SPL+AHAB signing script doesn't support imx-boot encryption yet.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-07-10 11:09:37 +02:00
Javier Viguera 837fbec2ca imx-boot, imx-mkimage: update to NXP's lf-6.1.22-2.0.0 release for ccimx93
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-07 12:22:55 +02:00
Gabriel Valcazar d13b42492f Rework ccimx8x imx-boot/u-boot recipes to reduce number of imx-boot artifacts
Now that both U-Boot and the SCFW can autodetect the RAM configuration, we can
simplify the imx-boot build process to generate two binaries (one per SOC
revision) instead of eight. Build "flash_spl" imx-boot images and use only one
global defconfig for u-boot.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Gabriel Valcazar 609028fe66 digi-sc-firmware: update to v1.11.0.1
This update includes automatic RAM configuration detection, and only one SCFW
binary is needed for all ccimx8x variants. Adapt the imx-boot recipe
accordingly.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Gabriel Valcazar 9ce94e4af4 imx-boot: re-add ccimx8x support
Use our custom compile/install/deploy functions from DEY 3.2. NXP's imx-boot
recipe assumes only one U-Boot config and SOC revision, but we have multiple,
so we have to rewrite all of these functions.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-29 16:25:55 +02:00
Javier Viguera 88d7cc0a77 imx-boot, imx-mkimage: update to NXP's lf-6.1.1_1.0.0 release for ccimx93
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-16 16:19:28 +02:00
Javier Viguera 82dc50b6ef meta-digi: update layer to follow changes in meta-freescale
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-22 11:05:08 +01:00
Javier Viguera 24f0f6ff79 imx-boot: add trustfence support for ccimx8m
https://onedigi.atlassian.net/browse/DEL-8362

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-13 18:38:08 +01:00
Javier Viguera 763ddf471b ccimx93: imx-boot: generate properly named boot artifacts
Although in theory, you can use any label to name the different u-boot
build configurations, we have them coupled to machine names in the
boot-artifacts bbclass, and also in the default boot artifact filename
in the firmware installation scripts.

So fix that up for the ccimx93 in the machine config, and create the
proper symlinks in the do_deploy imx-boot recipe.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-01-03 17:53:40 +01:00
Javier Viguera 345306b94c imx-boot, imx-mkimage: update to version lf-5.15.71-2.2.0
Both recipes (imx-boot and imx-mkimage) use the same source code
repository, so update both of them to the new NXP release, by copying
with minimal changes the recipes in meta-imx.

Also convert the original 'imx-mkimage' recipe, which was only for
native class, to a full target, native, nativesdk recipe. We need this
to be able to include the nativesdk one in our toolchain.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-12-23 15:02:53 +01:00
Javier Viguera add03e8464 meta-digi-arm: update support to build imx-boot artifact
For the moment it supports the ccimx93 without Trustfence.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-12-20 14:50:54 +01:00
Mike Engel c3b4cfa5d1 swupdate: add u-boot image into SWU update image
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://onedigi.atlassian.net/browse/DEL-7853
2022-09-12 14:26:13 +02:00
Javier Viguera 2452e85a6b kirkstone migration: cosmetic, clean build warnings
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:49:56 +02:00
Javier Viguera 065cf3e9c4 kirkstone migration: general update to the new override syntax
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Arturo Buzarra 3eef2d8d37 imx-boot: fix include path with dynamic layer
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-05-12 17:34:07 +02:00
Mike Engel 0b198431ee imx-mkimage: move recipes into dynamic-layers for NXP
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-05-04 14:01:05 +02:00