On Mon, Oct 25, 2021 at 11:11 AM Michal Simek <michal.si...@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.si...@xilinx.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvo...@foundries.io> > --- > > Changes in v2: > - Handle also error values from mult_boot() - Reported by Oleksandr Suvorov > <oleksandr.suvo...@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 cryo...@gmail.com