The encryption of the U-Boot environment uses the HWID as key
modifier. The HWID was being read using the fsl_otp driver sysfs
entries and over two words. The driver is now deprecated and also
the cc8x and cc8m platforms have different number of HWID words.
This patch modifies the function that reads the HWID words by
using new entries on the device tree 'digi,hwid_X' where X is the
index of the HWID word.
It also removes the need to select CONFIG_MD5 which is already
auto-selected on sandbox_defconfig by other config switches.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-7185
(cherry picked from commit 8ced362766)
Platform-based variable STORAGE_MEDIA, allows us to select the
correct configuration file without needing to replicate it per
platform.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Update u-boot-fw-utils patches to apply on upstream version 2019.07.
https://jira.digi.com/browse/DEL-7013
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Update u-boot-fw-utils patches to apply on current upstream version. Remove
recipe for version 2017.09 since both U-Boot v2017.03 and v2018.03 work fine
with the newer version.
https://jira.digi.com/browse/DUB-881
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Fix write operation by moving the re-lock of the mmc partition
after performing the system synchronization, if not the mmc
driver throws read-only errors. Also, improved the code
to avoid compilation warnings because the return values were
not managed in write operations.
https://jira.digi.com/browse/DEL-6449
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
In the old u-boot-fw-utils 2016.x the function 'fw_env_close' wrote
the environment to the media. That is no longer the case, now that
function only frees the memory used, and 'fw_env_flush' is used
to write the environment.
This was causing that userspace application using this library were not
able to write changes to the environment.
https://jira.digi.com/browse/DEL-5644
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Support for dynamic location of U-Boot environment was added in
commit 2b5017956b. This forward ports
the patch to Yocto 2.4.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5574
Pending to update the patch for dynamic environment location in NAND.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
A mechanism was introduced in U-Boot to dynamically locate the environment
copies within a NAND partition, skipping bad blocks and making full use of
the partition blocks.
To trigger this mechanism in Linux tools (fw_printenv/fw_setenv) the
configuration file /etc/fw_env.config must have both copies entries
pointing to the same offset.
This commit substitutes the hardcoded configuration file for CC6UL with a
stub and generates one on an RPM post-script basing on:
- Supplied DEY variables (with default values per platform):
- UBOOT_ENV_OFFSET: starting offset of the environment within the
partition.
- UBOOT_ENV_SIZE: size of each copy of the environment.
- UBOOT_ENV_RANGE: size in the partition that the environment copies may
occupy, starting from UBOOT_ENV_OFFSET. If undefined, the whole
partition is used.
- Calculated values:
- NAND Erase block size
- Number of blocks available for the environment copies
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-4256
Patches added in 'meta-swupdate' (backported from U-Boot) broke our
layer. We also had those patches, so remove them and make sure the
rest or our patches are applied after the ones from 'meta-swupdate'
by using an anonymous python function instead of appending to the
SRC_URI variable.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The caam encryption check was only done from fw_env_write and fw_env_read
functions, which are not called when using the functions exported as a library.
Move the check_caam_encryption() call to fw_env_open(), which is called from
all code paths. A similar check for AES encryption cannot be moved because it
requires the AES key as an argument.
https://jira.digi.com/browse/DEL-3616
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Modify patch to clean compiler warning:
warning: passing argument 1 of 'sysfs_mmcboot_set_protection' discards
'const' qualifier from pointer target type
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Implements functions to get and set variables from U-Boot's environment.
https://jira.digi.com/browse/DEL-3358
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The patch with the same name in 'meta-swupdate' fails to apply cleanly
after the patches we have done in meta-digi. So add here a version of
the patch that applies cleanly and with higher precedence in the search
path (using 'dey' distro override).
https://jira.digi.com/browse/DEL-3355
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This patch adds the functionality to automatically detect if the enviroment
is encrypted (through the device tree). If it is, the environment is encrypted
and decrypted as required in a transparent way for the user.
https://jira.digi.com/browse/DEL-2836
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
U-Boot environment on the CC6UL NAND is located at partition /dev/mtd1:
- original copy is located at offset 0 in the partition
- redundant copy is located 1 erase block (128K) after the original copy
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-2552
Instead of creating a new recipe for u-boot fw-utils (fw_printenv) just
bbappend the recipe in Poky.
https://jira.digi.com/browse/DEL-1829
Signed-off-by: Javier Viguera <javier.viguera@digi.com>