[RFC PATCH 1/2] dt-bindings: mtd: Add bindings for describing concatinated MTD devices

Miquel Raynal miquel.raynal at bootlin.com
Wed Nov 20 01:52:38 PST 2024


On 19/11/2024 at 17:02:33 GMT, "Mahapatra, Amit Kumar" <amit.kumar-mahapatra at 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 at 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 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>;
> 		};
> 	};
> };
>
>> 
>> >                 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>;
>> >                         }
>> >                 }
>> > }
>> 
>> 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



More information about the linux-mtd mailing list