[REGRESSION] scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c
Ye Li
ye.li at oss.nxp.com
Fri Feb 6 10:11:20 CET 2026
Hi Tom, Marek,
On 1/8/2026 10:12 PM, Tom Rini wrote:
> On Thu, Jan 08, 2026 at 07:21:10PM +0530, Anshul Dalal wrote:
>> CC+: TI folks
>>
>> On Thu Jan 8, 2026 at 7:15 PM IST, Anshul Dalal wrote:
>>> Hi all,
>>>
>>> On Wed Dec 3, 2025 at 1:02 AM IST, Marek Vasut wrote:
>>>> Synchronize local copy of DTC with Linux 6.17 . This includes the
>>>> following picked and squashed commits from Linux kernel. The squash
>>>> was necessary, since the DTC here contains changes which were also
>>>> part of DTC in Linux alraedy, and the squash helped resolve those
>>>> without going back and forth with the changes.
>>>>
>>>> The following commits from Linux are picked:
>>>>
>>>> 8f324cd712df7 # scripts/dtc: consolidate include path options in Makefile
>>>> b5b3d9b63b0ee # scripts/dtc: Add yamltree.c to dtc sources
>>>> 7d97a76f226d6 # scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4
>>>> ea6f243be74e5 # scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145
>>>> 02d435d4eccd8 # scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693
>>>> 6e321b7637396 # scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73
>>>> 9f19ec91a7a35 # scripts/dtc: dtx_diff - add color output support
>>>> 8287d642f38d1 # scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a
>>>> 4c52deef9225d # scripts/dtc: Revert "yamltree: Ensure consistent bracketing of properties with phandles"
>>>> 5d3827e1452ed # scripts/dtc: Remove unused makefile fragments
>>>> 40dd266887654 # scripts/dtc: Update to upstream version v1.6.0-2-g87a656ae5ff9
>>>> 8d4cf6b6acb59 # scripts/dtc: use pkg-config to include <yaml.h> in non-standard path
>>>> b9bf9ace5ae90 # scripts/dtc: Update to upstream version v1.6.0-11-g9d7888cbf19c
>>>> 69a883b6f5ac0 # scripts/dtc: dtx_diff - make help text formatting consistent
>>>> 8f829108b8aed # scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting
>>>> b39b4342ac495 # scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121
>>>> 93c6424c486b3 # scripts: dtc: Fetch fdtoverlay.c from external DTC project
>>>> 0dd574a1d75c3 # scripts/dtc: Update to upstream version v1.6.0-51-g183df9e9c2b9
>>>> ec38b5df8a231 # scripts: dtc: Build fdtoverlay tool
>>>> a0c8c431411f5 # scripts: dtc: Remove the unused fdtdump.c file
>>>> e7dc653d4e890 # scripts/dtc: Add missing fdtoverlay to gitignore
>>>> d2bf5d2e3f09c # scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8
>>>> a60878f5532d0 # scripts/dtc: dtx_diff: remove broken example from help text
>>>> 8b739d8658a9b # scripts/dtc: Call pkg-config POSIXly correct
>>>> b6eeafa67df00 # scripts/dtc: Update to upstream version v1.6.1-63-g55778a03df61
>>>> f96cc4c787588 # scripts/dtc: Update to upstream version v1.6.1-66-gabbd523bae6e
>>>> 09ab9c092ef2b # scripts/dtc: Update to upstream version v1.7.0-93-g1df7b047fe43
>>>> ded8a5a498f2d # scripts/dtc: Update to upstream version v1.7.0-95-gbcd02b523429
>>>> ee6ff6fca7e71 # scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c
>>>>
>>>> This also includes forward port of U-Boot commit
>>>> e8c2d25845c7 ("libfdt: Revert 6dcb8ba4 from upstream libfdt")
>>>> to avoid binary size growth.
>>>>
>>>> Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
>>>> ---
>>>> Cc: Adriano Cordova <adrianox at gmail.com>
>>>> Cc: Andrew Goodbody <andrew.goodbody at linaro.org>
>>>> Cc: Christian Marangi <ansuelsmth at gmail.com>
>>>> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
>>>> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
>>>> Cc: Patrice Chotard <patrice.chotard at foss.st.com>
>>>> Cc: Sam Edwards <cfsworks at gmail.com>
>>>> Cc: Simon Glass <sjg at chromium.org>
>>>> Cc: Tom Rini <trini at konsulko.com>
>>>> Cc: u-boot at lists.denx.de
>>>
>>> We observed several boot failures on K3 platforms since the addition of
>>> this patch at the R5 SPL stage, the issue seems to be the newly added
>>> check for alignment in fdt_check_header in scripts/dtc/libfdt/fdt.c:95
>>> but the binaries generated don't have 8-byte aligned FDTs.
>>>
>>> I have been able to reproduce the issue on AM62p EVM with a clean
>>> working directory (this is important since any minor change to the
>>> SPL binary size such as by the added "-dirty" tag could make the address
>>> aligned) and GCC 13.3[1].
>>>
>>> Are we ensuring the fdt present in the SPL binary is properly aligned?
>
> Yes, the device tree must be 8-byte aligned, this is a requirement of
> the device tree spec itself that we had been lax over until now.
We found iMX95/iMX94 EVK boards are broken after this fdt lib update.
The root cause is default value of CONFIG_SPL_OF_LIBFDT_ASSUME_MASK is
0xff. In this update, fdt_check_node_offset_ is changed as below to
check the CONFIG_SPL_OF_LIBFDT_ASSUME_MASK. When it is 0xff,
fdt_check_node_offset_ will skip offset check.
int fdt_check_node_offset_(const void *fdt, int offset)
{
- if ((offset < 0) || (offset % FDT_TAGSIZE)
- || (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE))
+ if (!can_assume(VALID_INPUT)
+ && ((offset < 0) || (offset % FDT_TAGSIZE)))
+ return -FDT_ERR_BADOFFSET;
+
+ if (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)
return -FDT_ERR_BADOFFSET;
This cause a problem to SCMI agent uclass driver. In scmi_bind_protocols
function, a ofnode_null() is used when creating scmi-base.0 device to
bind with driver. This null node which has offset value -1 can
successfully pass the fdt_check_node_offset_, so causes crash in
device_probe()->dev_power_domain_on() when finding power-domains phandle.
I notice the default value of CONFIG_OF_LIBFDT_ASSUME_MASK used by
u-boot is 0. So why does SPL have different default value? Should we
change the SPL default value to 0 to align with u-boot? Otherwise, any
idea for fix.
Best regards,
Ye Li
>
More information about the U-Boot
mailing list