On Thu, Jan 21, 2021 at 11:04:26AM +0530, Viresh Kumar wrote: > On 20-01-21, 23:14, Frank Rowand wrote: > > It is a convenient FDT to use because it provides the frame that the overlays > > require to be applied. It is fortunate that fdtoverlay does not reject the use > > of an FDT with overlay metadata as the base blob. > > > This is probably a good idea instead of depending on the leniency of fdtoverlay. > > I believe fdtoverlay allows that intentionally, that would be required > for the cases where we have a hierarchy of extension boards or > overlays. Um.. no. > A platform can have a base dtb (with /plugin/;), then we can have an > overlay (1) for an extension board (with /plugin/;) and then an > overlay (2) for an extension board for the previous extension board. > > In such a case overlay-(2) can't be applied directly to the base dtb > as it may not find all the nodes it is trying to update. And so > overlay-(2) needs to be applied to overlay-(1) and then the output of > this can be applied to the base dtb. No, this is the wrong way around. The expected operation here is that you apply overlay (1) to the base tree, giving you, say, output1.dtb. output1.dtb is (effectively) a base tree itself, to which you can then apply overlay-(2). What you're talking about is "merging" overlays: combingin overlay (1) and (2) into overlay-(X) which would have the same effect applied to base.dtb as (1) and (2) applied in sequence. Merging overlays is something that could make sense, but fdtoverlay will not do it at present. > This is very similar to what I tried with the intermediate.dtb > earlier. > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson