Hi Tom, On Fri, 6 Dec 2024 at 07:13, Tom Rini <tr...@konsulko.com> wrote: > > On Fri, Dec 06, 2024 at 06:11:12AM -0700, Simon Glass wrote: > > [snip] > > A comment in that function says that we assume there is space after the > > existing fdt to use for padding, with the padding size set to > > CONFIG_SYS_FDT_PAD > > > > However, there is no guarantee that this space is available. If using > > the control FDT, then global_data is immediately above it, so expanding > > the FDT and adding FDT properties will cause U-Boot to fail. > > This sounds like a generic issue and should be fixed outside of a "Pi" > series.
Yes and I know you keep asking for multiple smaller series, but I've explained that keeping track of all that for months at a time is too challenging for me. > > > diff --git a/dts/Kconfig b/dts/Kconfig > > index 41a758e83a6..360611edd01 100644 > > --- a/dts/Kconfig > > +++ b/dts/Kconfig > > @@ -219,6 +219,17 @@ config OF_OMIT_DTB > > This is used for boards which normally provide a devicetree via a > > runtime mechanism (such as OF_BOARD), to avoid confusion. > > > > +config OF_EXPAND > > + hex # "Amount to allow the control FDT to expand" > > No "# ..." because the help explains what to do here, if needed. OK > > > + default SYS_FDT_PAD if OF_LIBFDT > > + default 0 > > A "default 0" is almost always wrong. In this case it is correct, since it means not to add any extra space for the FDT. > > > + help > > + Some boards make use of the control FDT to boot an OS, thus when > > + image_setup_libfdt() adds extra things to the end of the FDT, there > > + needs to be enough space. > > + > > + Set this to the number of bytes of extra space required for the FDT. > > We should just use SYS_FDT_PAD directly and not add a new option. I thought I read somewhere that fdt_high == -1 should not be used. So for most boards, this padding is not needed? Regards, Simon