[reorganized quoting] On Fri, Oct 15, 2010 at 12:48:55PM -0500, David VomLehn (dvomlehn) wrote: > > David Daney wrote: > > On 10/15/2010 10:30 AM, David VomLehn (dvomlehn) wrote: > > > > > If this is really a question of needing to dynamically generate the > > > device tree, then you have no choice. It's worth mentioning, though, > > > that the device tree compiler (dtc) does have the ability to include > > > files, making it easier to create and maintain device trees that are > > > static but which share devices. > > > > Some experimentation will be necessary. We will have to patch in some > > properties like the Ethernet MAC address as that is stored in a > > separate eeprom. Also some boards have pluggable I/O modules, so we > > may not know at dtb generation time what is there. If it touches firmware, then you'll need to be careful about getting painted into a corner with an over-complex boot firmware design, but yet this sounds like an appropriate approach. > We're in much the same situation. Almost all of the device tree is > static, but we add on/overwrite little bits. I'm not the device tree > expert, but if I understand correctly, you can even have dtc emit labels > that you can reference to make the fix-up simpler. The labels are not available at runtime, but properties in the 'aliases' node can (and should) be used to avoid having to depend on the full path to a device node. It has been on my to-do list for a while to add automatic parsing of aliases when finding a node by full path. g.