Message ID | 96556221443489c952717bcb340b4707901c9bdd.1635149450.git.michal.simek@xilinx.com |
---|---|
State | Accepted |
Commit | e8b43c6409a064429285e8c2bf6e1a27879f995a |
Delegated to: | Michal Simek |
Headers | show |
Series | [v2] xilinx: zynqmp: Save multiboot as variable | expand |
On Mon, Oct 25, 2021 at 11:11 AM Michal Simek <michal.simek@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@xilinx.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> > --- > > Changes in v2: > - Handle also error values from mult_boot() - Reported by Oleksandr Suvorov <oleksandr.suvorov@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 >
On 10/25/21 10:10, Michal Simek 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@xilinx.com> > --- > > Changes in v2: > - Handle also error values from mult_boot() - Reported by Oleksandr Suvorov <oleksandr.suvorov@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()) { > Applied, Michal
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()) {
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@xilinx.com> --- Changes in v2: - Handle also error values from mult_boot() - Reported by Oleksandr Suvorov <oleksandr.suvorov@foundries.io> board/xilinx/zynqmp/zynqmp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)