[PATCH] xilinx: zynqmp: Fix SPL_FS_LOAD_PAYLOAD_NAME usage
Michal Simek
michal.simek at amd.com
Mon Dec 5 08:53:48 CET 2022
On 12/2/22 14:06, Michal Simek wrote:
> SPL_FS_LOAD_PAYLOAD_NAME depends on SPL to be enabled.
> If SPL is not enabled code still expects SPL_FS_LOAD_PAYLOAD_NAME to be
> present. That's why setup proper dependency in the code.
> And by doing so also change the logic around dfu_alt_info string
> composition to be simpler.
>
> Signed-off-by: Michal Simek <michal.simek at amd.com>
> ---
>
> board/xilinx/zynqmp/zynqmp.c | 45 +++++++++++++++++++-----------------
> 1 file changed, 24 insertions(+), 21 deletions(-)
>
> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
> index 5fe0873fe221..579708d2e0cf 100644
> --- a/board/xilinx/zynqmp/zynqmp.c
> +++ b/board/xilinx/zynqmp/zynqmp.c
> @@ -611,8 +611,7 @@ enum env_location env_get_location(enum env_operation op, int prio)
>
> void set_dfu_alt_info(char *interface, char *devstr)
> {
> - int multiboot;
> - int bootseq = 0;
> + int multiboot, bootseq = 0, len = 0;
>
> ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN);
>
> @@ -634,29 +633,33 @@ void set_dfu_alt_info(char *interface, char *devstr)
> case SD1_LSHFT_MODE:
> case SD_MODE1:
> bootseq = mmc_get_env_dev();
> - if (!multiboot)
> - snprintf(buf, DFU_ALT_BUF_LEN,
> - "mmc %d=boot.bin fat %d 1;"
> - "%s fat %d 1",
> - bootseq, bootseq,
> - CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq);
> - else
> - snprintf(buf, DFU_ALT_BUF_LEN,
> - "mmc %d=boot%04d.bin fat %d 1;"
> - "%s fat %d 1",
> - bootseq, multiboot, bootseq,
> - CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq);
> +
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN, "mmc %d=boot",
> + bootseq);
> +
> + if (multiboot)
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN,
> + "%04d", multiboot);
> +
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN, ".bin fat %d 1",
> + bootseq);
> +#if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN, ";%s fat %d 1",
> + CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq);
> +#endif
> break;
> -#if defined(CONFIG_SYS_SPI_U_BOOT_OFFS)
> case QSPI_MODE_24BIT:
> case QSPI_MODE_32BIT:
> - snprintf(buf, DFU_ALT_BUF_LEN,
> - "sf 0:0=boot.bin raw %x 0x1500000;"
> - "%s raw 0x%x 0x500000",
> - multiboot * SZ_32K, CONFIG_SPL_FS_LOAD_PAYLOAD_NAME,
> - CONFIG_SYS_SPI_U_BOOT_OFFS);
> - break;
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN,
> + "sf 0:0=boot.bin raw %x 0x1500000",
> + multiboot * SZ_32K);
> +#if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) && defined(CONFIG_SYS_SPI_U_BOOT_OFFS)
> + len += snprintf(buf + len, DFU_ALT_BUF_LEN,
> + ";%s raw 0x%x 0x500000",
> + CONFIG_SPL_FS_LOAD_PAYLOAD_NAME,
> + CONFIG_SYS_SPI_U_BOOT_OFFS);
> #endif
> + break;
> default:
> return;
> }
Applied.
M
More information about the U-Boot
mailing list