Skip to content

Commit 5c543de

Browse files
Amit Kumar Mahapatramiquelraynal
authored andcommitted
dt-bindings: mtd: Describe MTD partitions concatenation
The AMD QSPI controller supports an advanced connection modes called Stacked mode which allow the controller to treat two different flashes as one storage. In Stacked connection mode flashes share the same SPI bus, but different CS line, controller driver asserts the CS of the flash to which it needs to communicate. Stacked mode is a software abstraction rather than a controller feature or capability. At any given time, the controller communicates with one of the two connected flash devices, as determined by the requested address and data length. If an operation starts on one flash and ends on the other, the mtd layer needs to split it into two separate operations and adjust the data length accordingly. For more information on the modes please feel free to go through the controller flash interface below [1]. To support stacked mode, the existing MTD concat driver has been extended to be more generic, enabling multiple sets of MTD partitions to be virtually concatenated, with each set forming a distinct logical MTD device. A new Device Tree property is introduced to facilitate this, containing phandles of the partitions to be concatenated with the one where the property is defined. This approach supports multiple sets of concatenated partitions. [1] https://docs.amd.com/r/en-US/am011-versal-acap-trm/QSPI-Flash-Device-Interface Suggested-by: Miquel Raynal <miquel.raynal@bootlin.com> Suggested-by: Rob Herring <robh@kernel.org> Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
1 parent 6de23f8 commit 5c543de

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Documentation/devicetree/bindings/mtd/partitions/partition.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ properties:
5757
user space from
5858
type: boolean
5959

60+
part-concat-next:
61+
description: List of phandles to MTD partitions that need be concatenated
62+
with the current partition.
63+
$ref: /schemas/types.yaml#/definitions/phandle-array
64+
minItems: 1
65+
maxItems: 16
66+
items:
67+
maxItems: 1
68+
6069
align:
6170
$ref: /schemas/types.yaml#/definitions/uint32
6271
minimum: 2
@@ -180,4 +189,15 @@ examples:
180189
reg = <0x200000 0x100000>;
181190
align = <0x4000>;
182191
};
192+
193+
part0: partition@400000 {
194+
part-concat-next = <&part1>;
195+
label = "part0_0";
196+
reg = <0x400000 0x100000>;
197+
};
198+
199+
part1: partition@800000 {
200+
label = "part0_1";
201+
reg = <0x800000 0x800000>;
202+
};
183203
};

0 commit comments

Comments
 (0)