[PATCH v2] xilinx: zynqmp: Save multiboot as variable
Oleksandr Suvorov
cryosay at gmail.com
Mon Oct 25 10:19:33 CEST 2021
On Mon, Oct 25, 2021 at 11:11 AM Michal Simek <michal.simek at xilinx.com> wrote:
>
> Save multiboot register as u-boot variable. And use it as primary source
> for composing dfu_alt_info for capsule update. If variable is not defined
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at foundries.io>
> ---
>
> Changes in v2:
> - Handle also error values from mult_boot() - Reported by Oleksandr Suvorov <oleksandr.suvorov at foundries.io>
>
> board/xilinx/zynqmp/zynqmp.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
> index 5a1f8153409c..dfb5dab7afa3 100644
> --- a/board/xilinx/zynqmp/zynqmp.c
> +++ b/board/xilinx/zynqmp/zynqmp.c
> @@ -640,7 +640,7 @@ int board_late_init(void)
> const char *mode;
> char *new_targets;
> char *env_targets;
> - int ret;
> + int ret, multiboot;
>
> #if defined(CONFIG_USB_ETHER) && !defined(CONFIG_USB_GADGET_DOWNLOAD)
> usb_ether_init();
> @@ -658,6 +658,10 @@ int board_late_init(void)
> if (ret)
> return ret;
>
> + multiboot = multi_boot();
> + if (multiboot >= 0)
> + env_set_hex("multiboot", multiboot);
> +
> bootmode = zynqmp_get_bootmode();
>
> puts("Bootmode: ");
> @@ -864,6 +868,10 @@ void set_dfu_alt_info(char *interface, char *devstr)
> memset(buf, 0, sizeof(buf));
>
> multiboot = multi_boot();
> + if (multiboot < 0)
> + multiboot = 0;
> +
> + multiboot = env_get_hex("multiboot", multiboot);
> debug("Multiboot: %d\n", multiboot);
>
> switch (zynqmp_get_bootmode()) {
> --
> 2.33.1
>
--
Best regards
Oleksandr
Oleksandr Suvorov
cryosay at gmail.com
More information about the U-Boot
mailing list