This avoids the next warning when builing for STM platforms
WARNING: No recipes in default available for:
meta-digi/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bbappend
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
stai-mpu provides a common ML API for stm32mpu platforms, allowing applications
to use different inference frameworks without changing any code. Its packages
consist of pre-built libraries that are in charge of interfacing with the
three supported frameworks (tflite, onnx and openvx).
While it's possible to install only a subset of these libraries to limit the
supported frameworks on the target device, all libraries are packaged
unconditionally at build-time, pulling in the dependencies of all three
frameworks. In our case, this pulls in onnxruntime dependencies even though we
only install the tflite and openvx packages in our ccmp25 images. This tends to
cause out-of-memory errors when onnxruntime is built at the same time as other
large packages, such as opencv and wpewebkit.
Since most of these dependencies are already present at a higher level in the
x-linux-ai packagegroup recipes, remove them from the stai-mpu recipe and skip
the runtime dependency QA checks to be able to build the packages without their
respective frameworks. In the case of the ccmp25-dvk, this has no effect on the
final image contents, but it prevents onnxruntime from being built for no
reason.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The default ML packagegroup provided by the x-linux-ai layer isn't very
flexible when it comes to including a subset of the packagegroups it provides:
even if you include just one of them, the others will get built anyway, pulling
in several dependencies that aren't even used for the final image's contents.
Also, a lot of the runtime dependencies are duplicated in several of the
packages in the dependency chain, making it confusing to manage dependencies
efficiently.
Create a new packagegroup specifically tailored for our ccmp25 webkit images,
using packagegroup-x-linux-ai as reference, removing any duplicated
dependencies and applying the same changes as the ones we apply in the
reference's .bbappend. At the moment, this packagegroup and the old one are
equivalent, but we can now modify ours while leaving the old one intact in case
anyone wants to use it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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
A recent meta-freescale update broke the firmware-ele-imx recipe by setting
a default SECO_FIRWARE_NAME value containing a SoC revision macro we don't
have access to (IMX_SOC_REV_LOWER). Like we do for the ccimx93, use our SoM's
override to overwrite the meta-freescale value with our own.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This override was recently added to meta-freescale's graphical package recipes
to easily distinguish between i.MX platforms that use the Vivante driver and
those that use the Mali one. Without this change, a lot of these recipes are
broken, so sync with the latest changes in meta-freescale's imx-base.inc file.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
getVar() defaults to expanding by default.
See poky's commit: 2631c375b8a025ee2e4329f6d93900bb7b5dadf7
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By default, we don't enable wpewebkit's qtwpe config, so the qtbase-native
dependency pulled in automatically via the qt6-cmake bbclass isn't necessary.
Make sure the dependency only gets pulled in when needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit synchronizes the nl80211 definitions with Linux kernel v6.6.48 to
prevent a mismatch between the extended features recognized by wpa_supplicant
and to correctly parse the information provided by the Linux driver.
https://onedigi.atlassian.net/browse/DEL-9470
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
We apply a very similar patch to the i.MX fork of weston 12.0.4, but we never
needed this patch for stm32mp platforms because they used to have 10.0.2, which
has wl_shell support. Now that stm32mp platforms use 13.0.1, use the 12.0.4
patch as reference and adapt it so it applies and builds correctly.
This makes it possible to run the LVGL demo on the ccmp25-dvk.
https://onedigi.atlassian.net/browse/DEL-9458
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Currently, this feature prevents the CPU from properly entering the
standby state on the i.MX93.
With the current implementation, the PXP module generates
"pxp-dmaengine-std" interrupts, which prevents the CPU from asserting
the PMIC_STBY_REQ signal.
An ongoing ticket with NXP is addressing this issue.
In the meantime, use the following workaround to resolve the situation.
https://onedigi.atlassian.net/browse/DEL-9356
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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>
This commit increases the maximum rootfs size to 2.5 GB, aligning it with the
default rootfs partition size of 3 GB. This adjustment allows adding all the
functionality required by the user.
https://onedigi.atlassian.net/browse/DEL-9456
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The IW61x, when enabled as AP or P2P (or bridge with AP), generates udev
triggers that lead the wifi card to fail.
Ignore those events.
The reason of this new behavior is due to poky commit 1e8b49999ad8,
"udev-extraconf: fix network.sh script did not configure hotplugged interfaces"
https://onedigi.atlassian.net/browse/DEL-9465
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit fixes several issues related to the initialization of AI demos when
using a USB camera.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Using the qt5 STM customizations as reference, adapt them to qt6 by changing
filenames and paths when needed and porting the qtbase configuration options
from the v2.1.0 branch of meta-st-x-linux-qt. Make sure that the
cinematicexperience is included in packagegroup-qt6-dey.
For now, leave the STM qt5 support as-is for backwards compatibility.
https://onedigi.atlassian.net/browse/DEL-9462
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
We tested all tarball compression formats supported by poky, and although bz2
has faster (de)compression time, xz is better in terms of compression ratio:
for all of the rootfs tarballs generated for our currently supported
images/platforms (15 at the moment), the xz format saves an average of 30 MiB
per tarball compared to bz2, totalling up to 450 MiB.
No extra dependencies are pulled in, since xz-native is already being pulled in
for all of our image builds, so the only drawback to this change is the
increased compression time (+7.34s on average per tarball).
https://onedigi.atlassian.net/browse/DEL-9459
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
We have these features enabled for our mp1 platforms, and the optee one is
needed in order to pull in the optee-os package to the images/sdk.
https://onedigi.atlassian.net/browse/DEL-9443
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit clears the Cortex-M33 applications list to prevent including all
the Cortex-M33 demo applications from the ST layer. In the future, if we have
custom Digi examples, they should be added here.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
.ext4 files are identical to .ext4.gz, but uncompressed. .tar.xz files are the
exact same as .tar.bz2, but compressed with a different format.
Remove these artifacts to reduce storage overhead and to match the rest of our
platforms.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, the target will immediately power off as soon as the power button is
pressed, even before letting go of it. This customization is already being made
for ccmp1 platforms, so make it common for all stm32mp platforms.
https://onedigi.atlassian.net/browse/DEL-9190
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Similar to what we did for the target's version of this packagegorup in commit
58cfee7ac7, keep the "essentials" packagegroup and remove the addons. In this
case, the troublesome qt6 package is qtinterfaceframework, which pulls in
several python3 packages including python3-cryptography, which depends on the
rust compiler.
This reduces overall SDK size and rust compiler overhead during the SDK build.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Both python3-cryptography and python3-pyelftools are needed to compile optee-os
with a Yocto-generated SDK, but we were adding these packages to all i.MX SDKs,
even for platforms that don't use optee. This wouldn't be a problem if it
weren't for the fact that python3-cryptography is implemented in rust, and its
inclusion in the SDKs forces bitbake to generate the rust compiler just for
that package.
Only include these python packages for platforms that use optee.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The dependency was added in the recipe for adwaita-icon-theme v3.30.1, back in
poky commit 2ad84e129652, because that version of the package required librsvg
to convert SVG files to PNG. In recent versions, this is no longer the case,
and removing the dependency has no effect on the package's contents (they are
identical with or without the dependency).
Since librsvg-native is the only package in our ccimx6ul/x11 images that
depends on rust, remove this dependency to prevent bitbake from generating
the rust compiler, reducing build overhead.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This plugin is optional and, in platforms where rust isn't used anywhere else,
it adds a lot of overhead during the build process. Remove the plugin to
prevent said overhead when possible.
Alter gstreamer1.0-plugin-bad's PACKAGECONFIG from a single place so the
change applies globally (imx and stm platforms use different gstreamer recipes
and versions).
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This mirrors the change done for the STM version of the recipe in meta-digi
commit b7c15294a2, re-using the same patch that was used to fix the
compilation error introduced by poky commit 19fce77a5f13.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit adds a patch to address a build issue with the onnxruntime recipe
when warnings are treated as errors. The issue happens due to changes in commit
19fce77a5f132c569c555e8b6a4dda1379537653 ("gcc: Fix c++: tweak for
Wrange-loop-construct") in the poky layer.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
connectcore-demo-example multimedia content is only meant for webkit images,
and all this package does in its regular non-webkit version is add a few static
resources. Remove said resources and install only the demo's server + basic
assets.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
At the moment, we provide four versions of the connectcore demo package:
* webkit + multimedia: we include this one in webkit images
* webkit (no multimedia): used in cases where the platform supports webkit,
but video/webgl performance isn't optimal
* regular: only contains the demo server and basic assets, we include it in
non-webkit images
* regular + multimedia: contains the regular package plus video/webgl web
content
This last version doesn't make a lot of sense because video/webgl content is
meant to showcase the target's VPU/GPU capabilities, and that can only be done
when running the demo on the target via webkit. Besides, even though we don't
include this version of the package in our default non-webkit images, the
runtime dependencies in the .inc file make bitbake generate the video-examples
and webglsamples packages during the image builds, even if they don't end up
in the final image. This is true even for platforms that don't support webkit,
such as the ccimx6ul, ccimx91 and ccimx93.
Initially, I tried making the -multimedia package exclusive to the webkit
recipe, but this causes its contents to be bundled with the base (regular)
package. To avoid this, define the -multimedia package in the .inc file, and
move its dependency with video-examples and webglsamples to the webkit recipe.
This way, the regular + multimedia version of the package still exists, but
it no longer causes bitbake to generate video/webgl packages when not needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This replicates meta-imx commit addc08b02f9a, which was added to be able to
re-use packages in i.MX8/i.MX9 builds. Without this change, there are
compilation errors when building recent versions of the onnxruntime package
because some .S files are built with specific -march switches that conflict
with our current tunings. For example, when building for the ccimx8x-sbc-pro:
cc1: error: switch '-mcpu=cortex-a35+crc+crypto' conflicts with '-march=armv8.2-a+fp16' switch [-Werror]
[...]HalfGemmKernelNeon.S:151: Error: selected processor does not support `fmla v20.8h,v16.8h,v0.h[0]'
Using the generic tuning solves this issue, and according to the log in the
original meta-imx commit, this has minimal to no impact on binaries, so use
said tuning in all relevant platforms.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Part of these changes are related to the update to Qt 6.8. Slightly modify
qtquick3d_git.bbappend to mirror NXP's configuration (i.MX GPU drivers don't
support OpenXR)
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
This commit updates the required firmware binaries for Bluetooth and Wireless
interfaces and the Murata firmware repositories to match with the latest Murata
release imx-scarthgap-jaculus_r1.0, which is based in the Cypress Linux Wifi
Driver (FMAC) release v6.1.97-2024_1115 (Wireless firmware v28.10.387.10).
https://onedigi.atlassian.net/browse/DEL-9426
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
In the previous commit, removing the qt6 addons packagegroup has the unintended
side effect of removing all gtsreamer packages from the SDK, presumably because
they were being implicitly pulled in by one of the many qt6 packages. Add our
dey-gstreamer packagegroup to dey-toolchain to recover said packages.
Note that the set of packages we include with our packagegroup is much bigger
than the set that was being pulled in by the qt6 addons, but the size increase
is small compared to the increase caused by the qt6 addons. In the
ccimx8x-sbc-pro toolchain, this increases the installer script's size by around
84 MiB.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
packagegroup-qt6-modules is the base packagegroup added to SDKs that inherit
the populate_sdk_qt6 bbclass. By default, this packagegroup pulls in two other
packagegroups: packagegroup-qt6-essentials and packagegroup-qt6-addons.
The addons packagegroup pulls in a big number of qt packages that we don't even
install in our images. This would be fine if it weren't for the fact that the
bitbake server tends to crash when building several of these packages at once,
even on powerful development PCs. The current workaround is to reduce the
number of bitbake jobs at a project level, but this hinders the overall SDK
build time. Remove the addons and use our own qt6 packagegroup instead.
This way, we prevent errors in our daily builds and the qt6 contents in our
SDKs are more similar to what we provide in our images. In the ccimx8x-sbc-pro
toolchain, this reduces the installer script's size by around 492 MiB.
https://onedigi.atlassian.net/browse/DEL-9410
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
After commit 732975b722, which synced our qt6 recipes with meta-imx, there
are no longer any compilation error when building qtpdf. Undo our removal of
this package to minimize the amount of changes done to the qt6 packagegroups.
Don't undo the change in the copyright years
This reverts commit 3bf06c2c6f.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This imports ethos-u firmware from NXP's MCUXpresso SDK (version
SDK_2_16_000_MIMX9352xxxxM) + some patches provided by NXP to fix the
communication with the TFlite delegate (support case 00663302).
Repo: emp/ethos_u_firmware.git
Revision: 2a98a3899f56830c45fadc708229824e9fee3a01
https://onedigi.atlassian.net/browse/DEL-9355
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit integrates the necessary changes from the weston-init.bb recipe in
the Poky layer to resolve a rootfs installation issue with the tim-vx-tools
recipe caused by a mismatch in the permissions of the /home/weston folder.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all references to packages dependent on the X-Linux-AI tool
manager, as it has an internal dependency on the apt-openstlinux package.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all outdated recipes after the integration of the latest
X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer for Yocto 5.0
(Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the camera configuration and default paths to align with
the new X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds a .bbappend to the application-resources recipe, enabling
support for the STM32MP255 variant in the configuration board script.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>