On 22 June 2016 at 15:44, Yao Yuan <yao.y...@nxp.com> wrote: > On 06/22/2016 06:08 PM, Michael Trimarchi wrote: >> On Wed, Jun 22, 2016 at 10:00:49AM +0000, Yao Yuan wrote: >> > On 06/22/2016 03:59 PM, Michael Trimarchi wrote: >> > > The S25FS128 is part of 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. This rework a bit commit >> > > >> > > 80c1bfd2332e71dfe669cac53ba06b7435a7ca39 >> > > >> > > and add this jedec part number >> > > >> > > Signed-off-by: Michael Trimarchi <mich...@amarulasolutions.com> >> > > --- >> > > drivers/mtd/spi/spi_flash.c | 18 ++++++++++++++++-- >> > > 1 file changed, 16 insertions(+), 2 deletions(-) >> > > >> > > diff --git a/drivers/mtd/spi/spi_flash.c >> > > b/drivers/mtd/spi/spi_flash.c index >> > > 64d4e0f..c993588 100644 >> > > --- a/drivers/mtd/spi/spi_flash.c >> > > +++ b/drivers/mtd/spi/spi_flash.c >> > > @@ -972,6 +972,21 @@ int spi_flash_decode_fdt(const void *blob, >> > > struct spi_flash *flash) #endif /* CONFIG_IS_ENABLED(OF_CONTROL) */ >> > > >> > > #ifdef CONFIG_SPI_FLASH_SPANSION >> > > + >> > > +inline int is_spansion_s25fss_family(u16 jedec, u16 ext_jedec) { >> > > + switch (jedec) { >> > > + case 0x0219: >> > > + case 0x0220: >> > > + case 0x2018: >> > > + if ((ext_jedec & 0xff00) == 0x4d00) >> > > + return 1; >> > > + default:; >> > > + } >> > > + >> > > + return 0; >> > > +} >> > > + >> > > static int spansion_s25fss_disable_4KB_erase(struct spi_slave *spi) { >> > > u8 cmd[4]; >> > > @@ -1072,8 +1087,7 @@ int spi_flash_scan(struct spi_flash *flash) >> > > * sector that is not overlaid by the parameter sectors. >> > > * The uniform sector erase command has no effect on parameter >> > > sectors. >> > > */ >> > > - if ((jedec == 0x0219 || (jedec == 0x0220)) && >> > > - (ext_jedec & 0xff00) == 0x4d00) { >> > > + if (is_spansion_s25fss_family(jedec, ext_jedec)) { >> > > int ret; >> > > u8 id[6]; >> > > >> > > -- >> > >> > Hi Michael, >> > From some datasheet for spansion flash, it seems all the spansion >> > S25FS family should disable 4kb. >> > So how about just judge the idcode[0]? >> > >> >> I understand your point but I don't have enough part number and I can only to >> test on this one. I will verify this patch too and put my review and drop my >> personal one. Anyway can you ask if the first 0x8000 are considered by boot >> rom? I'm trying to boot from qspi an imx7d board and I create the parameter >> using the files/qspi-nor-spansion-s25fl128s-config but not sure if I need to >> flash >> from 0x400 or from 0x8400. And then I think that bootloader should go from >> 0x1000 or from 0x9000 correct? >> Then from BOOT_FROM I choose qspi but what is the DEFAULT_ADDRESS >> 0x1000 or 0x400? >>
Don't understand either does this "Disable 4-KB erase command for SPANSION S25FS-S family" (spansion_s25fss_disable_4KB_erase) is an issue workaround or something like hybrid configuration feature for spansion parts? thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot