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).