[PATCH] fdt: fix phandles not copying when using templates

Simon Glass sjg at chromium.org
Wed Jul 1 14:07:26 CEST 2026


Hi Anshul,

On Mon, 29 Jun 2026 at 11:49, Anshul Dalal <anshuld at ti.com> wrote:
>
> The phandles used inside a template were not being copied to the node
> inserting the template, leading to a missing phandle error.
>
> The following example can be used to reproduce the issue:
>
> &binman {
>   some_template: template-0 {
>     ti-secure-rom {
>       content = <&some_data>;
>       keyfile = "some_key";
>     };
>     some_data: blob-ext {
>       optional;
>     };
>   };
>   output-bin {
>     insert-template = <&some_template>;
>   };
> };
>
> With the error 'binman: Node '/binman/output-bin/ti-secure-rom': Cannot
> find node for phandle 103' observed.
>
> Signed-off-by: Anshul Dalal <anshuld at ti.com>
> ---
>  tools/dtoc/fdt.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
> index 991a36b98796..6c3449095194 100644
> --- a/tools/dtoc/fdt.py
> +++ b/tools/dtoc/fdt.py
> @@ -780,7 +780,7 @@ class Node:
>              parent = self.GetFdt().LookupPhandle(phandle)
>              tout.debug(f'adding template {parent.path} to node {self.path}')
>              for node in parent.subnodes.__reversed__():
> -                dst = self.copy_node(node)
> +                dst = self.copy_node(node, True)

I believe this is the one you pinged about on irc?

Please can you add a test for this new behaviour.

>
>              tout.debug(f'merge props from {parent.path} to {self.path}')
>              self.merge_props(parent, False)
>
> ---
> base-commit: 63f6cc8ba618396cb9c0161bb5c6d217604ae1d0
> change-id: 20260629-binman_template_phandle_copy_fix-956bc3ce48d6
>
> Best regards,
> --
> Anshul Dalal <anshuld at ti.com>
>

Regards,
Simon


More information about the U-Boot mailing list