Commit Graph

2338 Commits

Author SHA1 Message Date
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
Gonzalo Ruiz 731bee3498 ccimx93-dvk: rename overlay for DLC0200CCP04DF-2 MIPI display
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-06-24 12:29:19 +02:00
Gonzalo Ruiz dead98301b ccimx93-dvk: add overlay for NHD-3.5-640480EF-MSXP MIPI display
https://onedigi.atlassian.net/browse/DEL-9036

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-06-24 12:25:15 +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
Javier Viguera 8633a4ed49 imx-atf: prevent console output when TF secure console is enabled
https://onedigi.atlassian.net/browse/DEL-9063

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-06-14 17:51:33 +02:00
Gonzalo Ruiz 0d085e3062 ccmp15: add overlay for NHD-3.5-640480EF-MSXP MIPI display
https://onedigi.atlassian.net/browse/DEL-9036

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-06-14 10:49:11 +02:00
Mike Engel c157313de1 ccmp15: remove Cortex-M4 overlay from DEVICETREE list
This commit removes the Cortex-M4 overlay because the M4 has
been enabled now in the DTSI file.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-06-12 11:26:18 +02:00
Gabriel Valcazar 4115044590 imx-boot: apply patches to fix CVE-2023-39902 on i.MX8M platforms
The patches have been backported from the lf-6.1.36-2.1.0 release of
imx-mkimage.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-06-07 13:35:21 +02:00
Gabriel Valcazar d07e68b5a2 imx-boot: apply patches to fix CVE-2023-39902 on i.MX8M platforms
The patches have been backported from the lf-6.1.36-2.1.0 release of
imx-mkimage.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-06-06 14:59:26 +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
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 66780aafc4 optee_os: implement Optee-based environment encryption
https://onedigi.atlassian.net/browse/DUB-1079

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-05-28 17:57:31 +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
Gonzalo Ruiz 59025531c5 ccmp15: add DT overlay for configuring a MIPI display
https://onedigi.atlassian.net/browse/DEL-8999

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-05-02 15:05:38 +02:00
Mike Engel cc8c038401 linux-dey-5.15: add RT functionality to CCMP1
This commit adds RT functionality to CCMP1. The patches
have been extracted from STM RT expansion package and
includes the maineline RT patches and the STM RT driver
patches and RT Kernel defconfig changes.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-29 16:13:49 +02:00
Mike Engel 2eb37cf30b linux-dey-6.1: add RT functionality to CCiMX93
This commit adds RT functionality to the CCiMX93
platform. The patches have been extracted from the
NXP real time edge BSP and include the maineline RT
patches and the NXP RT driver patches and RT Kernel
defconfig changes.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-29 16:13:49 +02:00
Isaac Hermida e2caf16da4 mount: use the ubi class to check for attached devices
Use the generic sys class to check if a mtd device is attached.
The virtual node may not be present in some kernel versions.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-04-26 14:10:14 +02:00
Mike Engel 55b313e7d2 trustfence: create symbolic links for all SOC revisions of the CCiMX8X
This commit creates symbolic links for all SOC revisions
of the CCiMX8X platform.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-24 09:56:37 +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
Arturo Buzarra 8e63e52435 stm32mp: optee: add optee-client support by default
Optee-client provides the TEE Client API as defined by the GlobalPlatform TEE standard.
It is required to communicate with a Trusted Application (TA) running in a Trusted OS.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-22 11:33:41 +02:00
Javier Viguera e8860f7bbf optee-client: fix package installation in the rootfs
Several things were wrong after the latest update to version 4.0: the
tee-supplicant path, some settings in the systemd unit, etc.

This commit fixes the installation so the optee test suite completes again.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-04-17 17:55:16 +02:00
Arturo Buzarra 09e302d5ef tf-a-stm32mp: fix set_fip_sign_key() to obtain the key password
This commit fixes the set_fip_sign_key() function to match the new keys format
where there is a key_pass file for each key, no longer needing to search with
the key index.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-15 09:15:25 +02:00
Arturo Buzarra 2a4108f071 trustfence: stm: fix PKI tree check for ccmp13 platform
This commit fixes a race condition where, if you have an existing PKI tree with
the new format (one key_pass file for each key), the script detects that the
PKI tree is incomplete because it is always trying to find the key_pass.txt
file with the old format. This commit adds an additional validation step to
verify the new keys format.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-15 09:14:57 +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 cc72882584 ccmp15: add DT overlay for the SV4E MIPI analyzer
https://onedigi.atlassian.net/browse/DEL-8978

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-08 18:41:35 +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
Arturo Buzarra 4b98b3f49e tf-a-stm32mp: fix set_fip_sign_key() to obtain the key password
This commit fixes the set_fip_sign_key() function to match the new keys format
where there is a key_pass file for each key, no longer needing to search with
the key index.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-04-08 13:38:27 +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 b9d9a0104b trustfence: stm: fix PKI tree check for ccmp13 platform
This commit fixes a race condition where, if you have an existing PKI tree with
the new format (one key_pass file for each key), the script detects that the
PKI tree is incomplete because it is always trying to find the key_pass.txt
file with the old format. This commit adds an additional validation step to
verify the new keys format.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-03-26 12:37:06 +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 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 f67d59d7b8 meta-digi: support SRK revocation mask when signing boot artifacts
The script to sign the boot artifacts lacked the support to configure the
revocation mask. The at-the-moment supported platforms did not need it,
but the ccimx93 does need it, so implement it in this commit.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 18:12:56 +01:00
Javier Viguera 15211c3133 trustfence-sign-artifact: implement support for ccimx93
https://onedigi.atlassian.net/browse/DEL-8704

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 12:18:59 +01:00