Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Amit Kumar Mahapatra and committed by
Miquel Raynal
5c543de8 6de23f81

+20
+20
Documentation/devicetree/bindings/mtd/partitions/partition.yaml
··· 57 57 user space from 58 58 type: boolean 59 59 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 + 60 69 align: 61 70 $ref: /schemas/types.yaml#/definitions/uint32 62 71 minimum: 2 ··· 188 179 compatible = "tfa-bl31"; 189 180 reg = <0x200000 0x100000>; 190 181 align = <0x4000>; 182 + }; 183 + 184 + part0: partition@400000 { 185 + part-concat-next = <&part1>; 186 + label = "part0_0"; 187 + reg = <0x400000 0x100000>; 188 + }; 189 + 190 + part1: partition@800000 { 191 + label = "part0_1"; 192 + reg = <0x800000 0x800000>; 191 193 }; 192 194 };