On 19/11/2024 at 17:02:33 GMT, "Mahapatra, Amit Kumar" amit.kumar-mahapatra@amd.com wrote:
Hello Miquel,
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@0 { compatible = "jedec,spi-nor" ... partitions {
Wrong indentation here and below which makes the example hard to read.
Sorry about that. I am redefining both the flash nodes here with proper indentation.
flash@0 { compatible = "jedec,spi-nor" ... partitions { compatible = "fixed-partitions"; concat-partition = <&flash0_partition &flash1_partition>; flash0_partition: partition@0 { label = "part0_0"; reg = <0x0 0x800000>; }; }; };
flash@1 { compatible = "jedec,spi-nor" ... partitions { compatible = "fixed-partitions"; concat-partition = <&flash0_partition &flash1_partition>;
flash1_partition: partition@0 { label = "part0_1"; reg = <0x0 0x800000>; };
}; };
compatible = "fixed-partitions"; concat-partition = <&flash0_partition &flash1_partition>; flash0_partition: partition@0 { label = "part0_0"; reg = <0x0 0x800000>; } }
} flash@1 { compatible = "jedec,spi-nor" ... partitions { compatible = "fixed-partitions"; concat-partition = <&flash0_partition &flash1_partition>; flash1_partition: partition@0 { label = "part0_1"; reg = <0x0 0x800000>; } } }
This approach has a limitation I didn't think about before: you cannot use anything else than fixed partitions as partition parser.
Yes, that's correct—it won't function when partitions are defined via the command line. In my opinion, we should start by adding support for fixed partitions, add comments in code stating the same. If needed, we can later extend the support to dynamic partitions as well.
New thought. What if it was a pure fixed-partition capability? That's actually what we want: defining fixed partitions through device boundaries. It automatically removes the need for further dynamic partition extensions.
Thanks, Miquèl