Commit Graph

1084 Commits

Author SHA1 Message Date
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
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 8fad761961 ccimx6ul: install_linux_fw_uuu.sh: increase timeouts to account for large NANDs
When running the installation script on variants with larger NANDs, two of the
script's commands take longer than our intended timeouts under specific
circumstances:

    * When the variant has a NAND with 512 MiB or more and singlemtdsys is set
      to "yes", running ubivolscipt takes longer than our 10 second timeout.
      The larger the NAND storage size, the longer this command takes.
    * When the variant has a 1 GiB NAND, singlemtdsys is set to "yes" and
      dualboot is set to "no", the update of the recovery UBI volume takes
      longer than our 15 second timeout.

In both of these cases, the script fails and the installation process cannot
continue. Apply the following changes to prevent this:

    * Increase the ubivolscript timeout from 10 seconds to 30
    * Increase the recovery update timeout from 15 seconds to 20

Also, remove the command immediately before ubivolscript is run, since said
command is already being run at the beginning of ubivolscript.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-06-27 17:48:10 +02:00
Gabriel Valcazar e0be8c3a1f ccimx6qpsbc: add missing "if" condition terminator in UUU install script
One of the conditions used to determine the U-Boot file was missing its
terminator, breaking the script.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit 26dc437a25)
2024-06-26 12:16:22 +02:00
Hector Palacios f55c084064 libubootenv: flush changes to fw_env.config on post inst script
On devices with NAND as storage media, a post install script
modifies the fw_env.config file basing on the NAND geometry.
This only happens once after deployment, typically on production
environments. If the power is removed soon after the post install
script runs (which is a normal procedure on manufacturing
environments), there are chances that pending file system
operations have not been flushed, which may occasionally lead
to the fw_env.config file end up empty on the next reboot.

This commit adds a sync at the end of the post-install script
to guarantee the changes are written to the file system.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9059
2024-06-26 11:25:23 +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
Francisco Gil 7e493b74ae install script: enable trustfence if -k is selected
Also use the name DEK_FILE for all the files.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil 828f5da09b install script: allow -k parameter to be used without arguments
There is a corner case that wasn't cover by the script, if you
use the script using a -k -t the "-t" would be the name of the
dek.bin.

This new implementation solves the issue.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil d86648f791 install scripts: capitalize F from TrustFence
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil 85b0895297 install script: remove extra "-" in not signed/encrypted images
By default is trying to install an artifact imx-boot--<platform>
if trustfence is not enabled.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil 87ec014630 ccmp1X: uuu: add support to flash trustfence artifacts
https://onedigi.atlassian.net/browse/DEL-9058

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil 86b97c888a ccimx93: uuu: add support to flash trustfence artifacts
https://onedigi.atlassian.net/browse/DEL-9058

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil 0a5274e06f firmware installation scripts: correct usage of u-boot variables
Some variables in the script belong to u-boot, not to the shell
running the script. Escape those variables so the shell does not
expand them.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil ecad5dba32 uuu: fix incorrect command for trustfence update from uuu
The command trustfence update doesn't require the partition argument.

Besides of that, remove extra fi on the cc8m platforms.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-04 08:45:25 +02:00
Javier Viguera 720c5f7218 libubootenv: rework patchset with Digi-specific functionality
* Move Digi code out of the upstream files to minimize conflicts in
  version migrations.
* Remove all the TEE client copied code and use the libteeclient library.
* Some fixes in the Optee-based environment encryption
* Some simplifications in CAAM-based environment encryption.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-05-28 17:57:01 +02:00
Hector Palacios 18ba3f592c ccmp15: add overlay for SOM hardware version 1
At the moment, this overlay adds RTC calibration to compensate
the drift observed in the 32kHz input frequency of hardware
version 1 of the SOM.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8987
2024-05-14 16:29:08 +02:00
Gonzalo Ruiz a288a03ef5 firmware_qualcomm: ccimx8m: update US Board Data File calibration
Update BDF file used on CC8MN and CC8MM with a new calibration
(GOLDEN3) to obtain a flatter frequency response and a better EVM
performance.

Reference calibration file is obtained from 'qca6574au-le-2-2-2_qca_oem'
repo at tag 'r00005.1' under path
'wlanfw/cnss_proc/wlan/fw/target/sdio_dst/qc6174/bdwlan30.bin'
(MD5SUM: 8a40d95698825e1718bee640b1f7982a).

Target output powers tables and CTL tables remain intact.

Changes required to pass the EN 300 328 V2.2.2 blocking test also remain
intact.

New BDF file:
- bdwlan30_US.bin (86180198440e6ab53734aabf0112c6ba)

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-05-03 11:33:28 +02:00
Mike Engel 041ca93cd9 ccimx8x: fix u-boot Trustfence naming for installation script
This commit fixes u-boot Trustfence naming for signed and
encrypted images used in the installation script removing
the a duplicated dash in the u-boot name.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-24 09:39:41 +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
Arturo Buzarra cfd40ca02f trustfence-stm-signtools: include external libraries in the package itself
The signing tools have a dependency of libQt5Core.so.5, which implies that this
library must to be installed on the native PC. This commit includes all the
required shared libraries for the signing tools inside the own package to avoid
external dependencies. With this change there is not needed any more the qtbase
dependency at build time.
Package version has been bumped to 1.2.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-08 18:02:37 +02:00
Mike Engel 4b4d4b5a6b u-boot-dey: add install uboot on redundant partition
This commit adds instructions to update the redundant u-boot
partition.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-05 17:08:22 +02: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 aabf4cb72d ccmp1: u-boot-dey: merge FIT signature config fragments into a single file
Unless we have a use case in which we need to apply these fragments separately,
we can merge them both into a single fragment.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gabriel Valcazar 9ac912d289 ccmp1: remove linux/u-boot functions related to FIT image bootscript copying
This logic was fixed in commit e915a14b4b, so we
no longer have to manually copy the bootscript to generate FIT images.

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

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
Gonzalo Ruiz 67be7da934 u-boot-dey: cc6: fix typo in uuu install script
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-03-14 16:41:56 +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
Javier Viguera 1d0631ef96 u-boot-dey: support Trustfence config options with spaces
The standard string split() function does not support splitting a string
by spaces but preserving quoted strings, so it does not work for build
options disabling functionality, as they have this format:

"# CONFIG_OPTION is not set"

On the other hand, the "shlex" module provides a split function that
allows splitting strings by spaces and, at the same time, preserves
quoted strings.

In Trustfence, we need this functionality to disable default options that
would allow the booting of non-authenticated images.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 18:13:05 +01:00
Javier Viguera be04b21ecd ccimx93: add support to build FIT images
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-04 10:44:58 +01:00
Javier Viguera e915a14b4b u-boot-dey: add /boot directory to the recipe sysroot
Other recipes may access SYSROOT_DIRS content by adding a dependence
on do_populate_sysroot.

We need this specific directory for the kernel fitImage support.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-04 10:44:58 +01:00
Mike Engel 9f9d016f5d ccmp1: fix the TFA naming with Trustfence enabled.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-29 12:56:28 +01:00
Mike Engel c66be227f6 u-boot-dey: fix generation of uuu script when Trustfence is enabled.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-29 12:56:28 +01:00
Arturo Buzarra 6e220fa079 digi-sc-firmware: update to v1.15.0.1
This update fixes an initialization issue with devices without HWID programmed.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-27 09:30:51 +01:00
Gabriel Valcazar 148b4974a4 libubootenv: adapt patches to v0.3.5
https://onedigi.atlassian.net/browse/DEL-8885

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-02-26 17:18:23 +01:00
Arturo Buzarra 2a8403940d u-boot-tools: add the fdt_add_pubkey script to the list of files to be shipped
This commit fixes a build issue when this script is installed but not shipped
in the u-boot-tools package.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-22 09:16:32 +01:00
Isaac Hermida ea35016831 firmware-murata: install all FW files
Not only install the US but all the FW files.
Apart of that, some scripts need a little adjustement such as:
 * Modify the BT baudrate to 3Mbps for EU power configuration, as it is the
    baudrate used by the btnxpuart driver.
 * Replace the way to reset the interface on each hcitool command to
    avoid missleading BT behaviour.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-21 18:00:34 +01:00
Arturo Buzarra 7c76b0c351 ccmp1: add support to sign different DDR3 configurations for U-Boot DTB
This commit implements the support to sign the different memory configurations for
the CCMP1 platforms, when trustfence is enabled, using FIT images.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-21 10:42:12 +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
Arturo Buzarra 9778490a30 u-boot-dey: ccmp1: disable CMD_BOOTZ when secure boot with FIT image is enabled
Command 'bootz' allows boot unsigned Linux zImages, so disable it when secure
boot is enabled using FIT images.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-20 14:24:16 +01:00
Gonzalo Ruiz 46a3f7b529 firmware-murata: update US-only CLM blob
Replace the US-only default CLM blob with the latest one, generated by
Infineon based on the results from Digi Certification of the CCMP1.

New file:
- cyfmac4373-sdio_US.clm_blob (92225a8bccf0c7c9d7df6cdd64670fa1)

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-02-20 11:55:13 +01:00
Mike Engel a8f5951578 u-boot-dey: add support to installation script for Trustfence
This commit adds support to installation script for Trustfence
artifacts.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-19 15:51:24 +01:00
Isaac Hermida 81d0ce168f u-boot-dey: installation scripts: minor fixes
Some minor fixes:
* return error code if installation fails
* cosmetic: update comment with options
* just exit after error and do not execute boolimit command

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Isaac Hermida 4a057144ee u-boot-dey: installation scripts: do not check recovery image for dual systems
Recovery image is not required for dual systems, so do not check it.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Isaac Hermida 4372eaba01 u-boot-dey: unify installation scripts
https://onedigi.atlassian.net/browse/DEL-8860

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Isaac Hermida ae0062f9ac firmware-murata: add support for ccimx93
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
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