Commit Graph

2183 Commits

Author SHA1 Message Date
Mike Engel c5c0c7c966 systemd-boot: meson: Fix build with --optimization=plain
This commit fixes build issues with optimization=plain.

commit: ec35091c8a358aacbf787afb2bfab6a0996031ed

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-09-04 12:54:43 +02:00
Mike Engel 269d80105d recovery-utils: add preprocessor flag to change recovery tool usage help
This commit adds a compiler flag to remove certain options from the
recovery-utils, because some features rely on functionality that is
not supported by the CCMP1 platforms.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-09-04 11:34:40 +02:00
Mike Engel 11426fcb5b recovery: add initramfs into FIT recovery image
This commit adds the initramfs into the FIT recovery
image. If the RAM disk image is included in the FIT
image we need to create a initramfs file that doesn't
include the u-boot header, because the FIT descriptor
contains all the necessary information to use the
initramfs file.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-09-04 11:34:40 +02:00
Javier Viguera 4c33a85d6b bluetooth-init: start driver load service after bluetooth daemon
The bluetooth daemon does not need the interface to exist before being
executed. We configure the daemon with AutoEnable=true, which will enable
adapters present on start or that appear later on.

On shutdown, systemd stops services in the opposite order to the boot,
so configuring the driver load service after the bluetooth service,
ensures that on shutdown the driver is unloaded before the bluetooth
daemon is stopped.

The btnxpuart driver needs this order, to prevent a module unload failure
on system reboot/poweroff.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-08-30 18:22:37 +02:00
Javier Viguera 9ec3740d51 connectcore-demo: configure board image file for ccimx91
The ccimx91 shares the board image file with the ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-08-26 11:29:12 +02:00
Javier Viguera b162eac234 wayland-protocols, weston: fix compatible machine
Adjust the COMPATIBLE_MACHINE to prevent some warnings when building for
the ccimx91.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-08-22 17:11:42 +02:00
Hector Palacios b1adc08178 bootcount: fix segfault by checking the funcs are not NULL
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-08-22 08:29:37 +02:00
Hector Palacios aad224ef28 bootcount: add support to ccmp25 platform on external RTC on I2C1
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-08-21 17:37:32 +02:00
Mike Engel 16525cca53 swupdate: enable SWU authentication when Trustfence is enabled
This commit enables SWU image authentication when TrustFence
is enabled instead of when signing of images is enabled.
This allows the system to authenticate SWU images on images that
have been externally signed.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-08-07 10:03:07 +02:00
Arturo Buzarra 6f15713cc4 dey-image-installer: add USB driver installation script for ccmp2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-07-30 22:22:09 +02:00
Francisco Gil d202de613c meta-digi: ccmp2-dvk: update libdigiapix.conf
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-07-30 10:42:02 +02:00
Francisco Gil 06b37d8c9c libdigiapix: ccimx9: add missing spi entry in libdigiapix.conf
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-07-30 10:41:58 +02:00
Arturo Buzarra 1d29e40d23 meta-digi: integrate ConnectCore MP25 DVK platform on common recipes
Add initial support on common DEY recipes for ConnectCore MP25 DVK platform.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-07-22 17:12:33 +02:00
Hector Palacios 9af1e6c322 bump version to dey-4.0-r7
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-07-19 13:35:30 +02:00
Hector Palacios 22238772ee Merge tag 'dey-4.0-r6.1' into dey-4.0/master
Digi Embedded Yocto 4.0-r6.1

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-07-19 13:35:27 +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
Isaac Hermida d439abd0d4 alsa: do not restore UCM profiles
There is a harmless error when restoring alsa profiles, as it also
attempts to restore UCM profiles.
Since we do not include UCM profiles for our sound cards, skip it.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-07-05 13:02:40 +02:00
Francisco Gil 35cf4d61bc meta-digi: update revisions for dey-4.0-r6.1
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-07-02 10:19:59 +02:00
Gabriel Valcazar 85e59417a3 recovery: prevent partition encryption when singlemtdsys is enabled
In legacy NAND platforms like the ccimx6ul, it's possible to use a single-MTD
configuration with dualboot disabled, which allows access to the functionality
provided by the recovery partition. However, the partition encryption feature
requires a multi-MTD configuation, so said feature shouldn't be accessible in
this case.

Prevent access to partition encryption in a single-MTD system by:

    * Adding the "system" partition to the partition blacklist in both the
      recovery-utils library and the recovery initscript.
    * Checking the "singlemtdsys" environment variable before using any
      functionality related to partition encryption.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-07-01 13:27:38 +02:00
Gabriel Valcazar 5695cf15db recovery-initramfs-init: fix "update" volume wipe when singlemtdsys is enabled
Currently, when wiping the update volume via the recovery partition on a
ccimx6ul with singlemtdsys enabled, the procedure fails with this error:

    [RECOVERY] Starting recovery...
    [RECOVERY] Wipe 'update' partition requested
    [RECOVERY] Formatting 'update' ubi volume
    ubi0 error: ubi_open_volume.part.0: cannot open device 0, volume 3, error -16
    ubiupdatevol: error!: cannot open "/dev/ubi0_3"
                  error 16 (Device or resource busy)

This is because the logic used to unmount a volume before formatting it is
expecting this entry format when running "mount":

    ubi0:update on /mnt/update type ubifs

While this is the format of the "mount" output in userspace for the rootfs
volume, other trivial volumes have this format instead:

    ubi0_3 on /mnt/update type ubifs

Adapt the logic to this format so that the "update" volume wipe procedure can
take place.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-06-28 13:07:11 +02:00
Javier Viguera 17658bdffa Merge branch 'dey-4.0/master' into dey-4.0/maint
Merges Trustfence file-based encryption support.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-28 12:14:26 +02:00
Mike Engel 8a2a1beb08 fscrypt: include trustfence-fscrypt tool into rootfs
Add also 'e2fsprogs-tune2fs' to the image, as busybox's version of
tune2fs command does not support setting the "encrypt" feature of the
EXT4 filesystem.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-27 15:39:49 +02:00
Javier Viguera 18c0c69314 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-21 14:44:59 +02:00
Javier Viguera 0e23efb9b1 trustfence: add variables for file-based encryption
On new platforms, trustfence will use file-based encryption instead of
full-disk encryption. Add base variables and platform defaults to allow
implementing file-based encryption.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-18 14:19:21 +02:00
Javier Viguera 11ee0251d0 trustfence: ccimx93: disable boot artifacts encryption by default
Encrypting boot artifacts impacts the device's boot time, so disable them
by default. It is still possible to enable it in the project's config
file by setting the TRUSTFENCE_DEK_PATH option.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-18 14:03:16 +02:00
Javier Viguera 970c0cac50 trustfence: ccimx93: implement missing secure console functionality
Unlike the rest of the NXP platforms, in u-boot, the ccimx93 allows
configuring a GPIO name to activate the console when secure console is
enabled. Those u-boot options were not translated to the trustfence code
in meta-digi.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-14 17:51:33 +02:00
Mike Engel 37f5db42ac tsn: add basic Time sensitive networking (TSN)
This commit adds some basic TSN support to DEY.
It includes the kernel configuration fragment with
the IEEE 802.1 support and the some user space tools
necessary to configure the network.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-06-04 12:14:18 +02:00
Javier Viguera 584b263614 meta-digi: enable u-boot env encryption support on ccimx93
https://onedigi.atlassian.net/browse/DUB-1079

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-05-28 17:58:01 +02:00
Mike Engel 932c186225 packagegroups: add packages related to RT
This commit adds real time test tools to the system.

The hwlatedetct is a program that controls the kernel
hardware latency detector module. This is used to detect
large system latencies independent of Linux itself.

The rt-tests package is a test suite that includes the cyclictest
tool to measure the difference between a thread's intended
wake-up time and the time at which it actually wakes up.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-29 16:13:49 +02:00
Javier Viguera afde974a17 packagegroup-imx-ml: ccimx93: only install tensorflow-lite
Rework commit c5c9838e54 to only limit ML
packages for our ccimx93 and not for other imx93-based devices.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-04-18 10:49:23 +02:00
Arturo Buzarra dfda74348e trustfence: stm: fix TRUSTFENCE_PASSWORD_FILE initialization for ccmp13 platform
Trustfence class was setting the TRUSTFENCE_PASSWORD_FILE variable using the
old keys format where a unique key_pass.txt file contains all the key
passwords.  However, in the new format there are one key_pass file for each
key, so using a PKI tree with the new format throws an unexpected error in the
FIP generation due to it is not able to find the required key password.
This commit sets the TRUSTFENCE_PASSWORD_FILE variable for the ccmp1 platforms
on different way.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-15 09:15:12 +02:00
Javier Viguera 3c26ef78e0 meta-digi: enable boot artifacts encryption support on ccimx93
Add a check on the existence of the "temp-fitimg-loaded" environment
variable before setting it. It is needed, as with encrypted FIT images,
we need to decrypt them before accessing the boot script. In such cases,
u-boot sets that variable to "no" so the boot script does not override it,
and the FIT image is loaded again before the final boot to the OS.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-04-11 18:18:13 +02:00
Isaac Hermida b84de064c0 ccimx93: tensorflow-lite-ethosu-delegate: fix hang issue with multiple tflite context
This patch fixes the hang issue with EiQ demos using multiple tflite files,
for instance the gesture_detection demo.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-04-08 18:00:53 +02:00
Isaac Hermida b00e341495 meta-digi: remove python3-scipy
This recipe is not supported anymore. If you need to add that package
for aarch64, a solution is include pip3 in your image and install it
using the pip3 install manager.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-04-08 17:57:19 +02:00
Arturo Buzarra 2c4e1f85fd trustfence: stm: fix TRUSTFENCE_PASSWORD_FILE initialization for ccmp13 platform
Trustfence class was setting the TRUSTFENCE_PASSWORD_FILE variable using the
old keys format where a unique key_pass.txt file contains all the key
passwords.  However, in the new format there are one key_pass file for each
key, so using a PKI tree with the new format throws an unexpected error in the
FIP generation due to it is not able to find the required key password.
This commit sets the TRUSTFENCE_PASSWORD_FILE variable for the ccmp1 platforms
on different way.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-03-26 13:06:51 +01:00
Gabriel Valcazar 3fc0a30115 trustfence: rename variables related to FIT image signing
Different mechanisms are used to sign FIT images on the ccmp1 platforms and the
ccimx93, and we manage each mechanism via a different variable. The variable
names don't really reflect which platform they affect, which makes maintenance
harder.

Rename the variables so that it's easier to identify the platforms/vendors they
affect:

    * Replace TRUSTFENCE_FIT_IMG with TRUSTFENCE_SIGN_FIT_STM
    * Replace TRUSTFENCE_SIGN_FIT_ARTIFACT with TRUSTFENCE_SIGN_FIT_NXP

Don't rename TRUSTFENCE_FIT_IMG_SIGN_KEYNAME

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gabriel Valcazar 72675e510c ccmp1: decouple FIT functionality from signed FIT functionality
We rely on FIT support to implement boot artifact authentication on ccmp1
platforms, but our implementation made it impossible to enable FIT support
outside of the context of Trustfence/secure boot.

Change this so that it's possible to enable FIT support without having to sign
the FIT artifacts. Also, modify the linux-dey 5.15 recipe so that the U-Boot
DTBs with signatures get copied only when FIT signing is enabled.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Arturo Buzarra ecd77dece9 firmware-murata: update firmware binaries to version imx-kirkstone-hedorah_r1.0
This commit updates the required firmware binaries for Bluetooth and Wireless
interfaces, hostapd and wpa_supplicant recipes based on the Cypress Linux WiFi
Driver (FMAC) release v5.15.58-2023_1128 (Wireless firmware v13.10.246.334).
This change also includes a custom defconfig file for the hostapd and
wpa_supplicant recipes including the changes from the patches and the Digi
customizations.

Also are updated the Murata firmware repositories to match with the latest
Murata release imx-kirkstone-hedorah_r1.0, which is based in the same Cypress
Linux Wifi Driver release v5.15.58-2023_1128.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-03-18 18:13:09 +01:00
Javier Viguera e6b67b6bf8 meta-digi: trustfence: support signing a FIT boot artifact
And enable it for the ccimx93.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 18:13:05 +01:00
Isaac Hermida c5c9838e54 packagegroup-imx-ml: imx93: only install tensorflow-lite
Not installing all the ML packages but just tensorflow-lite saves space.
We are not including onnxruntime and torchvision, which are not supported
by the i.mx93 (see NXP user guide for details).
The ext4.gz size is decreased from 430MB to 217MB.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-29 12:58:16 +01:00
Gabriel Valcazar 948e55bde9 swupdate: replace on-the-fly patch with a clearer, equivalent one
The patch we were using comes from the time during dualboot support development
where said feature was selectable at build time. The patch adds a new build
option, giving the impression that it only gets enabled under certain
circumstances, when in reality:

    * The option is never enabled anywhere in our code
    * It's a string option that is treated like a boolean, meaning its
      respective conditional compilation is always getting compiled even when
      disabled

Our current dualboot support is enabled at runtime, so it doesn't make sense to
have a build-time option related to it, especially one that's broken. Replace
the patch with a functionally equivalent one that is less confusing. Also,
remove the related config option from our defconfig.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-02-27 18:37:36 +01:00
Gabriel Valcazar b2d9d33cf9 swupdate: reduce default log level in runtime config file
The current log level is very verbose and generates way too much output in some
cases, such as a binary diff update. Reduce the default log level to avoid
this.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-02-27 12:37:27 +01:00
Gabriel Valcazar 8430114f4c swupdate: adapt patches to 2023.12.1
https://onedigi.atlassian.net/browse/DEL-8885

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-02-26 17:18:23 +01:00
Gabriel Valcazar 5457c89a9e Revert "dey.conf: continue using stable versions of swupdate and libubootenv"
Prepare to support the latest versions of these packages

This reverts commit a22d21ab84.

https://onedigi.atlassian.net/browse/DEL-8885
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-02-26 17:17:54 +01:00
Arturo Buzarra 6b5b341a38 psplash: fix bbappend for different distro than "dey"
This commit fixes a build issue using meta-digi layer with a different distro
than "dey". Also simplified the bbappend to avoid creating a custom
do_patch_png() task before do_configure().

Reported-by: Stephan Klatt <skladd@users.noreply.github.com>
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-23 14:27:01 +01:00
Isaac Hermida 5588c30a7b Revert "ccimx93: bluetooth-init: re-initilize the LE support after hci reset"
This reverts commit c5b53c9765.

The HCI reset interface is fixed inside each BT power calibration shell
script, so this workaround is not needed anymore.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-21 18:00:34 +01:00
Isaac Hermida c5b53c9765 ccimx93: bluetooth-init: re-initilize the LE support after hci reset
for the IW61x, when the FW is instructed with an hci reset command, the
LE stack is not correctly reset.
It can be workaround-ed by SW doing a SW power cycle.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:01:45 +01:00
Isaac Hermida f44ae189e5 bluetooth-init: ccimx93: adjust power levels
https://onedigi.atlassian.net/browse/DEL-8327
https://onedigi.atlassian.net/browse/DEL-8458

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:01:45 +01:00
Arturo Buzarra 5e1b0ab830 meta-digi-dey: bump distro version to 4.0-r6
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-16 13:06:48 +01:00