mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-22 12:54:37 +00:00
stm32mp: stm32prog: change default flashlayout location to CONFIG_SYS_LOAD_ADDR
Change the defaut flashlayout location, hardcoded at STM32_DDR_BASE, to CONFIG_SYS_LOAD_ADDR to avoid issue on board with reserved memory at STM32_DDR_BASE. This patch changes the command behavior for STM32MP13 and STM32MP15 platform, as CONFIG_SYS_LOAD_ADDR(0xc2000000) != STM32_DDR_BASE but without impact for serial boot with STM32CubeProgrammer. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
parent
4d7df7f766
commit
ada8fe0c42
4 changed files with 7 additions and 7 deletions
|
@ -61,7 +61,7 @@ static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
|
|
||||||
dev = (int)dectoul(argv[2], NULL);
|
dev = (int)dectoul(argv[2], NULL);
|
||||||
|
|
||||||
addr = STM32_DDR_BASE;
|
addr = CONFIG_SYS_LOAD_ADDR;
|
||||||
size = 0;
|
size = 0;
|
||||||
if (argc > 3) {
|
if (argc > 3) {
|
||||||
addr = hextoul(argv[3], NULL);
|
addr = hextoul(argv[3], NULL);
|
||||||
|
|
|
@ -1388,7 +1388,7 @@ static int dfu_init_entities(struct stm32prog_data *data)
|
||||||
char buf[ALT_BUF_LEN];
|
char buf[ALT_BUF_LEN];
|
||||||
|
|
||||||
sprintf(buf, "@FlashLayout/0x%02x/1*256Ke ram %x 40000",
|
sprintf(buf, "@FlashLayout/0x%02x/1*256Ke ram %x 40000",
|
||||||
PHASE_FLASHLAYOUT, STM32_DDR_BASE);
|
PHASE_FLASHLAYOUT, CONFIG_SYS_LOAD_ADDR);
|
||||||
ret = dfu_alt_add(dfu, "ram", NULL, buf);
|
ret = dfu_alt_add(dfu, "ram", NULL, buf);
|
||||||
log_debug("dfu_alt_add(ram, NULL,%s) result %d\n", buf, ret);
|
log_debug("dfu_alt_add(ram, NULL,%s) result %d\n", buf, ret);
|
||||||
}
|
}
|
||||||
|
@ -1699,15 +1699,15 @@ static void stm32prog_end_phase(struct stm32prog_data *data, u64 offset)
|
||||||
{
|
{
|
||||||
if (data->phase == PHASE_FLASHLAYOUT) {
|
if (data->phase == PHASE_FLASHLAYOUT) {
|
||||||
#if defined(CONFIG_LEGACY_IMAGE_FORMAT)
|
#if defined(CONFIG_LEGACY_IMAGE_FORMAT)
|
||||||
if (genimg_get_format((void *)STM32_DDR_BASE) == IMAGE_FORMAT_LEGACY) {
|
if (genimg_get_format((void *)CONFIG_SYS_LOAD_ADDR) == IMAGE_FORMAT_LEGACY) {
|
||||||
data->script = STM32_DDR_BASE;
|
data->script = CONFIG_SYS_LOAD_ADDR;
|
||||||
data->phase = PHASE_END;
|
data->phase = PHASE_END;
|
||||||
log_notice("U-Boot script received\n");
|
log_notice("U-Boot script received\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
log_notice("\nFlashLayout received, size = %lld\n", offset);
|
log_notice("\nFlashLayout received, size = %lld\n", offset);
|
||||||
if (parse_flash_layout(data, STM32_DDR_BASE, offset))
|
if (parse_flash_layout(data, CONFIG_SYS_LOAD_ADDR, offset))
|
||||||
stm32prog_err("Layout: invalid FlashLayout");
|
stm32prog_err("Layout: invalid FlashLayout");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -462,7 +462,7 @@ static void get_phase_command(struct stm32prog_data *data)
|
||||||
length = strlen(err_msg);
|
length = strlen(err_msg);
|
||||||
}
|
}
|
||||||
if (phase == PHASE_FLASHLAYOUT)
|
if (phase == PHASE_FLASHLAYOUT)
|
||||||
destination = STM32_DDR_BASE;
|
destination = CONFIG_SYS_LOAD_ADDR;
|
||||||
|
|
||||||
stm32prog_serial_putc(length + 5); /* Total length */
|
stm32prog_serial_putc(length + 5); /* Total length */
|
||||||
stm32prog_serial_putc(phase & 0xFF); /* partition ID */
|
stm32prog_serial_putc(phase & 0xFF); /* partition ID */
|
||||||
|
|
|
@ -90,7 +90,7 @@ static int stm32prog_cmd_read(u64 offset, void *buf, long *len)
|
||||||
}
|
}
|
||||||
phase = stm32prog_data->phase;
|
phase = stm32prog_data->phase;
|
||||||
if (phase == PHASE_FLASHLAYOUT)
|
if (phase == PHASE_FLASHLAYOUT)
|
||||||
destination = STM32_DDR_BASE;
|
destination = CONFIG_SYS_LOAD_ADDR;
|
||||||
dfu_offset = stm32prog_data->offset;
|
dfu_offset = stm32prog_data->offset;
|
||||||
|
|
||||||
/* mandatory header, size = PHASE_MIN_SIZE */
|
/* mandatory header, size = PHASE_MIN_SIZE */
|
||||||
|
|
Loading…
Add table
Reference in a new issue