[PATCH 01/10] ARM: stm32: Add STM32MP13xx SPL Kconfig options
Marek Vasut
marek.vasut at mailbox.org
Tue Jul 29 06:05:33 CEST 2025
On 6/29/25 9:08 PM, Marek Vasut wrote:
Hi,
>>> diff --git a/arch/arm/mach-stm32mp/Kconfig.13x b/arch/arm/mach-
>>> stm32mp/Kconfig.13x
>>> index bc8b3f8cf77..cecf9e3b8c7 100644
>>> --- a/arch/arm/mach-stm32mp/Kconfig.13x
>>> +++ b/arch/arm/mach-stm32mp/Kconfig.13x
>>> @@ -20,7 +20,8 @@ config TARGET_ST_STM32MP13X
>>> endchoice
>>> config TEXT_BASE
>>> - default 0xC0000000
>>> + default 0xC0000000 if TFABOOT
>>> + default 0xC0100000 if !TFABOOT
>>> config PRE_CON_BUF_ADDR
>>> default 0xC0800000
>>
>>
>> I don't understood why you modify TEXT_BASE here.
> Loading of data to the very beginning of DRAM may fail in case the data
> are wrapped in various container image types, because the image loader
> in SPL may use the area before the data load address to load for example
> image header(s) in there. This is one example of such header loading,
> which is triggered on STM32MP13xx in SPL:
>
> https://source.denx.de/u-boot/u-boot/-/blob/master/include/spl_load.h#L18
>
> "
> 18 struct legacy_img_hdr *header =
> 19 spl_get_load_buffer(-sizeof(*header),
> sizeof(*header));
> 20 ulong base_offset, image_offset, overhead;
> 21 int read, ret;
> 22
> 23 log_debug("\nloading hdr from %lx to %p\n", (ulong)offset,
> header);
> 24 read = info->read(info, offset, ALIGN(sizeof(*header),
> 25 spl_get_bl_len(info)), header);
> "
>
> The header is loaded at CONFIG_TEXT_BASE - sizeof(*header). If
> CONFIG_TEXT_BASE is start of DRAM with no usable memory right below it
> AND sizeof(*header) is non-zero, then this loading will fail.
>
> That's why the TEXT_BASE is shifted a bit higher in this patch.
Any news on this series ? It would be good to move this along.
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list