Commit Graph

52 Commits

Author SHA1 Message Date
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
Hector Palacios 856a4a3c70 ccmp1: remove existing common settings and move others to include file
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-02 17:24:59 +01:00
Hector Palacios c21dac88a6 uboot: ccmp1: remove deprecated FIP_UBOOT_CONFIG
This variable was removed from meta-st-stm32mp so we need to get rid of it
in meta-digi, too.

Reported-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8268
2023-01-02 17:24:59 +01:00
Javier Viguera eeb5ffd4d4 u-boot-dey: rework installation of firmware deploying scripts
Rework the "build_uboot_scripts" to prevent changing the templates in
the WORKDIR, as those are part of the SRC_URI. Instead, change the
deployed scripts by using "sed" and redirection.

Also, removed UBOOT_HAS_FASTBOOT altogether, as there is no platform
that does not support fastboot.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-12-22 12:37:46 +01:00
Hector Palacios 27ca6138e1 ccmp1/ccimx6ul: move U-Boot env defines to common include file
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2022-11-28 13:40:14 +01:00
Hector Palacios 27121ec4bf ccmp15/13_dvk: define default UART for XBee socket on DVK
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8212
2022-11-28 13:40:14 +01:00
Gonzalo Ruiz b8f8174579 ccmp1: define DIGI_FAMILY variable
DIGI_FAMILY is "ccmp1" and is common to both CCMP15 and CCMP13.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2022-11-22 14:09:30 +01:00
Javier Viguera ff06521485 ccmp1x-dvk: add stm32mp1common override
This override is used in STM BSP layer on some recipes. Adding it to our
machines fix a build failure on the gcnano-driver-stm32mp recipe.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-18 14:32:37 +01:00
Mike Engel 9812149ca5 tfa: change arm-trusted-firmware build configuration to build only one artifact
This commit changes the arm-trusted-firmware build configuration to only build
one ATF artifact.
It will create an image that boot over USB and NAND.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-11-17 11:36:06 +01:00
Arturo Buzarra cf6b49096c ccmp1: rename ccmp1 platforms on U-Boot to match with Linux
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-15 17:21:02 +01:00
Arturo Buzarra ea4277e2c9 ccmp1: move common CCMP1 headers to common configuration file
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-10 10:57:16 +01:00
Hector Palacios 373931f36e ccmp13/ccmp15: rename MikroE device tree overlays
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2022-11-09 09:50:08 +01:00
Gonzalo Ruiz 76a8f5e2df meta-digi-arm: ccmp1: add uuu script to installer
Set 'UBOOT_HAS_FASTBOOT=true' on CCMP1 platforms and therefore add the
UUU installation script to the installer ZIP file.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2022-11-07 14:41:35 +01:00
Arturo Buzarra b3d46473df ccmp1: add support to DT overlays for ccmp1 platforms
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-10 09:44:14 +02:00
Arturo Buzarra dda302ef77 core-image-base: remove splash package for CCMP13 platform
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-27 13:51:35 +02:00
Arturo Buzarra 0628f0bcdb ccmp1: explicitly set VIRTUAL-RUNTIME_initscripts to "initscripts"
Explicitly set this variable to keep some necessary scripts in /etc/init.d and
set a "softer" assignment to allow override it.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-27 13:51:05 +02:00