Switch ccimx8/ccimx9 wic images to a layout with a u-boot-env
partition. Use a fixed PARTUUID for SD rootfs.
https://onedigi.atlassian.net/browse/DUB-1119
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Device tree overlays now have the extension 'dtso' that
distinguishes them from board 'dts' files, so there is
no need for a prefix '_ov_' to tell if a file contains
a DT overlay.
To make them shorter and easier to tell the platform they
are for, change the filename format to:
<platform-name>_<functionality>.dtso
where <platform-name> can be the name of the SOM or the
name of the DVK, so there is no need either to specify
'som' or 'board' on the filename.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Improve boot attempts message showing not only the current boot attempt
but also the limit:
(boot attempt 1/3)
Print the message only when the bootcount mechanism is active, i.e. when
the bootlimit is defined (not zero), and when bootcount is > 0.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DUB-1056
Until now, for dualboot systems, all boot variables were calculated on each boot depending on the value of the
'active_system'. These variables are used to boot the device but were not saved, which could lead to a missmatch
between their value in the environment and their required values to correctly boot the system. This commit
simplifies a bit the variables calculation and adds a block to synchronize their value in the environment.
Signed-off-by: David Escalona <david.escalona@digi.com>
The 'bootcount' value is now incremented and stored in the system on every boot and
not only then the 'upgrade_available' flag is set. Also, ensure the value is cleared
when the 'altboot' script is executed by running the new U-Boot command 'bootcount reset'.
https://onedigi.atlassian.net/browse/DEL-8506
Signed-off-by: David Escalona <david.escalona@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>
U-Boot has embedded support to handle bootcount tries.
When the limit of tries is reached, U-Boot runs the script
in `altbootcmd` rather than the usual `bootcmd`.
This other script resides on meta-digi-dualboot layer.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
When DualBoot mechanism is enabled and an update is pending,
the boot script needs to change certain variables and save the
environment.
The regular boot script already changes a number of variables,
such as 'extra_bootargs' and 'overlays' by appending strings to
the already existing values. Saving the envionment may make these
grow endlessly with each iteration of the boot script.
For this reason, move the DualBoot check as the first thing in
the script, save the environment if needed, and then continue
with the normal flow, that changes variables before booting
but doesn't save them.
On certain scripts, this allows us to get rid of some instructions
for resetting the overlays variable.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The support for dualboot was integrated on meta-digi-dualboot layer, but it
really depends only on environment variable 'dualboot' so we'd better
integrate the support on the scripts in meta-digi, to avoid synchonization
problems between both layers.
This also allows to be able to easily enable dualboot in U-Boot with the
variable, without needing to update the script on the linux partition.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Since this overlay is only used in the SBC Pro bootscript, have a separate
bootscript for the SBC Express.
https://jira.digi.com/browse/DEL-7276
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 'soc_type' variable was already set by fastboot to "imx8qxp"
so the U-Boot board code that was setting this to just "8qxp" has
been changed to set it to "imx8qxp".
Update the scripts accordingly.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-901
With the arrival of DualX variants, the device tree files have been renamed
to contain the SOC type (8qxp, or 8dx). This is determined by a new U-Boot
variable 'soc_type'.
Default to "8qxp" if the variable is not defined (old U-Boots).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6641
The new HWID fields make U-Boot create new variable 'module_ram'.
If it exists calculate new HWID fields to check if the SOM has
Wi-Fi, Bluetooth, etc. in order to select the device tree file.
If not, fall back to old method of using the variant code and
the hard-coded table of variants.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6598
Device tree file names won't have the kernel image type like a
prefix anymore, since thud uses the original file names.
https://jira.digi.com/browse/DEL-6443
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>