xilinx: zynqmp: Fix SPL_FS_LOAD_PAYLOAD_NAME usage

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@amd.com>
Link: https://lore.kernel.org/r/3989c390a4acae13a1b05c040e14fb3d68bced02.1669986373.git.michal.simek@amd.com
This commit is contained in:
Michal Simek
2022-12-02 14:06:15 +01:00
parent 7d13f72d74
commit b40d154ced

View File

@@ -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) void set_dfu_alt_info(char *interface, char *devstr)
{ {
int multiboot; int multiboot, bootseq = 0, len = 0;
int bootseq = 0;
ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN); 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 SD1_LSHFT_MODE:
case SD_MODE1: case SD_MODE1:
bootseq = mmc_get_env_dev(); bootseq = mmc_get_env_dev();
if (!multiboot)
snprintf(buf, DFU_ALT_BUF_LEN, len += snprintf(buf + len, DFU_ALT_BUF_LEN, "mmc %d=boot",
"mmc %d=boot.bin fat %d 1;" bootseq);
"%s fat %d 1",
bootseq, bootseq, if (multiboot)
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq); len += snprintf(buf + len, DFU_ALT_BUF_LEN,
else "%04d", multiboot);
snprintf(buf, DFU_ALT_BUF_LEN,
"mmc %d=boot%04d.bin fat %d 1;" len += snprintf(buf + len, DFU_ALT_BUF_LEN, ".bin fat %d 1",
"%s fat %d 1", bootseq);
bootseq, multiboot, bootseq, #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq); len += snprintf(buf + len, DFU_ALT_BUF_LEN, ";%s fat %d 1",
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq);
#endif
break; break;
#if defined(CONFIG_SYS_SPI_U_BOOT_OFFS)
case QSPI_MODE_24BIT: case QSPI_MODE_24BIT:
case QSPI_MODE_32BIT: case QSPI_MODE_32BIT:
snprintf(buf, DFU_ALT_BUF_LEN, len += snprintf(buf + len, DFU_ALT_BUF_LEN,
"sf 0:0=boot.bin raw %x 0x1500000;" "sf 0:0=boot.bin raw %x 0x1500000",
"%s raw 0x%x 0x500000", multiboot * SZ_32K);
multiboot * SZ_32K, CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) && defined(CONFIG_SYS_SPI_U_BOOT_OFFS)
CONFIG_SYS_SPI_U_BOOT_OFFS); len += snprintf(buf + len, DFU_ALT_BUF_LEN,
break; ";%s raw 0x%x 0x500000",
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME,
CONFIG_SYS_SPI_U_BOOT_OFFS);
#endif #endif
break;
default: default:
return; return;
} }