[PATCH 0/3] Synchronize DTC to 1.7.2

Marek Vasut marek.vasut at mailbox.org
Sun Nov 16 22:48:45 CET 2025


On 11/16/25 3:11 PM, Tom Rini wrote:
> On Sun, Nov 16, 2025 at 12:23:30AM +0100, Marek Vasut wrote:
>> On 11/13/25 7:49 PM, Tom Rini wrote:
>>
>> Hello Tom,
>>
>>>> CI does show that no boards went oversize . If there is some growth on
>>>> existing devices, maybe we can shrink that, but maintaining obsolete DTC
>>>> code base going forward and picking random updates into it, that will only
>>>> lead to increasing maintenance pain, so I don't want to do that.
>>>
>>> Yeah, it's not an easy spot. But I'm really not happy with growing main
>>> U-Boot almost everywhere by 2KiB - 4KiB, and SPL by ~512 bytes or more
>>> just to keep up. I do see that integratorcp_cm1136 barely grows at all,
>>> so maybe there's something that can be done more widely and just wasn't
>>> clear at first. m68k only grows an average of 500 bytes and MIPS is
>>> ~1KiB. PowerPC grows a lot. RISC-V a little.
>> I suspect this might have to do with DTO support. The imx8mp_dhcom do use
>> DTOs and the fdt_overlay.c code grew a lot.
>>
>> I also found out that if I patch out can_assume() and replace it with plain
>> 1 , then the size drops by 1-2 kiB, but that's probably not what we want to
>> do.
> 
> I'm not sure, maybe we do? Or maybe we need to look and have *one* place
> that confirms correct alignment and either fixes/complains

That's already part of new libfdt, that is also what triggered the 
various fixes I posted recently:

scripts/dtc/libfdt/fdt.c:       if ((uintptr_t)fdt & 7)
scripts/dtc/libfdt/fdt.c:       if ((uintptr_t)fdt & 7)

> , and then
> every follow-up location doesn't need to perform that (or possibly many
> other as well) validation checks. My impression from when I looked at
> the code last, a few year ago, was that it was designed with "validate
> with most? every? function" and we would be happy enough with "validate
> once".

If you can make that assumption -- that whatever we feed into libfdt is 
valid -- then we can simply patch out can_assume() .


More information about the U-Boot mailing list