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

Suresh Gupta suresh.gupta at nxp.com
Thu Apr 27 05:17:41 UTC 2017



> -----Original Message-----
> From: York Sun [mailto:york.sun at nxp.com]
> Sent: Thursday, April 27, 2017 4:35 AM
> To: Suresh Gupta <suresh.gupta at nxp.com>; Jagan Teki
> <jagannadh.teki at gmail.com>
> Cc: u-boot at lists.denx.de; Jagan Teki <jagan at openedev.com>; Yao Yuan
> <yao.yuan at nxp.com>
> Subject: Re: [U-Boot] [PATCH] sf: Fix s25fs512s erase size and remove SECT_4K
> flag
> 
> On 04/26/2017 12:47 AM, Suresh Gupta wrote:
> >
> >
> >> -----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
> >
> Suresh,
> 
> Did you test your patch after removing CONFIG_SPI_FLASH_BAR? Why doesn't
> this flash support BAR commands? How did it work before broken?
> 

York, the flash s25fs512s support 32 bit address to handle >16M memory access. 
With and without CONFIG_SPI_FLASH_BAR the u-boot only access up to 16M of flash memory 
for this particular flash which is installed on our boards (LS1012ARDB, LS1046ARDB, LS1088ARDB, LS2088ARDB). 
So, anyhow we need to remove this CONFIG_SPI_FLASH_BAR from our boards configs. 

For accessing >16M of flash memory (to support 32 bit address) I already start discussion [2] with Jagan. Hopefully 
We have a solution for that in near future.  
[2] https://patchwork.ozlabs.org/patch/676152/

Thanks 
SuresH



More information about the U-Boot mailing list