Commit df1d1788 authored by Brian Norris's avatar Brian Norris

dt-bindings: mtd: make partitions doc a bit more generic

Currently the only documented partitioning is "fixed-partitions" but
there are more methods in use that we may want to support in the future.
Mention them and make it clear Fixed Partitions are just a single case.
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Acked-by: default avatarRob Herring <robh@kernel.org>
parent 1eeef2d7
Representing flash partitions in devicetree Flash partitions in device tree
===============================
Partitions can be represented by sub-nodes of an mtd device. This can be used Flash devices can be partitioned into one or more functional ranges (e.g. "boot
code", "nvram", "kernel").
Different devices may be partitioned in a different ways. Some may use a fixed
flash layout set at production time. Some may use on-flash table that describes
the geometry and naming/purpose of each functional region. It is also possible
to see these methods mixed.
To assist system software in locating partitions, we allow describing which
method is used for a given flash device. To describe the method there should be
a subnode of the flash device that is named 'partitions'. It must have a
'compatible' property, which is used to identify the method to use.
We currently only document a binding for fixed layouts.
Fixed Partitions
================
Partitions can be represented by sub-nodes of a flash device. This can be used
on platforms which have strong conventions about which portions of a flash are on platforms which have strong conventions about which portions of a flash are
used for what purposes, but which don't use an on-flash partition table such used for what purposes, but which don't use an on-flash partition table such
as RedBoot. as RedBoot.
The partition table should be a subnode of the mtd node and should be named The partition table should be a subnode of the flash node and should be named
'partitions'. This node should have the following property: 'partitions'. This node should have the following property:
- compatible : (required) must be "fixed-partitions" - compatible : (required) must be "fixed-partitions"
Partitions are then defined in subnodes of the partitions node. Partitions are then defined in subnodes of the partitions node.
For backwards compatibility partitions as direct subnodes of the mtd device are For backwards compatibility partitions as direct subnodes of the flash device are
supported. This use is discouraged. supported. This use is discouraged.
NOTE: also for backwards compatibility, direct subnodes that have a compatible NOTE: also for backwards compatibility, direct subnodes that have a compatible
string are not considered partitions, as they may be used for other bindings. string are not considered partitions, as they may be used for other bindings.
#address-cells & #size-cells must both be present in the partitions subnode of the #address-cells & #size-cells must both be present in the partitions subnode of the
mtd device. There are two valid values for both: flash device. There are two valid values for both:
<1>: for partitions that require a single 32-bit cell to represent their <1>: for partitions that require a single 32-bit cell to represent their
size/address (aka the value is below 4 GiB) size/address (aka the value is below 4 GiB)
<2>: for partitions that require two 32-bit cells to represent their <2>: for partitions that require two 32-bit cells to represent their
size/address (aka the value is 4 GiB or greater). size/address (aka the value is 4 GiB or greater).
Required properties: Required properties:
- reg : The partition's offset and size within the mtd bank. - reg : The partition's offset and size within the flash
Optional properties: Optional properties:
- label : The label / name for this partition. If omitted, the label is taken - label : The label / name for this partition. If omitted, the label is taken
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment