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