Commit 92969f0c4 ("plat-stm32mp1: Remove CFG_STM32_BSEC_WRITE dependency with
debug configuration OP-TEE") on OP-TEE source code, removed the link between
the BSEC WRITE feature with DEBUG feature, so now by default it is enabled.
This reverts commit 2395378ec4.
https://onedigi.atlassian.net/browse/DEL-8657
Create a new script for the generation of PKI tree for STM platforms
and leave the trustfence-sign-artifact script exclusively for signing.
The new gen-pki script only requires the platform as an argument and the
path to where to save the tree (if it doesn't exist) in
CONFIG_SIGN_KEYS_PATH.
This commit also reverts commit 13c136dbc5 by getting rid of the
trustfence-genpki-native.bb recipe and moving back the PKI generation
functions into trustfence.bbclass. This recipe didn't quite guarantee
that the PKI was generated on time for the recipes that required the
keys to exist, anyway.
Instead, the PKI generation function must be called right after
do_compile() of recipe tf-a-stm32mp to be ready for do_deploy() where
the key is used.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
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>
Do not install the combo FW and install the WiFi and BT FW as separated FWs,
so they are managed independently.
Md5sums are:
44cf5535f3b40784296843544eae159e sd_w61x_v1.bin.se
300c739a4e126a8f430001c41e5b3a5f uartspi_n61x_v1.bin.se
Note: currently these FW files are copied manually here, till the github FW
files are updated.
These firmware files come from the package IW612_18.99.2.p19.5.zip provided
by NXP support page.
https://onedigi.atlassian.net/browse/DEL-8632
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The btnxpuart driver is used for the bluetooth chip. We want to control
when to load and unload it, and when power/unpower the chip.
Therefore, blacklist it, so we can manage it in our scripts.
https://onedigi.atlassian.net/browse/DEL-8632
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This wks file creates the required GPT and partition layout
to have a bootable SD card with the following partitions:
- fsbl1
- fsbl2
- metadata1
- metadata2
- fip-a
- fip-b
- u-boot-env
- linux
- rootfs
- data
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8120
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>
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>
Equivalent commits in meta-freescale:
71d2a1ad49a3e04d0d401d4e9c52d5a50105b6dc
995f2f0a86da9428af348e72e51beb5063ebd729
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When the system runs as read-only with '/etc' overlayfs enabled, '/sbin/init' is not a symlink
to 'systemd', but '/sbin/init.orig' is. This causes the script to wrongly think than 'systemd'
is not being used. The outcome is that partitions are not being automatically mounted in R/O
systems running in mmc with '/etc' overlayfs enabled, as the specific '/usr/bin/systemd-mount'
binary needs to be invoked in these cases.
The proposed fix performs a second check with '/sbin/init.orig' to determine whether systemd is
being used or not. While on it, add an early check to determine if the partition is already
mounted to exit the script.
Signed-off-by: David Escalona <david.escalona@digi.com>
Make a series of changes to make sure the imx-boot signing process works:
* Store separate mkimage logs for each imx-boot build. In our case, this
means storing one log per SoC revision. Each SoC revision has a different
SECO fw binary with varying sizes, which causes offsets of specific
signing regions to differ among revisions. Since we parse the offsets
from the logs, we need to make sure the offset information is correct in
each case.
* Remove u-boot-atf-container.img in each mkimage iteration, otherwise the
ATF offset information will be missing from subsequent logs.
* Implement a separate trustfence_sign_imxboot() function for the ccimx8x
to iterate through all SoC revisions.
Note that the SPL+AHAB signing script doesn't support imx-boot encryption yet.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
When building imx-boot images with SPL on the ccimx8x, a different signing
procedure is required. We already have a script for this use case in our U-Boot
fork, so make use of it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
New NXP's release is based on upstream v2.8. Use this only for ccimx93,
and keep using the previous Kirkstone release (based on upstream v2.6)
for the rest of the platforms.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Weston is not launched in read-only filesystem because /home/root
is not a writable path.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
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>
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>
When the swu package is generated it needs the right
extension of the rootfs to be formed.
https://onedigi.atlassian.net/browse/DEL-8558
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
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>
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>
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>
Use our custom compile/install/deploy functions from DEY 3.2. NXP's imx-boot
recipe assumes only one U-Boot config and SOC revision, but we have multiple,
so we have to rewrite all of these functions.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
Currenlty, the github FW version is a bit old and some functionality does not
work on latest IW61x batches.
Use this FW binary till it is released on github. This is required to
have WiFi and Bt working simultaneously.
0c6d454ea83b1a78b4e60df16f478f43 sduart_nw61x_v1.bin.se
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
(cherry picked from commit 92ca458e4f)
Currenlty, the github FW version is a bit old and some functionality does not
work on latest IW61x batches.
Use this FW binary till it is released on github. This is required to
have WiFi and Bt working simultaneously.
0c6d454ea83b1a78b4e60df16f478f43 sduart_nw61x_v1.bin.se
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Backport from NXP's lf-6.1.1-1.0.0 release for the ccimx93 (meta-ml
layer).
This version of flatbuffers is needed for ethos-u-vela version 3.6.0
(backported in following commit).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
The only user of 'linux-dey-src.inc' was the linux recipe itself, so
instead rename that file to a more generic 'linux-dey.inc' and include
more common code in that renamed file.
This is in preparation for the new linux 6.1.1 recipe for the ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Remove patch file "0001-Makefile-Suppress-array-bounds-error.patch"
for ccimx93, as it is already included in the lf-6.1.1_1.0.0 revision.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Weston is not launched in read-only filesystem because /home/root
is not a writable path.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
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>
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>
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>
When the swu package is generated it needs the right
extension of the rootfs to be formed.
https://onedigi.atlassian.net/browse/DEL-8558
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
These variables are used to generate .sdcard images, and without them, said
generation will fail.
https://onedigi.atlassian.net/browse/DEL-8540
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
We still need to use this downgraded version of dtc to be able to build
U-Boot v2017.03, so backport this patch to be able to build dtc with the latest
version of gcc
https://onedigi.atlassian.net/browse/DEL-8540
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
By default, the signing script generates a file without 'w'
permission so DEY cannot remove it from the deploy dir on
a clean operation.
Add the 'w' permission so that DEY can remove it on clean
operations and generate a new signed file when required.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Otherwise, the sw-description used for non-dualboot systems will be missing
these values and the software update process will fail.
https://onedigi.atlassian.net/browse/DEL-8513
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
We accidentally used "mx8mm" instead of "mx8mn" in commit
9b165196bb, which caused several elements to stop
working on the target (including the optee-os).
https://onedigi.atlassian.net/browse/DEL-8512
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
This commit disables the uSD mounting, due to issues
detected during the boot process when UBIFS starts
with the wear-leveling process to erase NAND blocks.
https://onedigi.atlassian.net/browse/DEL-8415
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
The FIP image is signed internally by this recipe. The password must be
set in FIP_SIGN_KEY_PASS. With the signing script, the password is
randomly generated and saved in key_pass.txt.
This prefunc obtains the password(s) from the file to set FIP_SIGN_KEY_PASS
so that the FIP can be properly signed.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
Several recipes depend on the PKI creation.
Create a small recipe to just run this function which
is moved from the trustfence.bbclass.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This script can be called stand-alone or from DEY.
Syntax is :
trustfence-sign-artifact.sh -p <platform> [-t input-unsigned-image> <output-signed-image>]
If files are omitted, it at least generates random keys if they do not
exist.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
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>
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>
This is in preparation of using the same script name for different SOC
vendors (NXP and STM).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Set TRUSTFENCE_DEK_PATH to "0" for CCMP1 (not using dek.bin), as if this
was disabled.
Set temporarily TRUSTFENCE_ENCRYPT_ENVIRONMENT to "0" for CCMP1 until
environment encryption is fully supported.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Dependencies of this recipe are run-time dependencies, not build-time.
While on it, move them to specific native/nativesdk recipe.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This recipe builds the script (that depends on cst-tool) that is used to
sign the images. It's only run natively.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
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>
By default, our 'cloudconnector' package is installed.
This can be overriden by defining 'CLOUDCONNECTOR_PKG' in the 'local.conf'
with the custom package that includes this application.
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
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>
This dependency is only required if you wish to build ST's reference images,
which isn't our case. Add said reference images' recipes to the BBMASK to
avoid build errors.
https://onedigi.atlassian.net/browse/DEL-8308
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
rename interface sta_name to be "wlan0" instead of "mlan0", so it keeps
compatibility with other platforms.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
OPTEE_PKGS variable must have a default (empty) value to prevent bitbake
parsing errors.
This fixes a build failure for MP1 platforms where the variable was
undefined in the commit that added the support.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
A recipe may generate different runtime packages, with names other than
PN. This commit allows removing the ontarget postinst script for those
other runtime package names. To do so, just define REMOVE_POSTINST_RPN
before including this class in the recipe.
The first user is in the following commit.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
NXP platforms that have 'optee' in the MACHINE_FEATURES, will install
optee userspace packages (ccimx8m and ccimx93 at the moment).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add nxp-wlan-sdk repice as a verbatim copy and add our bbappend
for fixing the build.
This recipe include some tools, mainly for RF porpouses.
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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>
1)
CcxTagControlData struct in CORE/HDD/inc/CcxTagDefs.h had some fields missing compared
with 'cctags api’ which was producing CCX_TAG_DRVR_RSP_ERR_CTRL_SIZE.
2)
Then CCX_TAG_DRVR_RSP_ERR_PACKET_SIZE aroused because following paddings:
CCX_TAG_MPDU_HEADER_PAD_SIZE = 2
CCX_TAG_CONTENT_HEADER_PAD_SIZE = 3
where producing wrong alignements and sizes between the 'cctags api’ and the driver.
With changes in this commit, master branch of ‘CCxTagTest’ repository compiled
out of source code gets on well with 'cctags api’ repository and with qca driver in
both dey-2.4 and dey4.0.
Packets in the air match 100% in content in both dey-2.4 and dey4.0.
https://onedigi.atlassian.net/browse/DEL-8446
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
An official fix was added to meta-timesys in commit
ae4f6e9854361d4a6d71b6f8b87130268d990b32, so our workaround is no longer needed
This reverts commit 7a77130550.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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)
The commit we use to build the cryotpauthlib package is currently not part of
any branches or tags in the original MicrochipTech repo. To make sure the
package can always be built, use our mirror of the repo, which includes an
additional branch for the specific commit.
While at it, move the "nobranch=1" parameter to the GIT_URI variable, since
we're putting all other git parameters there, anyway. Also, remove the "branch"
parameter because it isn't needed in this case.
https://onedigi.atlassian.net/browse/DEL-8015
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The commit we use to build the cryotpauthlib package is currently not part of
any branches or tags in the original MicrochipTech repo. To make sure the
package can always be built, use our mirror of the repo, which includes an
additional branch for the specific commit.
While at it, move the "nobranch=1" parameter to the GIT_URI variable, since
we're putting all other git parameters there, anyway. Also, remove the "branch"
parameter because it isn't needed in this case.
https://onedigi.atlassian.net/browse/DEL-8015
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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
Commit 32dd3d59c250f916115b339c29aa4dbfe50a3235 in poky breaks i.MX platform
builds when "vigiles" is inherited. While we wait for a fix in the community,
work around this issue by setting a dummy default value in the MULTIUBI_BUILD
variable.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
1)
CcxTagControlData struct in CORE/HDD/inc/CcxTagDefs.h had some fields missing compared
with 'cctags api’ which was producing CCX_TAG_DRVR_RSP_ERR_CTRL_SIZE.
2)
Then CCX_TAG_DRVR_RSP_ERR_PACKET_SIZE aroused because following paddings:
CCX_TAG_MPDU_HEADER_PAD_SIZE = 2
CCX_TAG_CONTENT_HEADER_PAD_SIZE = 3
where producing wrong alignements and sizes between the 'cctags api’ and the driver.
With changes in this commit, master branch of ‘CCxTagTest’ repository compiled
out of source code gets on well with 'cctags api’ repository and with qca driver in
both dey-2.4 and dey4.0.
Packets in the air match 100% in content in both dey-2.4 and dey4.0.
https://onedigi.atlassian.net/browse/DEL-8446
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
For devices running 'systemd', the mount process is done through 'systemd-mount', which
spawns a system unit. Trying to mount the partition again throws an error stating that a
unit with the same name is already running. To avoid it, check if the unit is already
spawned before mounting the partition and, if so, just restart the unit.
Signed-off-by: David Escalona <david.escalona@digi.com>
add a verbatim copy of those recipes as they are provided by nxp in langdale-6.1.1-1.0.0
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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>
In rare cases, the wlan module may fail to load. In this scenario, forcing the
MMC driver to rebind the interface resolves the issue, making the WLAN module
load more reliably.
This only affects to modules where the qca chip is connected through the
MMC interface.
https://onedigi.atlassian.net/browse/DEL-8361
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
There are other device managers (e.g. mdev) that do not understand those
udev rules, so do not install them unconditionally.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The stand-alone signing script 'trustfence-sign-artifact.sh' checks
if a valid PKI tree exists (by checking the existance of four SRK
files) and if they don't, it calls trustfence-gen-pki.sh (which is
a wrapper over different generators (for HAB or AHAB) to create one.
Recipes such as 'dualboot' or 'recovery-initramfs' may need to call
openssl functions over the PKI tree. These recipes do not currently
generate the PKI tree; they expect it to be already in place.
This might not be the case if the trustfence-sign-artifact.sh script
has not been called yet.
Originally, a fake dependency on virtual/kernel recipe was made to
force it, but it doesn't quite work since the calling only happens
on deploy() while regular DEPENDS doesn't wait for this task.
If the PKI does not exist, a recipe that requires the PKI tree will
fail.
The solution is to create a function on the trustfence.bbclass that
allows any recipe to check for the existance of a PKI tree and
generate it if it doesn't exist. This is repeated inside the
trustfence-sign-artifact.sh, but it needs to be in both places
because this script must work stand-alone.
The generation of the PKI tree takes some seconds so this commit
adds a lock dir to prevent race conditions when called from
different recipes.
It also removes the fake dependency on virtual/kernel and adds a
dependency on trustfence-cst-native (which is the recipe that
provides the PKI generation tool).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8430
(cherry picked from commit 6a8bf7afff)
The stand-alone signing script 'trustfence-sign-artifact.sh' checks
if a valid PKI tree exists (by checking the existance of four SRK
files) and if they don't, it calls trustfence-gen-pki.sh (which is
a wrapper over different generators (for HAB or AHAB) to create one.
Recipes such as 'dualboot' or 'recovery-initramfs' may need to call
openssl functions over the PKI tree. These recipes do not currently
generate the PKI tree; they expect it to be already in place.
This might not be the case if the trustfence-sign-artifact.sh script
has not been called yet.
Originally, a fake dependency on virtual/kernel recipe was made to
force it, but it doesn't quite work since the calling only happens
on deploy() while regular DEPENDS doesn't wait for this task.
If the PKI does not exist, a recipe that requires the PKI tree will
fail.
The solution is to create a function on the trustfence.bbclass that
allows any recipe to check for the existance of a PKI tree and
generate it if it doesn't exist. This is repeated inside the
trustfence-sign-artifact.sh, but it needs to be in both places
because this script must work stand-alone.
The generation of the PKI tree takes some seconds so this commit
adds a lock dir to prevent race conditions when called from
different recipes.
It also removes the fake dependency on virtual/kernel and adds a
dependency on trustfence-cst-native (which is the recipe that
provides the PKI generation tool).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8430
By launching in system mode it is possible to play music from a shell using
pulseaudio. With change all platforms and images (with or without graphical
support) have pulseaudio working.
https://onedigi.atlassian.net/browse/DEL-8417
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
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>
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>
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>
Our /tmp file is a symbolic link to /var/tmp, therefore a "find /tmp" returns
nothing. Force to search files inside tmp folder by using "find /tmp/".
https://onedigi.atlassian.net/browse/DEL-8410
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Move generic IMX machine firmware to imx-digi-base.inc file. This eases
maintenance, as this file follows imx-base.inc in meta-freescale.
Still, configure platform's Digi specific firmware in each machine's
config file.
As a positive side effect, this removes the "firmware-imx-easrc-imx8mn"
firmware file from the 8M Mini, as it's only used in the 8M Nano. This
saves about 263KB.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
For now, we're only interested in generating the SBOM, which we can upload and
have Vigiles scan later on if needed. The report generation process adds some
overhead and can cause unwanted errors if the Vigiles server takes too long.
Enable report generation for our automated builds.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit creates a new launcher group in the '/etc/xdg/weston/weston.ini' to
have access to the QT cinematicexperience.
This is done for QT5 (ccmp15, ccimx8mm, ccim8mn) and QT6 (ccimx93).
https://onedigi.atlassian.net/browse/DEL-8379
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
ConnectCore 93 DVK only connects the XBee reset line (XBEE_RESET_N_GPIO) but not
the sleep request (XBEE_SLEEP_RQ_GPIO)
It also reworks the 'xbee-init' script to support empty reset
(XBEE_RESET_N_GPIO) or sleep request (XBEE_SLEEP_RQ_GPIO) values.
https://onedigi.atlassian.net/browse/DEL-8375
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
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>
Symbols are needed for DTB overlays. In the CC6UL we are not using
overlays, so disable symbols generation.
https://onedigi.atlassian.net/browse/DEL-8397
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The SW encryption is much faster than decicated HW in our platforms.
The HW encryption is limited to the use of CAAM which is used through
blob calls, therefore the cryptodev module is not required.
https://onedigi.atlassian.net/browse/DEL-8371
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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-1302https://onedigi.atlassian.net/browse/DEL-8364
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
accel-video was being used only for including or not gstreamer in the
different DEY images. But then we had exceptions to include gstreamer for
machines that do not define accel-video, so just follow what the ccmp15
does, and use a generic 'gstreamer' distro feature to add 'dey-gstreamer'
support to the images.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
MACHINE_GSTREAMER_1_0_PLUGIN should contain the machine-specific gstreamer
plugin to use, but not the rest of the packages to be included in the
rootfs. So clean that variable up, and add the dependent packages in the
dey-gstreamer package group.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a machine specific setting, and moving it to the machine config
allows to get rid of the recipe bbappends.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Number of bootup logos is now configured using fbcon=logo-count parameter,
so use it instead of our deprecated custom code in the kernel.
For backwards compatibility, we add this parameter in the u-boot boot
script for all platforms but the ccimx93, where this is directly handled
by u-boot (v2022.04).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This reverts commit 2bdfdc92e1.
This suffix was removed on error. The artifact does have the suffix.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
This commit adds additional library links that are require to
make weston working with the new kernel version of the STM
BSP 22_11_23.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit changes the wayland user from weston to root. That
makes video and audio playback possible for the root user.
https://onedigi.atlassian.net/browse/DEL-8211
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
meta-freescale did another merge of recipe updates that we need to follow
to prevent build failures.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For the momment, Fusion support is not ready in the 5.15 kernel, so do
not add the dtb overlay.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
meta-freescale started updating the recipes to NXP's
rel_imx_5.15.71_2.2.0 release, so now we have a bunch of overlayed
recipes we can clean up.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For platforms that do not define FIP_UBOOT_DTB, the
'd.getVar('FIP_UBOOT_DTB') gets evaluated to None, which is not equal to
"", and thus the code continues in the wrong "if" branch.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a verbatim copy of the recipe in meta-imx. It is required to
build Wayland based graphical images for ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The sdcard image generation code expects a boot artifact named after
machine's name. On the other hand, u-boot recipe creates symlinks with
the build config's name. So couple machine with build config label to
prevent a failure when building the SD card image.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Crank storyboard engine has runtime dependencies on libELG.so and
libGLESv2.so, which usually are just symlinks that go to the "-dev"
package. As they are needed at runtime, move the files to the normal
(not -dev) package.
Also add explicit RPROVIDES for those libraries, as otherwise the build
fails with:
QA Issue:
/usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so
contained in package crank-sbengine requires libEGL.so, but no providers
found in RDEPENDS:crank-sbengine? [file-rdeps]
QA Issue:
/usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so
contained in package crank-sbengine requires libGLESv2.so, but no providers
found in RDEPENDS:crank-sbengine? [file-rdeps]
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Although in theory, you can use any label to name the different u-boot
build configurations, we have them coupled to machine names in the
boot-artifacts bbclass, and also in the default boot artifact filename
in the firmware installation scripts.
So fix that up for the ccimx93 in the machine config, and create the
proper symlinks in the do_deploy imx-boot recipe.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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
Both recipes (imx-boot and imx-mkimage) use the same source code
repository, so update both of them to the new NXP release, by copying
with minimal changes the recipes in meta-imx.
Also convert the original 'imx-mkimage' recipe, which was only for
native class, to a full target, native, nativesdk recipe. We need this
to be able to include the nativesdk one in our toolchain.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For this platform the bootable artifact is imx-boot based, so configure
some variables accordingly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
Instead of overriding the whole do_compile function, just to reconfigure
u-boot for Trustfence, create a do_configure pre-function that takes care
of that. This allows the removal of duplicated code.
Also, disable the generation of u-boot environment artifacts. We are
not using them and so many u-boot artifacts in the deploy directory
are confusing.
Finally, adjust the names of the TF u-boot artifacts in the do_deploy
append function.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also enable recipe for ccimx93, and pass the correct DTC flags to create
overlays capable DTBs.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also:
* Support ccimx93
* Add all the patches regardless of the platform (remove overrides). The
patches do not clash, so adding all of them eases the maintanance and
the migration to new versions of the imx-atf.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These are just a verbatim copy of the ccimx8mm ones, so the project is
buildable. This file list should be revisited and adapted for the
ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use += operator to prevent resetting the value of the EXTRA_IMAGEDEPENDS
variable. That is how it's mostly used elsewhere.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is later overridden in the machine config files, but a default
(not empty) value is needed, to prevent a syntactic error in
init-ifupdown recipe (where it is used).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The poky recipes were updated on the minor version to 1.20.4
but the bbappends were 1.20.3 specific so they did not apply.
Use a wildcard to have them apply even if the minor version
changes upstream.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit 0c73b31cf5)
The poky recipes were updated on the minor version to 1.20.4
but the bbappends were 1.20.3 specific so they did not apply.
Use a wildcard to have them apply even if the minor version
changes upstream.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This allows the user 'weston', which is running the video
backend, to access files on external media, such as USB
disks and microSD card.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8208
In the past, this file was cloned from poky to skip mounting
an already mounted device. This condition was done on poky's
version so the cloned file is no longer needed.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
A new set of meta-freescale updates broke our layer, because they
updated opencv package and our bbappend does not apply anymore.
The build fails at parsing:
ERROR: No recipes in default available for:
meta-digi/meta-digi-dey/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.5.2.imx.bbappend
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This allows users of the layer to override the value with a different
default. Same change was done in meta-freescale's imx-base file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Artifact encryption is now supported for ccimx8mn and ccimx8mm.
This reverts commit 1134e4c07c.
https://onedigi.atlassian.net/browse/DEL-7915
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
(cherry picked from commit 588005bb4b2200e79b180f77671304d9c5bdf509)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When read-only feature is enabled, the rootfs should be .squashfs
and not .ubifs.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit c32278af74cea8cb38aa81590eaa867be1c739c9)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add configuration 'BUILD_UBOOT_SCRIPTS' to select whether to build the
boot and install scripts or not, and set it to 'true' by default.
This allows removing the scripts on upper Yocto layers.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
All the dualboot logic will be checked in run time.
To do this:
* Include the altboot.src by default in all the images
* Create a post installation script to change the
firmware_download_path in the cloud connector
* Unify the swupdate file descriptor for dual and single boot
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
This commit removes duplicated and unused build artifacts for the ccmp1
platforms. Also fixes a build warning related with flashlayout config file.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit fixes the issue in Jira
https://onedigi.atlassian.net/browse/DEL-7827 (and in GitHub
91bfa01a52#),
that is being manifest again in a CC6UL with 1GB although it may affect other
hardware.
Partitions are mounted:
* For multi-MTD systems, when an MTD subsystem event is received.
* For single-MTD systems, when a UBI subsystem event is received.
This commit avoids process UBI subsystem events in multi-MTD systems.
The automount rules filter UBI subsystem events to only process 'ubi0*' (the
only UBI device/volumes in a single-MTD) and then the executed script
'mount_digiparts.sh' checks for the existance of '/dev/ubi1' node to consider
the system multi-MTD instead of using 'singlemtdsys' U-Boot variable that only
exists on CC6UL.
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
* Use 'MOUNT' variable instead of 'mount' command
* On the MTD subsystem event, stop looping once the UBI device number is found
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
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>
Increase the timeout from 90 to 120s since it's a large image
and it may take more time on different NANDs.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The U-Boot environment resides on a UBI volume. The uuu script
relies on the environment to save part of the commands that
U-Boot needs to execute after reboot in the middle of the
installation. If the UBI volume 'uboot_config' does not exist
the installer fails.
This commit:
- Creates a function -on the uuu script only- for obtaining
the result of running any U-Boot command (0=success, 1=error).
- Checks the existance of 'uboot_config' volume.
- Runs 'ubivolscript' script to create the UBI volumes layout
that generates the environment volume if it doesn't exist.
- Increases the timeout for running the 'ubivolscript' since
there are occasions in which 'ubi part' (which is part of the
script) takes more time (if it cannot find the fastmap).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Commit b8d46f01 ("read_only: create folders in build time") creates
unconditionally default folders in spite of we are in a read-only filesystem or
not, however there are different models (dual boot, single boot..) where these
partitions exist or not, so this commit only creates these default partitions
for a read-only filesystem.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit allows to mount only the linux partition active in read-only mode.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
According to udev documentation running programs that access to mount/umount
filesystems is not allowed due to the default sandbox that is enforced on
systemd-udevd.service, so on systemd systems we must to use systemd-mount
binary instead of mount. Also systemd-mount does not support mount ubi devices
by volume name, so we need to use the absolute device path.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds the extra machine specific configuration files for udev on
ccmp1 platforms to allow, for example, automount storage devices.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
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>
By default ccmp1 platforms have dualboot mode by default, however the required
boot script was added to ccmp15 platform only, so this commit fixes it.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The first time the 'dualboot' variable is tested it is directly run in
the script and doesn't need to escape the special characters.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
When Dual Boot is not enabled, 'rootfsvol' variable must point to the
single boot system rootfs partition 'rootfs'.
Explicitly set this value. Otherwise the script relays on the default
rootfsvol value, which may be a Dual Boot partition.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
meta-freescale updated the base recipe and that broke the build:
ERROR: No recipes in default available for:
meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.16.bbappend
The differences in our bbappend are simple enough that we can make a
version agnostic bbappend.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
For platforms with a FIP artifact, ignore U-Boot artifacts and instead
add to the installer zip file the FIP artifact and the ATF artifacts.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
- create dualboot.bbclass that
- sets DUALBOOT_ENABLED variable
- defines partition names and function for changing the sw-description
for swupdate
- move files from layer into meta-digi
https://onedigi.atlassian.net/browse/DEL-7962
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
On the CCMP1 SOMs, we only consider a single system partition called UBI,
with many UBI volumes.
The variable 'singlemtdsys' allowed to change between this and
a system with multiple MTD partitions with one UBI volume each
(old approach on CC6UL).
This commit removes the variable and uses the logic as if it was set.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Use the latest 2AE NVRAM file from the master branch. This file improves
the EVM performance for the 2AE murata module.
MD5SUM:
- cyfmac4373-sdio.2AE.txt: 6301804650847946c79797387eda9c7a
https://onedigi.atlassian.net/browse/DEL-7936
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Add extra configuration 'CFG_STM32_BSEC_WRITE=y' to the make line to
enable OTP write support.
https://onedigi.atlassian.net/browse/DEL-8074
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
These are available in 'meta-freescale'.
The only difference is that meta-freescale's recipes deletes de SDMA
firmware so the generic one provided by linux-firmware package is used.
We create a minimal bbappend to use the NXP provided SDMA firmware.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also clean some dead code: libjpeg-turbo is the only jpeg implementation
in poky since long ago. Also "remove-libtool" is enabled by default in
bitbake so there is no need to do it in our distro configuration.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit adds Bluetooth Vulnerability CVE-2019-9506
resolution to the firmware file.
CVE-2019-9506 is a Bluetooth key negotiation vulnerability.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-7134
Co-authored-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The qualcomm.sh script has been losing functionality over time, to the
point that now is just loading the kernel module using 'modprobe'.
Instead, run modprobe directly from the udev rule and get rid of the
qualcomm script.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Reset the FW files to release r00006.3.470144.2a
Verbatim copy of the recipes in DEY-3.2, using command:
git restore -s dey-3.2/master -- meta-digi-arm/recipes-bsp/firmware-qualcomm
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Verbatim copy of the recipes in DEY-3.2, using command:
git restore -s dey-3.2/master -- meta-digi-arm/recipes-kernel/kernel-module-qualcomm
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
For development this would not be needed as it points to AUTOREV, but
for releases we need to specify the SHA1 revision, and this recipe
builds two different branches (for NXP and STM platforms), so we need a
place to define two different revisions.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The recipes have been updated in meta-freescale, and version 1.18.5.imx
is no longer available.
Follow same change in meta-freescale's "conf/machine/include/imx-base.inc".
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The crank storyboard engine is provided in binary format. The RPM
package manager that creates the rootfs needs and explicit runtime
provider for 'libEGL.so', which in the ccmp15 is provided by the
'libegl-gcnano' runtime package.
Fix build failure:
--> Finished dependency resolution
Error:
Problem: package packagegroup-dey-crank-1.0-r0.0.ccmp15_dvk requires crank-sbengine, but none of the providers can be installed
- conflicting requests
- nothing provides libEGL.so needed by crank-sbengine-7.1-r0.3.ccmp15_dvk
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The modalias changed as part of the kernel update to version 5.15.
See commit dd545833b773b20aa7cec10f89bff96014ccb64f in kernel tree.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This fixes a failure in the firmware installation script when trying to
program crank images:
./install_linux_fw_uuu.sh -i dey-image-crank
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.boot.ubifs'
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.recovery.ubifs'
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.ubifs'
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For the CC6UL 1GB flash variant, the programming of the rootfs exceeds
the current 90 secs timeout, giving following failure:
[Bulk(R):LIBUSB_ERROR_TIMEOUT] fb[-t 90000]: ucmd update rootfs ram ${fastboot_buffer} ${fastboot_bytes} -e
Error: Bulk(R):LIBUSB_ERROR_TIMEOUT
Increase the timeout to prevent the failure.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We don't want the FIPS version of wolfssl to be used by default, so
the recipe is configured as:
DEFAULT_PREFERENCE = "-1"
Unfortunately, DEFAULT_PREFERENCE has lower precedence than the layer
priority, so we need to put the recipe in a layer with priority less
or equal to the other layers having wolfssl recipes (meta-openembedded,
meta-wolfssl). This means in our case using 'meta-digi-arm' instead of
'meta-digi-dey', in which conceptually would fit better.
https://onedigi.atlassian.net/browse/DEL-8036
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Base recipe in Poky has been updated to that version, so we need to
update the bbappend to prevent a bitbake parsing failure.
NOTE: to review the patches once they are updated in
'meta-st-openstlinux'.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
meta-freescale updated to version '10.0.0.imx', so our bbappend fails
with:
ERROR: No recipes in default available for:
... meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_9.0.0.imx.bbappend
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The qualcomm.sh script has been losing functionality over time, to the
point that now is just loading the kernel module using 'modprobe'.
Instead, run modprobe directly from the udev rule and get rid of the
qualcomm script.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
As that's an old VM with limited specs, there is no much gain on using
it over the canonical Stash repositories that justifies the code
overhead and the possible errors due to synchronization problems.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The SRCREV may change depending on the version of the kernel, so it
cannot be a common variable for all kernel versions.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use the canonical Stash repository to avoid synchronization problems
between the repo and the mirror.
Moreover the LOG mirror is hosted in an old VM machine with limited
specs, and although the transfer of the objects is faster, the counting
of the objects to transfer (which is done in the server) takes ages to
complete, so at the end, there is no time gain using the mirror.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Not needed anymore in our layer, as this has been fixed in meta-st-stm32mp.
This reverts commit 786e5c9e56.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Commit 8cba3aaefb in 'meta-freescale' changed the kernel_localversion
function we are using in our kernel recipe. This leads to a not-properly
configured kernel build, where CONFIG_MODULES is disabled. That
config option is needed to build external kernel modules in other
recipes, so those recipes (kernel-module-qualcomm, cryptodev-module,
etc) fail to build.
The commit makes sure the kernel is properly configured for building by
extending the do_configure function in a "prepend".
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By default STM layer creates extra partitions, the vendorfs partition is
reserved to save custom STM libraries and binaries, however the ccmp15 platform
does not have this additional partition, and stores all the libraries in the
rootfs.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
gstreamer recipes was updated to v1.20.3 in poky layer, so this commit updates
the recipe version for custom bbappends.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
weston recipe was updated to v10.0.1 in poky layer, so this commit updates the
recipe version and refresh a custom STM patch.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the required firmware binaries for bluetooth and wireless
interfaces, based on the release imx-hardknott-drogon_r1.0 (Wireless firmware
v13.10.246.265)
https://onedigi.atlassian.net/browse/DEL-8021
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Building a toolchain/SDK fails for ccmp15-dvk, because the NXP-based
trustfence tools (for example the cst) are not available. Fix the build
by filtering out those tools when the build platform is not NXP based.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
It's just a waste of space as we already have the kernel image in the
'linux' partition and that gets mounted under /mnt/linux.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The recipe fails to build for the target, but that is expected, as this
is a tool you need to run in the host or from the toolchain/SDK, so
rework the recipes to restrict only for native and nativesdk.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Yocto 4.0 only supports OpenSSL 3.0.x while NXP's CST (code signing
tool) is still using OpenSSL 1.1.x. So the build fails when using the
Yocto-build OpenSSL. Instead, build OpenSSL 1.1.1 as part of the build of
the CST and link statically against libcrypto, so the resulting binaries
(cst, srktool) do not depend on any specific OpenSSL version installed
on the development computer.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
In order to perform the standalone signature process, it was required
to rebuild the Toolchain with Trustfence support enabled.
CST source code is now available for downloading in the Digi FTP, so add
Trustfence sign scripts and cst/srktool to the default toolchain for it
to be used for standalone signature without rebuilding.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
(cherry picked from commit 2c9b721fb9ce38dcd0034e22d95db6e0ee068955)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The enable p2p patch add support for enabling p2p as module parameter setting
it by default to false.
The cfg80211 netdevice fixes the registration of virtual interfaces for kernels
v5.12+.
https://onedigi.atlassian.net/browse/DEL-7986
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Also, fix the sequence number of the GPIO_SET_DEBOUNCE_IOCTL ioctl. Same
fix has been done in Linux.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 16eded4f0edcc603de83be7155f7c09718ba5ddd)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Remove deprecated versions of recipes updated in other general layers
(poky, meta-openembedded). Also remove duplicated IMX specific recipes that
are available in other BSP layers (meta-freescale, meta-fsl-demos, etc).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
An outdated 'mesa' bbappend on meta-st-stm32mp is making mesa package
fail to build, due to incorrect configure options.
mesa-22.0.0/meson.build:614:2: ERROR: Problem encountered: kmsro requires dri3 for X11 support
Override the build configuration in our layer until the bbappend gets
fixed in ST layer.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Yocto is becoming more strict on not using tags in the SRCREV, as that
may lead to problems in the different tasks of a bitbake recipe.
As of Yocto 4.0, bitbake errors when such condition happens, with:
"Recipe uses a floating tag/branch without a fixed SRCREV"
So convert the SRCREV of all tags to the proper SHA1 revision.
Also, extend the 'fix-build-issues' to delete '-Werror' from the
compilation flags. Newer versions of GCC (as the one used in Yocto 4.0)
throw more (new) warnings, and the '-Werror' flag was making the build
to fail.
cc1: all warnings being treated as errors
lim_api.c:1057:17: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
lim_admit_control.c:169:17: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* fix arch tune files path in machine config
* update imx-digi-base config file (using as a base the imx-base.inc
config file in 'meta-freescale')
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By default, the STM layer includes several tools in the SDK, one of which is
the gcc-arm-none-eabi toolchain. However, in the build process it throws the
following unexpected error about an unsatisfied runtime dependency:
Error:
Problem: conflicting requests
- nothing provides libpython2.7.so.1.0()(64bit) needed by
nativesdk-gcc-arm-none-eabi-9-r0.1.x86_64_nativesdk
Since this package works with python3, python2 was deprecated and this tool is
only needed to build Cortex-M4 applications, this commit removes this package
from the default SDK.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds a patch for the qcacld-3.0 wireless driver to read the
wireless MAC addresses from device tree. This patch is based on the original
commit from qcacld-2.0 driver improving and simplifying the code to work with
the new qcacld-3.0 driver.
https://onedigi.atlassian.net/browse/DEL-7916
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the wireless firmware in order to work with the new Linux
qcacld-3.0 wireless driver.
Latest release "r10016.1 - Post-CS3 1.0.016.1" updates the following files from
"qca6574au-le-2-2-1_qca_oem" product branch:
PCIe:
- athwlan.bin (b4fd36922625b7303d006581f6c7cd10)
- utf.bin (0d70048214fea05d1c40b3034e8107cd)
SDIO:
- qwlan30.bin (342cb50ce5c6ff930a65f341c0dfbc77)
- utf30.bin (f94810be89cc2f3e979ab4a57243872b)
https://onedigi.atlassian.net/browse/DEL-7916
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the Linux wireless driver for Qualcomm's chipset to the
new qcacld-3.0 driver.
This update is based on the release "r10016.1 - Post-CS3 1.0.016.1" from
"qca6574au-le-2-2-1_qca_oem" product branch, which uses for a Linux kernel v5.4
the tag "CHSS.LNX_FSL.5.0-01200-QCA6574AUARMSDIOHZ".
https://onedigi.atlassian.net/browse/DEL-7916
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Commit 8c396281 ("layer: add dynamic-layers for NXP platform") introduced a
typo in the dynamic layer name.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit reverts partially the commit 548b8729 ("image_types: add support to
create CCMP15 ubifs images") to fix the boot partition generation.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This platform initializes the Bluetooth interface through the own bluetooth
driver, so the custom Digi init scripts are not needed.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit changes the "Image" for the "zImage" as the default kernel image
type for the STM platform.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit avoids creating a subfolder for the kernel artifacts, to homogenize
it with the NXP platforms and avoid using custom recipes for the result
artifacts.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This recipe will download and install the required firmware binaries for
bluetooth and wireless interfaces. This recipe is based on the release
imx-hardknott-cynder_r1.0 (Wireless firmware v13.10.246.261)
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes some STM recipes that are not
needed in our layer because they apply changes that
are not required in our DEY layer.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit adds u-boot build support for the CCMP15 platform.
The installation scripts are copies from the CC6UL platform.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-7797
This code path was added in the context of single MTD layout support for
ccimx6ul boards, but it was being executed in the default storage layout use
case as well. This could trigger a race condition in which one code path
deletes the mount point while the other one is still setting it up, causing
partitions to not be mounted automatically (specifically, the "update"
partition).
Since both code paths are mutually exclusive in our implementation, reflect
this by making sure that the single MTD layout path is executed only when said
layout is enabled in the U-Boot environment.
https://onedigi.atlassian.net/browse/DEL-7827
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit 9a7ea10a4dfb74651f865f125372604fe6840a10)
The sign mode needed for each platform is invariable, and since the platform
is already a mandatory parameter for the script, we can store this information
implicitly. Reflect this change in every recipe where the script is used, but
keep the variable at the Yocto level since it's still needed in several places.
https://onedigi.atlassian.net/browse/DEL-7862
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The license checksum and the source branch should be on the properly
versioned bitbake recipes. Otherwise, when we include this common file
in a different version linux recipe (for example, the upcoming 5.10) it
will inherit incorrect values.
While on it, fix the incorrect license checksum values for the linux 5.4
recipes.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit updates the US Board Data File (BDF) to include the changes
required to pass the EN 300 328 V2.2.2 blocking test.
The new BDF files are:
- ccimx6/bdwlan30_US.bin (eb3d3cdafd30b30e837974177a281648)
- ccimx8m/bdwlan30_US.bin (72531e6e0870673e4ba2b02bd551925b)
- ccimx8x/bdwlan30_US.bin (1cf667271da33f6eb207360eeb3d4d63)
https://onedigi.atlassian.net/browse/DEL-7773
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This makes it so bitbake obtains the SDMA firmware from the firmware-imx recipe
instead.
This also avoids including all of the linux-firmware packages in i.MX6 SDK
builds, preventing errors when building the ccimx6sbc SDK (linux-firmware
provides the community versions of the ath6k and ar3k firmwares, which clash
with our versions).
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This makes it possible to distinguish between two different packages:
* NXP's tensorflow-lite, which contains modifications for i.MX platforms
* Our tensorflow-lite, which is meant to be used with Google Coral
Since tensorflow-lite-coral provides a subset of the files provided by
tensorflow-lite (specifically, the python libraries), make the packages
conflict during runtime.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This package is used by the eIQ recipes, so make sure we have NXP's .bbappend
so it works as expected
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This is a small oversight on NXP's part, because this package is pulled in as a
dependency of imx-vpuwrap, but it's only compatible with their EVK board,
making the build fail on any other i.MX8MP board.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
It seems like the version of mkfs.vfat used in Yocto 3.3 has a label name
length limit of 11 characters. All of the labels for our current platforms
surpassed this limit ("Boot ccimxX" alone already occupies 11 characters), so
replace the machine name with "DEY"
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
These variables were originally set in NXP's recipes, but they moved their
definitions to each platform's configuration file. Set the appropriate values
where needed. While at it, replace every mention of the SOC_TARGET variable
with its new name, IMX_BOOT_SOC_TARGET.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The recipe we ported from meta-imx has the same version number (v2.4) and
bitbake chooses the meta-freescale version because said layer comes before
meta-digi-arm in the BBLAYERS. Since the meta-freescale version uses different
platform overrides, the build fails, so filter it out to use our version
instead.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The common license file GPL-2.0 is now called GPL-2.0-only in poky, so we need
to reflect this name change to avoid errors
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
NXP now uses the meta-freescale version of the imx-boot recipe as a base, and
applies a .bbappend in meta-imx to apply more customizations. Reflect this
in meta-digi-arm and merge said .bbappend with ours. While at it, omit one of
NXP's operations in their do_deploy, since it breaks our build and doesn't look
essential.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>