[REGRESSION] scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c
Tom Rini
trini at konsulko.com
Fri Feb 6 15:28:21 CET 2026
On Fri, Feb 06, 2026 at 05:11:20PM +0800, Ye Li wrote:
> 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.
Thanks for the analysis.
> 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.
In SPL we must assume a perfect device tree has been passed to us, both
for design reasons (it's not a user interactively, we built it, or it
came from some other firmware stack) as well as practical (performing
the sanity tests would grow all platforms by several kilobytes and
overflow size constraints). I think the SCMI code needs to be reworked,
in short.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260206/76b8ac49/attachment.sig>
More information about the U-Boot
mailing list