[PATCH v2] scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c
Marek Vasut
marek.vasut at mailbox.org
Mon Jan 19 20:48:01 CET 2026
On 1/19/26 6:12 PM, Jamie.Gibbons at microchip.com wrote:
Hello Jamie,
>>> The error is: failed on fdt_open_into for DTO, i.e. overlay
>>> application
>>> fdt error. This was introduced by 0535e46d55d scripts/dtc: Update
>>> to
>>> upstream version v1.7.2-35-g52f07dcca47c, i.e. this patch. Please
>>> see
>>> the attached log which includes a `printenv` attached.
>> Does this fix your problem ?
>>
>> diff --git a/boot/image-fit.c b/boot/image-fit.c
>> index 2d040e38d97..1163e837d7e 100644
>> --- a/boot/image-fit.c
>> +++ b/boot/image-fit.c
>> @@ -2491,7 +2491,7 @@ int boot_get_fdt_fit(struct bootm_headers
>> *images,
>> ulong addr,
>> ov = map_sysmem(ovload, ovlen);
>>
>> ovcopylen = ALIGN(fdt_totalsize(ov), SZ_4K);
>> - ovcopy = malloc(ovcopylen);
>> + ovcopy = memalign(8, ovcopylen);
>> if (!ovcopy) {
>> printf("failed to duplicate DTO before
>> application\n");
>> fdt_noffset = -ENOMEM;
>>
> Apologies for the delayed response. The above proposed solution did not
> change/fix the issue. Any other suggestions would be greatly
> appreciated.
Look at this piece of code in boot/image-fit.c :
2489 debug("%s loaded at 0x%08lx len=0x%08lx\n",
2490 uname, ovload, ovlen);
2491 ov = map_sysmem(ovload, ovlen);
2492
2493 ovcopylen = ALIGN(fdt_totalsize(ov), SZ_4K);
2494 ovcopy = memalign(8, ovcopylen);
2495 if (!ovcopy) {
2496 printf("failed to duplicate DTO before
application\n");
2497 fdt_noffset = -ENOMEM;
2498 goto out;
2499 }
2500
2501 err = fdt_open_into(ov, ovcopy, ovcopylen);
2502 if (err < 0) {
2503 printf("failed on fdt_open_into for DTO\n");
This is where it fails. Is $ov or $ovcopy 4-byte aligned ? Enable the
debug() print at the beginning (or #define DEBUG at the beginning of
this file) to find out.
If $ov is 4-byte aligned, try to generate your fitImage with "mkimage
... -E -B 8 ..." , does that make any difference ?
More information about the U-Boot
mailing list