Commit Graph

67 Commits

Author SHA1 Message Date
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
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
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
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
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 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 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
Hector Palacios 7722e3a1d2 ccmp1: [cosmetic] re-order definitions to match the ccmp25 layout
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00
Hector Palacios 7ceebfbb1e ccmp1: adapt U-Boot and OPTEE variables to newest ST BSP
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00
Hector Palacios 4bdd4b0b56 ccmp1: define device trees per media STM32MP_DT_FILES_xxx
The variable STM32MP_DEVICETREE is later expanded with the list of values
in all media.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-05-02 11:03:40 +02:00
Javier Viguera 6a1c8c27a9 machine: ccimx8/9, ccmp1/2: configure default DTB in FIT image
Configure the FIT_CONF_DEFAULT_DTB in the machine settings to define the
default configuration for the generated FIT image.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-04-28 11:00:21 +02:00
Hector Palacios 6f173e7720 digi: [costmetic] order KERNEL_DEVICETREE quasi-alphabetically
List first the overlays belonging to the SOM, then the
ones belonging to the DVK/SBC.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-02-11 08:45:48 +01:00
Hector Palacios ebbf61e15c global: rework Digi DT overlays filename structure
Device tree overlays now have the extension 'dtso' that
distinguishes them from board 'dts' files, so there is
no need for a prefix '_ov_' to tell if a file contains
a DT overlay.

To make them shorter and easier to tell the platform they
are for, change the filename format to:

  <platform-name>_<functionality>.dtso

where <platform-name> can be the name of the SOM or the
name of the DVK, so there is no need either to specify
'som' or 'board' on the filename.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2025-02-10 18:04:06 +01:00
Gonzalo Ruiz 654df8bd50 trustfence: repurpose TRUSTFENCE_GPIO_ENABLE to contain the GPIO name
Now all platforms support setting the GPIO name instead of an index
as the configuration for the GPIO-enabled secure console.

Repurpose the TRUSTFENCE_GPIO_ENABLE macro to directly set the GPIO
name.

Also take the opportunity to remove TRUSTFENCE_GPIO_ENABLE and
TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE commented definitions from bbclass
and conf files, and remove a duplicated TRUSTFENCE_CONSOLE_DISABLE
definition from ccmp1.inc.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2025-02-06 13:45:14 +01:00
Gabriel Valcazar 767a3a4929 Replace bz2 rootfs tarball compression with xz compression
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>
2025-01-21 11:56:31 +01:00
Arturo Buzarra 22429e62cb meta-digi-arm: add support for Worldwide regulatory domains
- For Qualcomm QCA65x4 platforms:

Add support to create the 'World' board data file for the QCA65x4 Wi-Fi
chip to operate on World regulatory domain.

Kernel wireless driver already supports selecting the correct file based
on the configured Regulatory Domain via Kernel command line argument
'wlan.regdmn', which allows the following parameters:
  * "US", for U.S.A. (default)
  * "World", for worldwide

- For Murata type2AE platforms:

Add World CLM blob file for the wireless interface and JRL hcd file for
the Bluetooth interface. Also add the autocountry ininitialization script
and systemd service.

World CLM blob file:
  - cyfmac4373-sdio_World.clm_blob (1abe7f3fa86d4123b0586cbbf0ec91ac)

Kernel wireless and bluetooth drivers already support selecting the correct
files based on the configured Regulatory Domain via Kernel command line
arguments 'brcmfmac.regdmn' and 'btbcm.regdmn' respectively, which allow the
following parameters:
  'brcmfmac.regdmn':
    * "US", for U.S.A. (default)
    * "World", for worldwide

  'btbcm.regdmn':
    * "FCC.CE", for U.S.A., Europe and the rest of the world (default)
    * "JRL", for Japan

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

Co-authored-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-03-21 09:12:25 +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 e7d90794f8 ccmp1: support different DDR3 configurations
This commit implements the support to allow different memory configurations for
the CCMP1 platforms, adding support to 512MB and 1GB memory variants for the CCMP15.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-20 15:34:58 +01:00
Isaac Hermida 0f56eab052 rename firmware-murata to firmware-murata-infineon
Murata provides this FW recipe for the infineon chip on the ccmpx products.
Now we are going to have more FW provided by Murata, but for other chips
which recipe is completely different.
Therefore, rename the recipe to explicitily indicate the FW it provides.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:01:45 +01:00
Gabriel Valcazar 604dcbc20f ccimx6ul/ccmp1: compress recovery UBIFS image using zlib to reduce its size
This compression method has a better compression ratio than the default (lzo),
but the (de)compression speed is slower, leading to slower read/write speeds.
However, the recovery partition only gets accessed in specific use cases such
as software updates and partition encryption, and it contains an initramfs. The
UBIFS will only be read at boot time to load its elements, but once the
initramfs is loaded in RAM, there are no more read/write operations to the
UBIFS during runtime, so the speed penalty is minimal.

Take advantage of the improved compression ratio to reduce the size of the
recovery image. On the ccimx6ul, the size is reduced by 248 KiB.

https://onedigi.atlassian.net/browse/DEL-8819
https://onedigi.atlassian.net/browse/DEL-8825

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-04 11:24:20 +01:00
Gabriel Valcazar bfbe078a3f linux-dey: ccmp1: rework defconfig logic to avoid using defualt defconfig
Commit d3f3cfdb62 removed the inclusion of STM's
linux-stm32mp.inc from meta-st-stm32mp in our linux-dey recipe, but this
inadvertently removed the logic in do_configure() necessary to use our custom
ccmp1_defconfig. Since this commit, the kernel was being built with the default
ARM defconfig, which is very different from our custom defconfig and doesn't
even boot on MP1 platforms.

Rework the logic used to copy our platform's defconfigs to prevent this.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-15 10:50:29 +01:00
Hector Palacios d3f3cfdb62 ccmp1: remove dependencies from kernel include file from meta-st-stm32mp
An anonymous function in linux-stm32mp.inc produces a bbfatal error when
KERNEL_DEVICETREE variable contains more than one device tree. This is our
case since we build the main DT plus a number of DT overlays.
This commit removes the dependency to this include file since we have our
own recipe to build the kernel and it is not needed at all.
It also removes the build of a uImage and the need to provide a
LOADADDR.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-11-28 12:53:30 +01:00
Arturo Buzarra f80b70bb72 ccmp1: add DT overlay for the DVK v2
This commit adds several overlays for DVK v2 and modifies the boot script to apply it
based on the board_version variable.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-11-07 11:18:58 +01:00
Mike Engel df9b1cf329 ccmp1: add signed FIT image support
This commit adds signed FIT image support for the CCMP1
platforms when using Trustfence.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-10-30 12:58:19 +01:00
Hector Palacios 6aeedd19d5 ccmp1: don't set TF_A_CONFIG explicitly
The include in meta-st-stm32mp layer will generate this basing on
BOOTDEVICE_LABELS.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-07 16:22:30 +02:00
Hector Palacios b80a7ced0e ccmp1: add ccmp1 platforms to supported list when enabling sdcard boot
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8650
2023-09-07 16:22:30 +02:00
Hector Palacios 1085b73dcc Revert "ccmp1: allow override of 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 7cf314ba80.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-07 16:22:30 +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
Francisco Gil 894a28de64 ccmp1: add weak assignment for KERNEL_EXTERNAL_DEFCONFIG
Digi's mechanism to use a custom Linux kernel defconfig is
based on setting the variable KERNEL_DEFCONFIG, however ST
implements their own mechanism with a custom variable
KERNEL_EXTERNAL_DEFCONFIG. When providing an external defconfig,
the variable needs to be set, otherwise a build error
will be generated.  So to keep compatibility with NXP
platforms, this commit weakly assigns KERNEL_EXTERNAL_DEFCONFIG
to a default value "defconfig".

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-07 14:45:32 +02:00
Francisco Gil b2dddb2b4c readonly: change index for ubi volume to 1
Now in the ccmp1X platform the index for the data partition is
hosted in the ubi1 volume instead of the ubi0.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-01 17:17:04 +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
Hector Palacios 7cf314ba80 ccmp1: allow override of TF_A_CONFIG
Use a weak assignment of TF_A_CONFIG to allow override from
conf/local.conf.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-07-31 11:51:16 +02:00
Francisco Gil cf5abf9c62 readonly: add default configuration for overlayfs_etc
When EXTRA_IMAGE_FEATURES += "overlayfs-etc" is added these
configurations are needed to compile. They are provided with
the default configuration to work with our software.

The user can modify them in their local.conf if needed.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-06-06 13:05:51 +02:00
Mike Engel 5d263c77ec machine: swap ccmp15/13 console GPIO enable pins
This commit swaps the GPIO pin used to enable
serial console when secure console is activated.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-23 11:21:41 +02:00
Mike Engel c515187ed4 ccmp1: add secure console support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-11 12:42:49 +02:00
Hector Palacios 9b165196bb global: create DIGI_SOM variable and reformulate DIGI_FAMILY variable
Certain platforms share a processor family but need to be differentiated
between them. DEY was using the variable DIGI_FAMILY as the SOM name
rather than the family. It becomes useful to have both (DIGI_SOM as the
more specific, and DIGI_FAMILY as the more generic).

This is the case, for example, of:

- ccmp1 (family)
  - ccmp15 (SOM)
  - ccmp13 (SOM)
- ccimx8m (family)
  - ccimx8mm (SOM)
  - ccimx8mn (SOM)

Both variables are used on the machine overrides.
Where DIGI_FAMILY was used, use now DIGI_SOM.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Gonzalo Ruiz 7b2339869a ccmp1: add BT Test overlay to the default images
Add the overlay required to perform the BLE HCI Raw test to the
linux default images. That way, default images can be used to certify
the product.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-04-20 13:54:54 +02:00
Javier Viguera c01c394806 meta-digi: rework distro features configuration
Instead of changing POKY_DEFAULT_DISTRO_FEATURES, do the distro features
configuration directly in the DISTRO_FEATURES variable. Also, add a couple
of variables (MACHINE_DISTRO_FEATURES_ADD/REMOVE) that allow machines
for extra tweaking the distro features.

While on it, clean up some distro features:

  - pulseaudio: already added by DISTRO_FEATURES_BACKFILL
  - bluez5, splashscreen, initrd, gplv3: not used (dead code)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-03-22 11:46:53 +01:00
Hector Palacios ea9a34f205 ccmp15/ccmp13: remove rs232 device tree overlays
These overlays have been removed from the kernel.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-03-07 18:14:20 +01:00
Gonzalo Ruiz 5c5fb956f2 meta-digi: ccmp13: add 'core-image-base' as DEFAULT_IMAGE_NAME
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-03-07 12:02:28 +01:00
Arturo Buzarra 184659e42a ccmp13: fix DT overlay name for USART3
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-02-27 17:09:12 +01:00
Javier Viguera 80578a2bd0 meta-digi: use INIT_MANAGER to configure init system manager
This variable introduced in Yocto 3.0 is the recommended way to configure
the init manager.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-24 12:16:02 +01:00
Mike Engel 219d19b91a ccmp13: add DT overlays for the PWM8 and USART3 for the CCMP13-DVK
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-02-24 09:46:06 +01:00
Hector Palacios 27eb14c65f ccmp1: remove MCA from MACHINE_FEATURES
No SOM variant has MCA chip for the moment.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-25 12:32:09 +01:00
Hector Palacios b4c65056fa dey-image-installer: remove boot-artifacts.bbclass
The class 'boot-artifacts.bbclass' was created to generate a
list of the bootable artifacts that must be copied from the
deploy dir to the installer ZIP file, so that the installer
has all the possible bootloader files to update any variant
of the hardware.
The class was somewhat over-engineered to produce the list,
specially for the cc8x, with the variants of SoC revision,
RAM size and width. With the arrival of ST family, it got
more complex, as the artifacts don't even come from U-Boot
recipe.

To remove complexity, this commit removes the bbclass and
moves the list to the platform config file.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-18 10:55:47 +01:00