Message ID | b7ec3e6c655237e616d499124500b707e13bf94d.1634799573.git.michal.simek@xilinx.com |
---|---|
State | Superseded |
Delegated to: | Michal Simek |
Headers | show |
Series | xilinx: zynqmp: Save multiboot as variable | expand |
On Thu, Oct 21, 2021 at 9:59 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> > --- > > board/xilinx/zynqmp/zynqmp.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c > index ed6c287df221..5fce74d6085a 100644 > --- a/board/xilinx/zynqmp/zynqmp.c > +++ b/board/xilinx/zynqmp/zynqmp.c > @@ -658,6 +658,8 @@ int board_late_init(void) > if (ret) > return ret; > > + env_set_hex("multiboot", multi_boot()); multi_boot() can return error -EINVAL. Probably it would be better to handle this before setting the env variable? > + > bootmode = zynqmp_get_bootmode(); > > puts("Bootmode: "); > @@ -863,7 +865,7 @@ void set_dfu_alt_info(char *interface, char *devstr) > > memset(buf, 0, sizeof(buf)); > > - multiboot = multi_boot(); > + multiboot = env_get_hex("multiboot", multi_boot()); > debug("Multiboot: %d\n", multiboot); > > switch (zynqmp_get_bootmode()) { > -- > 2.33.1 >
On 10/21/21 16:23, Oleksandr Suvorov wrote: > On Thu, Oct 21, 2021 at 9:59 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> >> --- >> >> board/xilinx/zynqmp/zynqmp.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c >> index ed6c287df221..5fce74d6085a 100644 >> --- a/board/xilinx/zynqmp/zynqmp.c >> +++ b/board/xilinx/zynqmp/zynqmp.c >> @@ -658,6 +658,8 @@ int board_late_init(void) >> if (ret) >> return ret; >> >> + env_set_hex("multiboot", multi_boot()); > > multi_boot() can return error -EINVAL. Probably it would be better to > handle this > before setting the env variable? Sent v2 to fix this. Thanks, Michal
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index ed6c287df221..5fce74d6085a 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -658,6 +658,8 @@ int board_late_init(void) if (ret) return ret; + env_set_hex("multiboot", multi_boot()); + bootmode = zynqmp_get_bootmode(); puts("Bootmode: "); @@ -863,7 +865,7 @@ void set_dfu_alt_info(char *interface, char *devstr) memset(buf, 0, sizeof(buf)); - multiboot = multi_boot(); + multiboot = env_get_hex("multiboot", multi_boot()); 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> --- board/xilinx/zynqmp/zynqmp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)