[U-Boot] [PATCH] sf: Fix s25fs512s erase size and remove SECT_4K flag

Suresh Gupta suresh.gupta at nxp.com
Wed Apr 26 07:47:12 UTC 2017



> -----Original Message-----
> From: Jagan Teki [mailto:jagannadh.teki at gmail.com]
> Sent: Wednesday, April 26, 2017 1:01 PM
> To: Suresh Gupta <suresh.gupta at nxp.com>
> Cc: u-boot at lists.denx.de; Jagan Teki <jagan at openedev.com>; york sun
> <york.sun at nxp.com>; Yao Yuan <yao.yuan at nxp.com>
> Subject: Re: [U-Boot] [PATCH] sf: Fix s25fs512s erase size and remove SECT_4K
> flag
> 
> On Tue, Apr 25, 2017 at 2:51 PM, Suresh Gupta <suresh.gupta at nxp.com>
> wrote:
> > As per data sheet, S25FS512S support Uniform sector option or erase
> > size of 256 kbytes and Page Programming buffer of
> > 256 or 512 Bytes. So, flag SECT_4K have no significance for this
> > flash.
> >
> > Signed-off-by: Suresh Gupta <suresh.gupta at nxp.com>
> > ---
> >  drivers/mtd/spi/spi_flash_ids.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mtd/spi/spi_flash_ids.c
> > b/drivers/mtd/spi/spi_flash_ids.c index edca94e..7ca33e8 100644
> > --- a/drivers/mtd/spi/spi_flash_ids.c
> > +++ b/drivers/mtd/spi/spi_flash_ids.c
> > @@ -101,7 +101,7 @@ const struct spi_flash_info spi_flash_ids[] = {
> >         {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128, RD_FULL |
> WR_QPP) },
> >         {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL |
> WR_QPP) },
> >         {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512, RD_FULL
> | WR_QPP | SECT_4K) },
> > -       {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024, 512, RD_FULL |
> WR_QPP | SECT_4K) },
> > +       {"s25fs512s",      INFO6(0x010220, 0x4d0081, 256 * 1024, 256, RD_FULL |
> WR_QPP) },
> 
> Did you verify this? because we have an issue about this part number[1]
> 
> [1] https://lists.denx.de/pipermail/u-boot/2016-December/276032.html
> 

I tested this patch on LS1012ARDB, LS1046ARDB and Ls1088ARDB boards having same flash. 
I do aware of [1] but as per my testing all works fine with erase size of 256  and block size of 256/512.

As per datasheet,  [http://www.cypress.com/file/216376/download] also mention below, 
The uniform erase blocks are 256. So anyhow we required this patch even we need to disable 4KB erase. 

Erase
– Hybrid sector option
– Physical set of eight 4-kbytes sectors and one
224-kbytes sector at the top or bottom of address
space with all remaining sectors of 256 kbytes
– Uniform sector option
– Uniform 256 kbyte blocks

> thanks!
> --
> Jagan Teki
> Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream
> Maintainer Hyderabad, India.


More information about the U-Boot mailing list