Subject: of overlay: how to insert new nodes with references to it

Hello folks,


I'm trying to use an overlay to add several new nodes with references
between them (eg. a gpio controller and devices using the gpios).

Problem: dtc adds my new 'gpio1' node to the __fixups__ list, which is
used for resolving symbols against the live tree - obviously it can't
exist there, since it's added by the overlay. Therefore applying the
overlay fails:

"OF: resolver: node label 'gpio1' not found in live devicetree
symbols table"

Shouldn't the symbol be added to __local_fixups__ instead of __fixups__
?
How can I force dtc to do that ?


--mtx

--
---
Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
---
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
[email protected] -- +49-151-27565287


Subject: Re: of overlay: how to insert new nodes with references to it

On 18.02.21 10:14, Enrico Weigelt, metux IT consult wrote:

Hi folks,


answering myself ;-)

> Problem: dtc adds my new 'gpio1' node to the __fixups__ list, which is
> used for resolving symbols against the live tree - obviously it can't
> exist there, since it's added by the overlay. Therefore applying the
> overlay fails:
>
>     "OF: resolver: node label 'gpio1' not found in live devicetree
>      symbols table"
>
> Shouldn't the symbol be added to __local_fixups__ instead of __fixups__
> ?
> How can I force dtc to do that ?

after playing around a while, found out that I need to use full path
references instead of labels or just node names, eg.

gpios = <&{/fragment@0/__overlay__/gpio1} 0 GPIO_ACTIVE_HIGH>;


--mtx

--
---
Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
---
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
[email protected] -- +49-151-27565287