Query Regarding NOR flash page size calculation s25fl512s

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

 



Hi All,

I have query and concern regarding page_size calculation for the
underlying NOR flashes.

I have spansion, ‘s25fl512s’ flash connected on my target.

With SFDP param reading, page_size for this flash is assigned as 0x200
using below routine.
   /* Page size: this field specifies 'N' so the page size = 2^N bytes. */
   params->page_size = bfpt.dwords[BFPT_DWORD(11)];
   params->page_size &= BFPT_DWORD11_PAGE_SIZE_MASK;
   params->page_size >>= BFPT_DWORD11_PAGE_SIZE_SHIFT;
   params->page_size = 1U << params->page_size;

As per the BG of S25FS512S_512_M flash and SFDP header info table
above calculation are correct.

But final value of the page_size for this flash is depends on the
configuration register CR3V[4], page buffer wrap, it can be either of
256 byte (0) or 512 byte (1).

For my case, this value is 0 and page_size becomes 0x100 bytes but
with SFDP header read, value for this is being assigned as 0x200.
Due to this, I am getting data corruption.

Please suggest, how can we check and proceed in these case. I guess
this is specific to spansion family of flashes.

IMO, for this flash we need to add flag SPI_NOR_SKIP_SFDP for entry of
this flash, s25fl512s.


Regards,
Yogesh

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux