Re: Add stacked and parallel memories support in spi-nor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amit,

amit.kumar-mahapatra@xxxxxxx wrote on Thu, 10 Oct 2024 09:17:58 +0000:

> Hello Miquel,
> 
> > > - The stacked-memories DT bindings will contain the phandles of the flash nodes  
> > connected in stacked mode.  
> > >
> > > - The first flash node will contain the mtd partition that would have
> > > the cross over memory staring at a memory location in the first flash
> > > and ending at some memory location of the 2nd flash  
> > 
> > I don't like that much. Describing partitions past the actual device sounds wrong. If
> > you look into [1] there is a suggestion from Rob to handle this case using a property
> > that tells us there is a continuation, so from a software perspective we can easily
> > make the link, but on the hardware description side the information are correct.  
> 
> I reviewed Rob's suggestions in [1], and I need to examine the MTD layer 
> to determine how this can be implemented from a software perspective. 
> For reference, here is Rob's suggestion:
> 
> Describe each device and partition separately and add link(s) from one 
> partition to the next 
> 
> flash0 {
>   partitions {
>     compatible = "fixed-partitions";
>     concat-partition = <&flash1_partitions>;
>     ...
>   };
> };
> 
> flash1 {
>   flash1_partition: partitions {
>     compatible = "fixed-partitions";
>     ...
>   };
> };
> 
> > 
> > If this description is accepted, then fine, you can deprecate the "stacked-memories"
> > property.  
> 
> I believe that in addition to Rob's description, we should also include 
> the 'stacked-memories' property. This property helps us identify which 
> flashes are stacked, while Rob's suggestion explains how the partitions 
> within the stacked flashes are connected.
> 
> For example, if we have three flashes connected to an SPI host, with 
> flash@0 and flash@1 operating in stacked mode and flash@2 functioning as a 
> standalone flash, the Device Tree binding might look something like this: 
> Please share your thoughts on this.
> 
> spi@0 {
>   ...
>   flash@0 {
>     compatible = "jedec,spi-nor"
>     reg = <0x00>;
>     stacked-memories = <&flash@0 &flash@1>;
>     spi-max-frequency = <50000000>;
>     ...
>         flash0_partition: partitions {
>             compatible = "fixed-partitions";
> 	concat-partition = <&flash1_partitions>;	
>         	partition@0 {
>           	    label = "Stacked-Flash-1";
>                 reg = <0x0 0x800000>;
> 	}
>         }
>     }
>   flash@1 {
>     compatible = "jedec,spi-nor"
>      reg = <0x01>;
>     spi-max-frequency = <50000000>;
>     ...
>         flash1_partition: partitions {
>             compatible = "fixed-partitions";
> 	concat-partition = <&flash0_partitions>;	
>         	partition@0 {
>           	    label = " Stacked-Flash-2";
>                 reg = <0x0 0x800000>;
> 	}
>         }
>   }
> 
>   flash@2 {
>     compatible = "jedec,spi-nor"
>      reg = <0x01>;
>     spi-max-frequency = <50000000>;
>     ...
>         partitions {
>             compatible = "fixed-partitions";
> 	concat-partition = <&flash0_partitions>;	
>         	partition@0 {
>           	    label = "Single-Flash";
>                 reg = <0x0 0x800000>;
> 	}
>         }
>   }

I'm sorry but this is pretty messed up. The alignments are wrong, I
believe the labels are wrong, the reg properties as well. Can you
please work on this example and send an updated version?

Thanks,
Miquèl





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux