1c66ec88fSEmmanuel VadotFlash partitions in device tree
2c66ec88fSEmmanuel Vadot===============================
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel VadotFlash devices can be partitioned into one or more functional ranges (e.g. "boot
5c66ec88fSEmmanuel Vadotcode", "nvram", "kernel").
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel VadotDifferent devices may be partitioned in a different ways. Some may use a fixed
8c66ec88fSEmmanuel Vadotflash layout set at production time. Some may use on-flash table that describes
9c66ec88fSEmmanuel Vadotthe geometry and naming/purpose of each functional region. It is also possible
10c66ec88fSEmmanuel Vadotto see these methods mixed.
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotTo assist system software in locating partitions, we allow describing which
13c66ec88fSEmmanuel Vadotmethod is used for a given flash device. To describe the method there should be
14c66ec88fSEmmanuel Vadota subnode of the flash device that is named 'partitions'. It must have a
15c66ec88fSEmmanuel Vadot'compatible' property, which is used to identify the method to use.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel VadotWhen a single partition is represented with a DT node (it depends on a used
18c66ec88fSEmmanuel Vadotformat) it may also be described using above rules ('compatible' and optionally
19c66ec88fSEmmanuel Vadotsome extra properties / subnodes). It allows describing more complex,
20c66ec88fSEmmanuel Vadothierarchical (multi-level) layouts and should be used if there is some
21c66ec88fSEmmanuel Vadotsignificant relation between partitions or some partition internally uses
22c66ec88fSEmmanuel Vadotanother partitioning method.
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel VadotAvailable bindings are listed in the "partitions" subdirectory.
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot
27*5def4c47SEmmanuel VadotDeprecated: partitions defined in flash node
28*5def4c47SEmmanuel Vadot============================================
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel VadotFor backwards compatibility partitions as direct subnodes of the flash device are
31c66ec88fSEmmanuel Vadotsupported. This use is discouraged.
32c66ec88fSEmmanuel VadotNOTE: also for backwards compatibility, direct subnodes that have a compatible
33c66ec88fSEmmanuel Vadotstring are not considered partitions, as they may be used for other bindings.
34