Commit Graph

985 Commits

Author SHA1 Message Date
Hector Palacios 998598415a dey-image: generate public key after rootfs install
When TrustFence is enabled, a PKI tree is generated.
In the case of NXP platforms, the PKI contains public certificates
from which the public key needs to be extracted using an openssl
command.
In the case of STM platforms, the PKI contains directly the
public key.

In all cases, we need the public key to be installed in the
rootfs /etc/ssl/certs/ folder, so that it can be used by
swupdate to authenticate signed SWU packages.
Up to now, this was being done on the dualboot recipe, but the
installation of the public key should really be only dependant
on the fact of TF being enabled.

This commit:
 - Removes the generation of the public key from dualboot.bb.
 - Generates a patch to extract the public key from the certificate
   as part of the PKI tree generation (on NXP platforms).
 - Installs the public key during a post install function after
   the final rootfs has been created.
 - For NXP platforms, extracts the public key using openssl if
   it does not exist (for backwards compatibility).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-21 09:21:30 +02:00
Isaac Hermida e369f71019 u-boot-dey: ccimx93: fix boot from sdcard image
When booting from recovery sdcard, in the imx93 the dualboot is yes by
default, so the mmcroot variable was not set correctly for the uSD.
If we boot from uSD, just assume all the system is in the uSD card, whether
it is a recovery system or a prepared uSD card for demo.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-08-18 17:19:58 +02:00
Isaac Hermida 3bfcc31563 sound: max98088: update card name
Starting at kernel 6.1, the maxim98088 driver has been migrated
from the old imx-max98088.c driver to NXP’s new audio framework
fsl-asoc-card.c.
Update the sound stuff to match the new audio card and some of
the new controls.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-08-08 10:29:16 +02:00
Javier Viguera 110a742d06 digi-sc-firmware: fix license checksum
This change was missing in the previous commit updating the package to
version v1.15.0.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-08-01 13:47:19 +02:00
Gabriel Valcazar cfb4cd9d47 digi-sc-firmware: update to v1.15.0
This includes NXP's code from the SCFW porting kit v1.15.0, support for
variants with 4 GiB of RAM and a fix for an issue when resuming from suspend.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-07-31 11:13:58 +02:00
Mike Engel b1d20d686e libubootenv: add support for environment encryption on CCMP1
This commit adds support for environment encryption/decryption of the
u-boot environment on the CCMP1 platform in Linux.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-07-28 13:29:51 +02:00
Gonzalo Ruiz 49614158a6 u-boot-dey: fix evaluation of BUILD_UBOOT_SCRIPTS variable
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-07-13 12:50:46 +02:00
Gonzalo Ruiz aa41094ef5 firmware_qualcomm: remove BDF symlinks
Regulatory domain is now provided as a Kernel parameter, and the
wlan driver uses it to select the correct BDF file, so we don't
need to change the symbolic links to point to one file or another
anymore.

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-07-07 15:55:46 +02:00
Javier Viguera c42cca79ba u-boot-dey: update uboot for ccimx93 to version v2023.04
Following NXP's 'lf-6.1.22-2.0.0' release.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-07 12:22:55 +02:00
Gabriel Valcazar 2687207948 ccimx8x: reflect imx-boot simplification in installer scripts
We no longer need logic to determine the SOM's RAM size and bus width, we only
need to know the SOC revision, which is info that is always available.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Gabriel Valcazar d13b42492f Rework ccimx8x imx-boot/u-boot recipes to reduce number of imx-boot artifacts
Now that both U-Boot and the SCFW can autodetect the RAM configuration, we can
simplify the imx-boot build process to generate two binaries (one per SOC
revision) instead of eight. Build "flash_spl" imx-boot images and use only one
global defconfig for u-boot.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Gabriel Valcazar 609028fe66 digi-sc-firmware: update to v1.11.0.1
This update includes automatic RAM configuration detection, and only one SCFW
binary is needed for all ccimx8x variants. Adapt the imx-boot recipe
accordingly.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Gabriel Valcazar fe53d9fe5c u-boot-dey: re-order ccimx8x deployment steps to avoid errors
For the ccimx8x, we changed the order of the steps in do_deploy() from:

    Deploy -> Rename files -> Move binaries

To:

    Deploy -> Move binaries -> Rename files

When it's time to rename the files, they won't be in their original place and
the process will fail. Make sure we move the files after they've been renamed
to avoid errors.

Also, one move operation is enough for all artifacts, so remove the second
operation.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-29 16:24:29 +02:00
Isaac Hermida 130a5c796c ccimx93: add support for NPU dtb overlay
Load the NPU overlay based on the CPU model.

https://onedigi.atlassian.net/browse/DEL-8565
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-06-22 16:03:16 +02:00
Gonzalo Ruiz 82877e9840 firmware-murata: install the FCC.CE specific hcd patch
There are two different firmware files for Bluetooth on Murata's type2AE
module:

- JRL: It configures a Bluetooth TxPower of 7dB, to be used in Japan
only.
- FCC.CE: It configures a Bluetooth TxPower of 5dB, to be used in the
rest of the world.

To comply with the FCC requirement that it should not be possible to
configure different regulatory domains, or in this case configurations,
than FCC, only deploy the FCC.CE file by default:

- BCM4373A0_FCC.CE.hcd (md5sum: 1e287a3ab7f83e59352cb321315ea80f)

This file reports the following information during boot time:

 Bluetooth: hci0: 89373 UART 37.4 MHz wlbga_BU sLNA muRata Type 2EA 5dBm 20220608-0103
 Bluetooth: hci0: BCM4373A0 (001.001.025) build 0155

JRL file will be added via the Worldwide DEY patch addon that customers
can request from Digi.

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-06-21 12:51:07 +02:00
Gonzalo Ruiz ab0209f6f5 firmware-murata: add US-only CLM blob
Replace the CLM blob file from Github, which supports several countries
with a custom US-only CLM blob file. This way, default images will only
have support for US regulatory domain, therefore complying with FCC
requirements.

The Worldwide CLM blob file will be provided by Digi International on
request.

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-06-08 17:36:11 +02:00
Francisco Gil 8fa29e7698 libubootenv: readonly: add hardcoded configuration for readonly systems
We can't run a post installation script in a readonly file system.

We need to provide a configuration file beforehand.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-06-06 13:07:37 +02:00
Arturo Buzarra a44aa6e521 ccmp15: add MCA DT overlay support
This commit modifies the boot script condition to apply the overlay for MCA
based on HWID MCA field.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-30 11:00:30 +02:00
Javier Viguera 0ef9174760 Merge branch 'dey-4.0/maint' into dey-4.0/master
This merges back tag 'dey-4.0-r3.2' + some other fixes.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 11:27:34 +02:00
Arturo Buzarra e679d3821d meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:34:53 +02:00
Arturo Buzarra 04f8e54400 meta-digi: update revisions for dey-4.0-r3.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:30:24 +02:00
Hector Palacios ca242ba0be u-boot-dey: remove extra brackets on shell condition
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8510
2023-05-12 13:24:37 +02:00
Arturo Buzarra e45edb7f56 meta-digi: revert revisions to AUTOREV 2023-05-11 23:10:41 +02:00
Arturo Buzarra d780711b17 meta-digi: update revisions for dey-4.0-r3.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:58:31 +02:00
Arturo Buzarra dc2298625d switch to building from maintenance branches for dey-4.0-r3
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:57:54 +02:00
Hector Palacios e600597024 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 13:19:32 +02:00
Hector Palacios f2da72b2eb trustfence-stm-signtools: add rdepends on nativesdk-qtbase
The tools STM32MP_KeyGen_CLI and STM32MP_SigningTool_CLI have
a dependency of libQt5Core.so.5 which is provided by qtbase.
Add this dependency to avoid errors during SDK generation.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 11:29:02 +02:00
Hector Palacios fa1c877758 trustfence: image_types: do not sign artifacts for STM platforms
For the moment, do not sign aditional artifacts, such as the ramdisk,
the kernel or the boot scripts for STM platforms.

In the specific case of the ramdisk, simply copy it over with the
expected filename extension.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 762a4a8315 u-boot-dey: split do_deploy:append to postfuncs
The do_deploy:append did three things:
- adapt the U-Boot filenames to 'u-boot-<platform>-<config>.<ext>'
- sign/encrypt the U-Boot files (only for iMX6 family)
- sign the boot scripts

Convert the first two actions into functions (the third already was) and
call them conditionally as postfuncs.
Also skip the signing of U-Boot files if the platform is not based on
iMX6 family.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +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
Hector Palacios 39dd22c471 trustfence: add recipe to install STM sign tools
This recipe downloads a tarball that contains the binaries:
- STM32MP_KeyGen_CLI
- STM32MP_SigningTool_CLI

from ST Microelectronics STM32CubeProgrammer v2.12.0.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 56f323044c global: rename DEY_BUILD_PLATFORM to DEY_SOC_VENDOR
The name of the variable was not very intuitive of what
it contains. This variable expands to the SoC vendor
(NXP or STM).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Arturo Buzarra 30ce41ad5b meta-digi: fix binary names in Google Coral recipes
Commit 065cf3e9 ("kirkstone migration: general update to the new override
syntax") incorrectly renamed binaries in a massive change. This commit restores
the binary names to the original.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-10 09:11:19 +02:00
Gabriel Valcazar 163b229beb Move Coral-related recipes to dynamic Freescale layer
These are recipes we created to support Google Coral on i.MX platforms. ST's
machine learning layer provides similar recipes, so to avoid conflicts, move
the recipes meant for i.MX platforms to a dynamic layer.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-05-08 13:00:59 +02:00
Hector Palacios 0e61017da8 libubootenv: add fall-back function to read HWID from nvmem
The HWID is populated on the device tree by the boot loader.
This can be used as a key modifier when encrypting the U-Boot
environment. Some old U-Boot versions however, did not populate
the HWID on the device tree. When updating firmware from an
old version to a new one, the library may not be able to read
the HWID from the DT and then be unable to unencrypt the
environment.

This patch implements a fall-back function to read the HWID
directly from the nvmem node (sysfs). Implementation has been
done for ccimx6 family only, where this case of old U-Boot
can happen.

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

https://onedigi.atlassian.net/browse/DEL-8444
(cherry picked from commit 222a91f213)
2023-04-19 09:39:43 +02:00
Tatiana Leon 8718734b46 ccimx6: ccimx6ul: ccimx8m: ccimx8x: ccimx93: install: only install system A by default, add an option to install B
https://onedigi.atlassian.net/browse/DEL-8232

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-18 17:49:03 +02:00
Hector Palacios 222a91f213 libubootenv: add fall-back function to read HWID from nvmem
The HWID is populated on the device tree by the boot loader.
This can be used as a key modifier when encrypting the U-Boot
environment. Some old U-Boot versions however, did not populate
the HWID on the device tree. When updating firmware from an
old version to a new one, the library may not be able to read
the HWID from the DT and then be unable to unencrypt the
environment.

This patch implements a fall-back function to read the HWID
directly from the nvmem node (sysfs). Implementation has been
done for ccimx6 family only, where this case of old U-Boot
can happen.

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

https://onedigi.atlassian.net/browse/DEL-8444
2023-04-17 08:48:52 +02:00
Javier Viguera 4ef4794f20 Merge tag 'dey-4.0-r2.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r2.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-03-20 11:05:11 +01:00
Francisco Gil 27414d3420 meta-digi: revert revisions to AUTOREV
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:48:01 +01:00
Francisco Gil b59f31c114 meta-digi: update revisions for dey-4.0-r2.2
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:46:34 +01:00
Arturo Buzarra 358a7cc414 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:59:27 +01:00
Arturo Buzarra de3ba53ef3 meta-digi: update revisions for dey-4.0-r2.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:58:58 +01:00
Arturo Buzarra e7b0a7affc cmp15: apply DT overlay for the DVK v1 on boards without board_version defined
This commit modifies the boot script condition to apply the overlay for DVK v1
on boards without the board_version variable defined.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 10:57:05 +01:00
Arturo Buzarra 0773e31fd4 ccmp15: add DT overlay for the DVK v1
This commit adds an overlay for DVK v1 and modifies the boot script to apply it
based on the board_version variable.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-07 13:59:29 +01:00
Gonzalo Ruiz 732f8cb0cf u-boot-dey: install fip-b unconditionally in install scripts
Partitions 'fip-a' and 'fip-b' are redundant at the moment. They are
not currently part of the dualboot system. In consequence, program
both partitons unconditionally during the install process.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-03-07 12:02:28 +01:00
Arturo Buzarra 430955a584 firmware-murata: update firmware binaries to version imx-kirkstone-fafnir_r1.0
This commit updates the required firmware binaries for Bluetooth and Wireless
interfaces, based on the Murata release imx-kirkstone-fafnir_r1.0 that matches
with the Cypress Linux WiFi Driver (FMAC) release v5.15.58-2023_0222 (Wireless
firmware v13.10.246.300)

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-01 11:12:36 +01:00
Arturo Buzarra e598915b34 switch to building from maintenance branches for dey-4.0
https://onedigi.atlassian.net/browse/DEL-8388

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-01 11:12:36 +01:00
Arturo Buzarra aae03774ab Merge branch 'dey-4.0/master' into dey-4.0/maint 2023-02-27 16:34:53 +01:00
Javier Viguera adbb511484 meta-digi: remove True option to getVar
True is the default since long time ago, and thus not necessary. This
follows similar changes done in other layers.

Command used:

sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' | cut -d':' -f1 | sort -u)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-24 16:24:47 +01:00
Gonzalo Ruiz 93f90d63e7 firmware_qualcomm: ccimx6ul: fix MCS7 drop and adjust 5GHz TxPower
Set parameter 'greentxConfig__0_0=0x2' to use the optimal TxPower
in MCS7 data rates, improving performance.

Also, adjust maximum TxPower in the 5GHz band to account for
output power tolerances.

The new BDF is:

- bdwlan30_US.bin (53072f8af541a49e4ed9c22698b1912f)

https://onedigi.atlassian.net/browse/CC6UL-1302
https://onedigi.atlassian.net/browse/DEL-8364

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-02-24 12:51:04 +01:00