[RFC 09/10] mtd: spi-nor: Disable hybrid mode for SPANSION S25FS-S family

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Sat Dec 9 09:16:22 PST 2017


Hi Cyrille,

> -----Original Message-----
> From: Cyrille Pitchen [mailto:cyrille.pitchen at wedev4u.fr]
> Sent: Wednesday, December 06, 2017 4:28 PM
> To: Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>; linux-
> mtd at lists.infradead.org
> Cc: boris.brezillon at free-electrons.com; computersforpeace at gmail.com; Rajat
> Srivastava <rajat.srivastava at nxp.com>; dedekind1 at gmail.com
> Subject: Re: [RFC 09/10] mtd: spi-nor: Disable hybrid mode for SPANSION S25FS -
> S family
> 
> Hi Prabhakar,
> 
> Le 06/12/2017 à 09:15, Prabhakar Kushwaha a écrit :
> > The S25FS-S family physical sectors may be configured as a hybrid
> > combination of eight 4-kB parameter sectors at the top or bottom
> > of the address space with all but one of the remaining sectors
> > being uniform size.
> > The default status of the flash is the hybrid architecture.
> > The parameter sectors and the uniform sectors have different erase
> > commands.
> >
> > This patch disables the hybrid sector architecture which makes the
> > flash have uniform sector size and uniform erase command.
> >
> 
> This issue should be addressed in a generic way, not Spansion specific,
> by adding support of the optional Sector Map Parameter Table (SFDP).
> In case of non uniform memories, like this Spansion S25FS-S family or
> SST26, the Sector Map Parameter Table becomes mandatory as a SFDP table.
> 
> From the JESD216B specification, about the JEDEC Sector Map Parameter Table:
> """
> This table is required when a memory device:
> * Has sectors of more than one size
> * Or, does not allow all Erase Type commands to be applied to all sectors.
> """
> 

As I understand from Sector Map Parameter Table, It tell about the flash layout and which region support which erase type.

Flash layout can be configured using volatile or non-volatile registers. For e.g. Spansion S25FS has following combination
Device    CR3NV[3]    CR1NV[2]    CR3NV[1]     Index Value      Description
FS512S       0                  0                    1                01h                      4-kB sectors at bottom with remainder 256-kB sectors
                    0                  1                    1                03h                      4-kB sectors at top with remainder 256-kB sectors
                    1                  0                    1                05h                      Uniform 256-kB sectors
Once one of the combination programmed.  Sector Map Parameter Table help with type of erase supported. 

My requirement is for setting flash in particular configuration i.e. "05" --> Uniform 256-kb. This requirement is getting met with existing patch. 
I don’t want "uniform 256-kb" as default  in spi-nor.c as different user may have different requirements. 
How to achieve this? Device tree ??

--pk





More information about the linux-mtd mailing list