Re: Freescale MPC5554 device tree (was: cross-compiling Linux for PowerPC e200 core?)
From: Segher Boessenkool <hidden>
Date: 2010-03-13 03:21:39
The historical background here is that in the original OF spec, driver
matching was done on node name, and only then on compatible.
Essentially the node name was treated as an implicit first entry in
the compatible list. The the generic names convention came along, and
instead name became a human readable generic type for the device
("ethernet", "i2c", etc..).Even with the generic names recommended practice, matching is _still_ done on "name" first, and only then "compatible". It isn't expected that anything will try to match one the generic names, so for "new style" nodes that in effect means matching on "compatible" only, but it is important for compatibility.
That convention has been widely used since long before flat trees existed, but for some reason it was never really used for cpu nodes; they remained as "PowerPC,XXXX" or whatever.
The PowerPC binding was not updated for generic names.
Because the varying names of cpu nodes was sometimes awkward to deal with in bootloaders, we decided it would be sensible to apply the generic names convention here too, so "cpu@X". But then, the previous node name, which was treated as being prepended to compatible, should now explicitly be put into compatible.
Yes. Segher