The boot script appends values to certain variables such as
$extra_bootargs and $overlays.
If the final instruction of the boot script (dboot command)
fails, these variables contain the new values, plus the original
one. Since the user recovers the prompt, he may do a 'saveenv'
to save the environment, and the modified variables will be
saved, only to be enlarged again on the next boot.
This can lead to repeated strings on such variables.
Save the original value and restore it in case of failure on
the dboot command.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Follow the syntax:
_ov_<som|board>_<functionality>[_<hardware>].dts
where:
_ov_ identifies the file as an overlay.
som|board identifies whether the overlay applies to the SOM
or to the carrier board.
functionality identifies the function of the overlay.
hardware identifies the hardware to which the overlay
applies.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Wrapping unterminated lines doesn't work for scripts (even
if they contain the backslash).
Substitute with full non-wrapped if/elif sentences.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-7252
In the ccimx6sbc, since each SOC has a separate set of device trees, we can use
the soc_family environment variable when generating the name of the final
device tree in the bootscript. However, for the ccimx6qpsbc, there is only one
set of device trees with the "imx6qp" prefix, even though there are SOC
variants such as the imx6dp. Running the bootscript on a ccimx6qpsbc with an
imx6dp SOC assembled will result in a failure, since it will look for a
non-existing device tree starting with a "imx6dp" prefix.
Stop using the soc_family variable and hardcode "imx6qp" instead.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
With the previous solution we would need to generate
multiple overlays for each soc_type, so if we have a
new soc type (for example the solo), we would need
to generate 3 different overlays.
Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
Add running 'mmc partconf 0 1 1 1' command to the uuu scripts after
writing the new U-Boot into the internal eMMC.
This is required for blank eMMCs on CC8MN and CC8X SOMs where the
'update' command has never been run to be able to boot from eMMC.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
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)
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
The signing script is used for signing multiple artifacts, not just the
kernel, so rename it for a broader use.
https://jira.digi.com/browse/DEL-7047
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Signing with AHAB mode only requires an additional prior step, so
reuse as much code as possible.
https://jira.digi.com/browse/DEL-7047
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
TRUSTFENCE_SIGN_MODE for ccimx8mn is "HAB", although the
BOOTLOADER_IMAGE_RECIPE is "imx-boot".
https://jira.digi.com/browse/DEL-7024
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
imx-mkimage is a host recipe to provide the mkimage_imx8 binaries, required
for the trustfence support with platform based on AHAB (ccimx8x). Since
these binaries are required to the sign process we need to export it in the
SDK to allow the standalone sign mode, and with that we can simplify the
mechanism to share these binaries with another recipes (u-boot, linux).
Also the do_deploy() from imx-mkimage recipe was removed to avoid overriding
the implementation from the native class and allow populating the mkimage
binaries.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This update is a cosmetic one and removes the RAM frequency from the SCFW
filenames. Reflect this change in the RAM_CONFIGS variable and in the uSD/UUU
installation scripts.
As a result, the imx-boot filenames will no longer have the RAM frequency
either.
https://jira.digi.com/browse/DEL-7096
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The scripts need to know the SOC's revision to be able to select the correct
imx-boot image. Modify the boot-artifacts bbclass so the renamed imx-boot files
are included in the installation .zip.
Also, bypass the SECO fw check in the uSD script so it can install future
versions that aren't recognized by U-Boot's SECO fw checking logic. The UUU
script doesn't require this bypass, since it doesn't use the Digi update
command to flash the bootloader.
https://jira.digi.com/browse/DEL-7069
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
With the device tree overlays mechanism in place, the bootscript
doesn't need to set the fdt_file variable. Instead, it will use
the value it has (which can be changed by the user) and it will
simply update the 'overlays' variable with the device tree
overlays that apply basing on the hardware capabilities found
on the HWID, SOM version, and carrier board version.
This allows a user to override the default fdt_file to point
to his custom device tree, but still make use of the boot script
for hardware-detected overlays.
Without the need to set the base filename, the boot script is the
same for any carrier board of the ccimx8x SOM, so this commit
moves it to a common folder.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Each platform now has only one base device tree, meant for the i.MX8DX variants
of the ccimx8x boards. Apply the QXP overlay in the bootscript if the SOC is
identified as an i.MX8QXP.
Since we want to give this overlay a higher priority than the SOM overlays
(wifi and bluetooth), prepend it to the overlay list after appending the SOM
overlays.
https://jira.digi.com/browse/DEL-7100
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Remove the old wb device trees from the ccimx8x-sbc-express and ccimx8x-sbc-pro
configuration files and add the ccimx8x wifi and bt overlays. Modify both
platforms' bootscripts to apply the overlays depending on board_id, hardware
capabilities or module variants.
https://jira.digi.com/browse/DEL-7100
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The function that parsed the output for a U-Boot variable value
was receiving a multi-line output, with blank lines that were
not being properly processed.
Simplify the parsing by using 'sed' command.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-951
The if condition expanded to nothing so the install command was
never called. Apart from that the install command was wrong and
missing the '-m' option for modifier.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
Parse the hardware version from the HWID and load the overlay if and only if
the revision is "1". Also, update the board's device tree list accordingly.
https://jira.digi.com/browse/DEL-7070
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Instead of having two separate device trees for the non-wireless and wireless
variants of the ccimx8mn, use the non-wireless .dtb as a base and apply the
overlays in the bootscript depending on the variant's capabilities.
Also, update the board's device tree list accordingly.
https://jira.digi.com/browse/DEL-2609
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>