diff mbox series

xilinx: zynqmp: Save multiboot as variable

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

Commit Message

Michal Simek Oct. 21, 2021, 6:59 a.m. UTC
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(-)

Comments

Oleksandr Suvorov Oct. 21, 2021, 2:23 p.m. UTC | #1
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
>
Michal Simek Oct. 25, 2021, 8:11 a.m. UTC | #2
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 mbox series

Patch

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()) {