Commit Graph

40 Commits

Author SHA1 Message Date
Hector Palacios ebbf61e15c global: rework Digi DT overlays filename structure
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>
2025-02-10 18:04:06 +01:00
Hector Palacios 918a9caf1d boot scripts: print boot attempts only when bootcount mechanism active
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
2023-10-20 10:48:07 +02:00
David Escalona 910ee4ab44 u-boot-dey: boot: update all boot scripts to synchronize boot variables for dualboot systems
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>
2023-09-04 18:23:58 +02:00
David Escalona 88f74279b1 recipes-bsp: u-boot: boot-scripts: update boot scripts to use new 'bootcount' mechanism
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>
2023-08-29 09:48:04 +02:00
Javier Viguera aab5eda5c2 meta-digi-arm: add kernel parameter for single boot logo
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>
2023-01-23 17:33:31 +01:00
Hector Palacios 3ab0340741 u-boot: print what system is booting after update
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-10-11 11:36:00 +02:00
Francisco Gil e67ed06dd5 dualboot: move the logic of fallback boot to altbootcmd
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>
2021-10-08 12:59:30 +02:00
Hector Palacios 05d21a1310 u-boot: boot.txt: move dualboot checks to the top
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>
2021-09-09 17:38:44 +02:00
Hector Palacios f00ce5ca9b u-boot-dey: add support for dualboot to boot scripts
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>
2021-09-09 17:38:44 +02:00
Hector Palacios 9f3ab7c9d9 u-boot-dey: group identical files per SOM or SOM family
With the generalization done in previous commits, we have now several files
that are identical and can be merged into a common SOM or SOM family
folder.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios 96bc57c7f0 u-boot-dey: use global variables to generalize install scripts
Create global variables:
  DEFAULT_IMAGE_NAME
  GRAPHICAL_IMAGES

to have them substituted on the U-Boot install scripts for better
generalization.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios c2c3cfb7cd u-boot-dey: use new variable 'image-name' to compose filenames in scripts
U-Boot install scripts (from uSD and USB) were hard-coded to dey-image-qt.
Allow to install other image files by setting a new variable 'image-name'
which defaults to 'dey-image-qt' if not defined, except for the CC6UL
SBC Express, that defaults to 'core-image-base'.

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

https://jira.digi.com/browse/DEL-7385
https://jira.digi.com/browse/DEL-7333
2021-06-02 11:01:37 +02:00
Hector Palacios 71e96e84c4 u-boot-dey: ccimx8m: remove soc_type generation on boot script
On these boot scripts, this variable is not used, so we can remove it.
Besides, it's generated by U-Boot code.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios a7d0ba8b38 u-boot-dey: remove hard-coded platform name from scripts
Use ##MACHINE## placeholder to have it later substituted by the recipe
using Yocto ${MACHINE} variable.
This will help later reducing the number of files to have one per SOM
(or even family) instead of one per platform.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios c89d46600a u-boot-dey: append the graphic backend only to graphical images
Non-graphical images (core-image-base, dey-image-aws) don't contain the
graphic-backend on their filenames.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-05-25 17:15:45 +02:00
Hector Palacios aa535a505b u-boot-dey: improve workflow and messages of uuu install script
- Determine first the filenames and abort if any does not exist.
- Print a warning message about the erasing of the media with a list
  of partitions and files to use for the update
- Sync the different scripts so they look more similar

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

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios 8f4d707fb6 u-boot-dey: function for updating eMMC partitions with a message
Similar to how it's done on the ccimx6ul, create a function for updating
a partition with a file, that also prints a message.
Rename the function to be the same in all scripts.

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

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios 51ce92b982 u-boot-dey: [cosmetic] print countdown on wait message, and OK at the end
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios ce417f5b9e u-boot-dey: abort update from uuu if any of files to update does not exist
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios f1f3af5e66 u-boot-dey: improve uuu install script with options
Previously, this script only allowed the U-Boot filename as parameter.
This commit makes use of getopts() to pass the following options to the
script:
  -h, for help
  -i, to pass the dey image name that prefixes the firmware filenames
  -n, to skip the 10 seconds delay that allow you to cancel the process
  -u, to pass the U-Boot filename

The default image name (if none passed) keeps being 'dey-image-qt' but the
new option allows reusing this script to install dey-image-webkit or
dey-image-aws images.

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

https://jira.digi.com/browse/DEL-7385
2021-05-25 17:15:45 +02:00
Hector Palacios e3f6955cc1 ccimx8m: remove quad core device tree overlay
This overlay added cooling devices for all quad cores.
On the latest BSP, the SoC device tree include contains all four
cooling devices and the newest U-Boot is able to delete the nodes
for non-existing cores, so there's no need for this overlay
anymore.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-02-17 09:23:07 +01:00
Arturo Buzarra 8b01fe57a9 uboot: add support to ConnectCore 8M Mini DVK platform
Add initial support cloned from ccimx8mn-dvk

https://jira.digi.com/browse/DEL-7397

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-02-04 13:07:07 +01:00
Hector Palacios fddaee85b9 update-fw scripts: fix error path after sucessful update
On commit 1e5cafeb79 a fall-back
update command was introduced in case the newest command fails.
If the newest command succeeds, however, the 'test' command for
error doesn't match (there is no error) and the return code of
such test is "1". On the next check for errors, this results on
an error, when we really mean to continue because the first
command was successful.

Move the second error check inside the error path of the first
attempt.

Reported-by: Francisco Gil <francisco.gilmartinez@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-01-18 17:36:38 +01:00
Hector Palacios 1e5cafeb79 uboot: update fw install scripts to remove source fs from commands
The 'source file system' was removed as an argument from the
'update' command in U-Boot v2020.04.
For platforms using such version, remove it from the update fw
scripts.

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

https://jira.digi.com/browse/DUB-983
2021-01-07 19:29:06 +01:00
Arturo Buzarra 8b3b8b5516 uboot: add script to update firmware from a USB stick
Create scripts to install DEY firmware using a USB stick.

https://jira.digi.com/browse/DEL-6802

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-12-03 15:46:22 +01:00
Hector Palacios 4685664d07 u-boot: boot script: allow to disable Wi-Fi/BT overlays
Check a U-Boot env variable (disable_wifi/disable_bt) for easily
disabling Wi-Fi and/or Bluetooth overlays.

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

https://jira.digi.com/browse/DEL-7297
(cherry picked from commit b74a8cee54)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-11-04 16:10:20 +01:00
Hector Palacios 0a0f376ea6 ARM64: dts: ccimx8mn: add overlay for DVK version < 3
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-7279
2020-10-19 10:53:53 +02:00
Hector Palacios 2ade93d8eb u-boot-dey: restore modified env vars in case of error on bootscript
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>
2020-10-01 16:13:46 +02:00
Hector Palacios 3786647d1c ccimx8x/mn: rename dt overlays filenames
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>
2020-09-29 18:06:02 +02:00
Francisco Gil Martinez 9249c60c88 ccimx8mn: add support for QUAD overlay
Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
2020-09-14 16:39:57 +02:00
Francisco Gil Martinez 1306bbd3ee ccimx8mn: remove the soc type from overlays
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>
2020-09-14 16:39:57 +02:00
Gonzalo Ruiz ae05d9633a u-boot-dey: add mmc partconf command to uuu scripts
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>
2020-08-20 10:36:12 +02:00
Arturo Buzarra 616e2059d3 meta-digi-arm: uboot: Add kernel parameter to center custom logo
https://jira.digi.com/browse/DUB-948

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-06-04 08:33:51 +02:00
Hector Palacios f58ccb7463 boot: don't set fdt_file on bootscript; just the overlays
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>
2020-05-27 07:06:29 +02:00
Hector Palacios f9eaa06e19 u-boot: fix uuu install firmware script
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
2020-05-26 07:04:33 +02:00
Gabriel Valcazar 92788841c4 ccimx8mn-dvk: boot.txt: add missing "fi"
The end of the if block was missing when adding support for the SOM v1 overlay

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-05-07 12:36:57 +02:00
Gabriel Valcazar 973af88c12 ccimx8mn-dvk: add support to load the v1 SOM overlay in the bootscript
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>
2020-05-05 12:21:12 +02:00
Gabriel Valcazar 18ac2f63c1 ccimx8mn-dvk: add support to apply wifi/bluetooth overlays in the bootscript
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>
2020-05-05 12:16:58 +02:00
Hector Palacios 098707b92a uboot: add install_linux_fw_uuu.sh script for ccimx8mn
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6845
2020-03-10 13:04:09 +01:00
Arturo Buzarra 6130059988 uboot: add support to ConnectCore 8M Nano DVK platform
Add initial support cloned from ccimx8x-sbc-pro.

https://jira.digi.com/browse/DEL-6806

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 11:39:03 +01:00