Device tree notes

Sources: -
https://www.kernel.org/doc/html/latest/devicetree/usage-model.html

Interesting points:

- Any string used in a 'compatible' property must be documented
  [...] in Documentation/devicetree/bindings.

Details of evaluation

- The 'compatible' property is compared with the dt_compat list in
  struct machine_desc. ARM: arch/arm/include/asm/mach/arch.h ->
  Most compatible is searched and returned.  Or NULL if none is
  found.

- Early configuration:
 * kernel parameters, such as boot args, and initrd-{start,end}
   reconnaissance
 * multiple early scans determine information on hardware

- Device population
 * assuming that each node having a 'compatible' property is a
   device and assuming that any node at the root is directly attached
   to the processor bus -> Linux allocates a platform_device
   (optionally later a platform_driver)

This documentation itself is quite confusing.  Reading it requires
to already know about some internals (e.g. name of data structures).