[RFC PATCH 1/2] dt-bindings: mtd: Add bindings for describing concatinated MTD devices
Amit Kumar Mahapatra
amit.kumar-mahapatra at amd.com
Sat Oct 26 00:53:46 PDT 2024
This approach was suggested by Rob [1] during a discussion on Miquel's
initial approach [2] to extend the MTD-CONCAT driver to support stacked
memories.
Define each flash node separately with its respective partitions, and add
a 'concat-parts' binding to link the partitions of the two flash nodes that
need to be concatenated.
flash at 0 {
compatible = "jedec,spi-nor"
...
partitions {
compatible = "fixed-partitions";
concat-partition = <&flash0_partition &flash1_partition>;
flash0_partition: partition at 0 {
label = "part0_0";
reg = <0x0 0x800000>;
}
}
}
flash at 1 {
compatible = "jedec,spi-nor"
...
partitions {
compatible = "fixed-partitions";
concat-partition = <&flash0_partition &flash1_partition>;
flash1_partition: partition at 0 {
label = "part0_1";
reg = <0x0 0x800000>;
}
}
}
Based on the bindings the MTD-CONCAT driver need to be updated to create
virtual mtd-concat devices.
[1] https://lore.kernel.org/all/20191118221341.GA30937@bogus/
[2] https://lore.kernel.org/all/20191113171505.26128-4-miquel.raynal@bootlin.com/
Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra at amd.com>
---
.../mtd/partitions/fixed-partitions.yaml | 18 ++++++++++++++++++
.../bindings/mtd/partitions/partitions.yaml | 6 ++++++
2 files changed, 24 insertions(+)
diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
index 058253d6d889..df4ccb3dfeba 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
@@ -183,3 +183,21 @@ examples:
read-only;
};
};
+
+ - |
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ concat-parts = <&part0 &part1>;
+
+ part0: partition at 0 {
+ label = "flash0-part0";
+ reg = <0x0000000 0x100000>;
+ };
+
+ part1: partition at 100000 {
+ label = "flash1-part0";
+ reg = <0x0100000 0x200000>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml
index 1dda2c80747b..86bbd83c3f6d 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml
@@ -32,6 +32,12 @@ properties:
'#size-cells':
enum: [1, 2]
+ concat-parts:
+ description: List of MTD partitions phandles that should be concatenated.
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ minItems: 2
+ maxItems: 4
+
patternProperties:
"^partition(-.+|@[0-9a-f]+)$":
$ref: partition.yaml
--
2.34.1
More information about the linux-mtd
mailing list