Re: [RFC PATCH 35/77] Add support for FDT_IMPORT_SYM dtb tag

From: Herve Codina

Date: Mon Jan 19 2026 - 09:36:36 EST


Hi David,

On Thu, 15 Jan 2026 17:41:11 +1100
David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Jan 12, 2026 at 03:19:25PM +0100, Herve Codina wrote:
> > The FDT_IMPORT_SYM dtb tag is a meta-data tag defining an imported
> > symbol. It can be present globally in an addon dtb (i.e. outside nodes
> > definition) meaning that this symbol needs to be resolved when the dtb
> > is applied.
> >
> > The tag is followed by two values and possible alignment paddings:
> > - name (string including \0)
> > The import symbol name. I.e. the name used to reference this
> > imported symbol.
> > - padding:
> > Padding (0x00) added to have the next value aligned on 32bit.
> > - compatible (string including \0)
> > The compatible string that can be used for symbol resolution.
> > This string can be an empty string if it is not relevant.
> > - padding:
> > Padding (0x00) added to have the next value aligned on 32bit.
> >
> > Example:
> > FDT_IMPORT_SYM 'foo1' 0x00 0x00 0x00 'bar,foo'
> >
> > This means that 'foo1' is an imported symbol and it is 'bar,foo'
> > compatible.
> >
> > This is what is encoded in the dtb when the related dts has the
> > following imported symbol defined:
> > /import/ foo1: "bar,foo";
> >
> > If several symbols are imported, several FDT_IMPORT_SYM are present.
> > Each of them defining one imported symbol. For instance, importing
> > 'foo1' ("bar,foo" compatible) and 'baz1' ("bar,baz" compatible) leads
> > to the following sequence:
> > FDT_IMPORT_SYM 'foo1' 0x00 0x00 0x00 'bar,foo'
> > FDT_IMPORT_SYM 'baz1' 0x00 0x00 0x00 'bar,baz'
> >
> > If FDT_IMPORT_SYM tags are present in the dtb, they are present after
> > the root node definition (i.e. after the FDT_END_NODE related to the
> > first FDT_BEGIN_NODE).
> >
> > Add support for this new dtb tag.
>
> Since these are global to the whole tree, would a new block make more
> sense?

I don't know.

Exports symbols are in node blocs and that makes sense. I wouldn't expect
imports out of the dtb "structure block".

They could be grouped into an other tag, FDT_INFO_DTB for instance (part of
the "structure block").

If you think that a new block is really relevant, I can implement this new
block.

Best regards,
Hervé