Compare commits

..

1 Commits

Author SHA1 Message Date
Tom Rini
7f57ad39a9 Merge tag 'u-boot-stm32-20241218' of https://source.denx.de/u-boot/custodians/u-boot-stm
CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/23931

- Restore SPL boot from sdcard for STM32MP1 platforms
- Fix STACK_SIZE for STM32 MCU's board

(cherry picked from commit 69bd83568c)
2025-12-18 18:11:10 -07:00
8 changed files with 31 additions and 33 deletions

View File

@@ -17,7 +17,7 @@ include include/host_arch.h
ifeq ("", "$(CROSS_COMPILE)") ifeq ("", "$(CROSS_COMPILE)")
MK_ARCH="${shell uname -m}" MK_ARCH="${shell uname -m}"
else else
MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^\(.*ccache\)\{0,1\}[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\3/p'}" MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^\(ccache\)\{0,1\}[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\3/p'}"
endif endif
unexport HOST_ARCH unexport HOST_ARCH
ifeq ("x86_64", $(MK_ARCH)) ifeq ("x86_64", $(MK_ARCH))

View File

@@ -362,7 +362,7 @@ phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
* space below the 4G address boundary (which is 3GiB big), * space below the 4G address boundary (which is 3GiB big),
* even when the effective available memory is bigger. * even when the effective available memory is bigger.
*/ */
top_addr = clamp_val((u64)PHYS_SDRAM + gd->ram_size, 0, SZ_4G); top_addr = clamp_val((u64)PHYS_SDRAM + gd->ram_size, 0, 0xffffffff);
/* /*
* rom_pointer[0] stores the TEE memory start address. * rom_pointer[0] stores the TEE memory start address.

View File

@@ -332,45 +332,41 @@ int android_image_get_kernel(const void *hdr,
kernel_addr, DIV_ROUND_UP(img_data.kernel_size, 1024)); kernel_addr, DIV_ROUND_UP(img_data.kernel_size, 1024));
int len = 0; int len = 0;
char *bootargs = env_get("bootargs"); if (*img_data.kcmdline) {
printf("Kernel command line: %s\n", img_data.kcmdline);
len += strlen(img_data.kcmdline);
}
if (img_data.kcmdline_extra) {
printf("Kernel extra command line: %s\n", img_data.kcmdline_extra);
len += strlen(img_data.kcmdline_extra);
}
char *bootargs = env_get("bootargs");
if (bootargs) if (bootargs)
len += strlen(bootargs); len += strlen(bootargs);
if (*img_data.kcmdline) { char *newbootargs = malloc(len + 2);
printf("Kernel command line: %s\n", img_data.kcmdline);
len += strlen(img_data.kcmdline) + (len ? 1 : 0); /* +1 for extra space */
}
if (*img_data.kcmdline_extra) {
printf("Kernel extra command line: %s\n", img_data.kcmdline_extra);
len += strlen(img_data.kcmdline_extra) + (len ? 1 : 0); /* +1 for extra space */
}
char *newbootargs = malloc(len + 1); /* +1 for the '\0' */
if (!newbootargs) { if (!newbootargs) {
puts("Error: malloc in android_image_get_kernel failed!\n"); puts("Error: malloc in android_image_get_kernel failed!\n");
return -ENOMEM; return -ENOMEM;
} }
*newbootargs = '\0'; /* set to Null in case no components below are present */ *newbootargs = '\0';
if (bootargs) if (bootargs) {
strcpy(newbootargs, bootargs); strcpy(newbootargs, bootargs);
if (*img_data.kcmdline) {
if (*newbootargs) /* If there is something in newbootargs, a space is needed */
strcat(newbootargs, " "); strcat(newbootargs, " ");
strcat(newbootargs, img_data.kcmdline);
} }
if (*img_data.kcmdline_extra) { if (*img_data.kcmdline)
if (*newbootargs) /* If there is something in newbootargs, a space is needed */ strcat(newbootargs, img_data.kcmdline);
if (img_data.kcmdline_extra) {
strcat(newbootargs, " "); strcat(newbootargs, " ");
strcat(newbootargs, img_data.kcmdline_extra); strcat(newbootargs, img_data.kcmdline_extra);
} }
env_set("bootargs", newbootargs); env_set("bootargs", newbootargs);
free(newbootargs);
if (os_data) { if (os_data) {
if (image_get_magic(ihdr) == IH_MAGIC) { if (image_get_magic(ihdr) == IH_MAGIC) {

View File

@@ -121,7 +121,7 @@ static long region_overlap_check(struct mem_region *mem_rgn, phys_addr_t base,
return (i < mem_rgn->count) ? i : -1; return (i < mem_rgn->count) ? i : -1;
} }
static phys_addr_t find_ram_top(struct mem_region *free_mem, static int find_ram_top(struct mem_region *free_mem,
struct mem_region *reserved_mem, phys_size_t size) struct mem_region *reserved_mem, phys_size_t size)
{ {
long i, rgn; long i, rgn;

View File

@@ -32,6 +32,7 @@ CONFIG_CMODEL_MEDANY=y
CONFIG_RISCV_SMODE=y CONFIG_RISCV_SMODE=y
# CONFIG_OF_BOARD_FIXUP is not set # CONFIG_OF_BOARD_FIXUP is not set
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_BOOTSTD_DEFAULTS=y CONFIG_BOOTSTD_DEFAULTS=y
CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE=y

View File

@@ -39,6 +39,7 @@ enum clk_ids {
CLK_PLL6, CLK_PLL6,
CLK_PLL7, CLK_PLL7,
CLK_PLL1_DIV2, CLK_PLL1_DIV2,
CLK_PLL2_DIV2,
CLK_PLL3_DIV2, CLK_PLL3_DIV2,
CLK_PLL4_DIV2, CLK_PLL4_DIV2,
CLK_PLL4_DIV5, CLK_PLL4_DIV5,
@@ -81,6 +82,7 @@ static const struct cpg_core_clk r8a779h0_core_clks[] = {
DEF_BASE(".pll7", CLK_PLL7, CLK_TYPE_GEN4_PLL7, CLK_MAIN), DEF_BASE(".pll7", CLK_PLL7, CLK_TYPE_GEN4_PLL7, CLK_MAIN),
DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1), DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1),
DEF_FIXED(".pll2_div2", CLK_PLL2_DIV2, CLK_PLL2, 2, 1),
DEF_FIXED(".pll3_div2", CLK_PLL3_DIV2, CLK_PLL3, 2, 1), DEF_FIXED(".pll3_div2", CLK_PLL3_DIV2, CLK_PLL3, 2, 1),
DEF_FIXED(".pll4_div2", CLK_PLL4_DIV2, CLK_PLL4, 2, 1), DEF_FIXED(".pll4_div2", CLK_PLL4_DIV2, CLK_PLL4, 2, 1),
DEF_FIXED(".pll4_div5", CLK_PLL4_DIV5, CLK_PLL4, 5, 1), DEF_FIXED(".pll4_div5", CLK_PLL4_DIV5, CLK_PLL4, 5, 1),
@@ -104,10 +106,10 @@ static const struct cpg_core_clk r8a779h0_core_clks[] = {
DEF_RATE(".oco", CLK_OCO, 32768), DEF_RATE(".oco", CLK_OCO, 32768),
/* Core Clock Outputs */ /* Core Clock Outputs */
DEF_GEN4_Z("zc0", R8A779H0_CLK_ZC0, CLK_TYPE_GEN4_Z, CLK_PLL2, 4, 0), DEF_GEN4_Z("zc0", R8A779H0_CLK_ZC0, CLK_TYPE_GEN4_Z, CLK_PLL2_DIV2, 2, 0),
DEF_GEN4_Z("zc1", R8A779H0_CLK_ZC1, CLK_TYPE_GEN4_Z, CLK_PLL2, 4, 8), DEF_GEN4_Z("zc1", R8A779H0_CLK_ZC1, CLK_TYPE_GEN4_Z, CLK_PLL2_DIV2, 2, 8),
DEF_GEN4_Z("zc2", R8A779H0_CLK_ZC2, CLK_TYPE_GEN4_Z, CLK_PLL2, 4, 32), DEF_GEN4_Z("zc2", R8A779H0_CLK_ZC2, CLK_TYPE_GEN4_Z, CLK_PLL2_DIV2, 2, 32),
DEF_GEN4_Z("zc3", R8A779H0_CLK_ZC3, CLK_TYPE_GEN4_Z, CLK_PLL2, 4, 40), DEF_GEN4_Z("zc3", R8A779H0_CLK_ZC3, CLK_TYPE_GEN4_Z, CLK_PLL2_DIV2, 2, 40),
DEF_FIXED("s0d2", R8A779H0_CLK_S0D2, CLK_S0, 2, 1), DEF_FIXED("s0d2", R8A779H0_CLK_S0D2, CLK_S0, 2, 1),
DEF_FIXED("s0d3", R8A779H0_CLK_S0D3, CLK_S0, 3, 1), DEF_FIXED("s0d3", R8A779H0_CLK_S0D3, CLK_S0, 3, 1),
DEF_FIXED("s0d4", R8A779H0_CLK_S0D4, CLK_S0, 4, 1), DEF_FIXED("s0d4", R8A779H0_CLK_S0D4, CLK_S0, 4, 1),

View File

@@ -837,7 +837,6 @@ static int rswitch_send(struct udevice *dev, void *packet, int len)
/* Update TX descriptor */ /* Update TX descriptor */
rswitch_flush_dcache((uintptr_t)packet, len); rswitch_flush_dcache((uintptr_t)packet, len);
rswitch_invalidate_dcache((uintptr_t)desc, sizeof(*desc));
memset(desc, 0x0, sizeof(*desc)); memset(desc, 0x0, sizeof(*desc));
desc->die_dt = DT_FSINGLE; desc->die_dt = DT_FSINGLE;
desc->info_ds = len; desc->info_ds = len;

View File

@@ -90,7 +90,7 @@ config TFTP_WINDOWSIZE
config TFTP_TSIZE config TFTP_TSIZE
bool "Track TFTP transfers based on file size option" bool "Track TFTP transfers based on file size option"
depends on CMD_TFTPBOOT depends on CMD_TFTPBOOT
default y if (ARCH_OMAP2PLUS || ARCH_K3 || ARCH_RENESAS) default y if (ARCH_OMAP2PLUS || ARCH_K3)
help help
By default, TFTP progress bar is increased for each received UDP By default, TFTP progress bar is increased for each received UDP
frame, which can lead into long time being spent for sending frame, which can lead into long time being spent for sending