From: Michael Trimarchi <michael@amarulasolutions.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Booting imx7d from qspi using spansion flash (WAS Re: [PATCH] sf: Disable 4-KB erase command for SPANSION S25FS128)
Date: Wed, 22 Jun 2016 12:55:40 +0200 [thread overview]
Message-ID: <20160622105534.GD11818@panicking> (raw)
In-Reply-To: <AM2PR04MB0722CA229E6DAE4AE823ECA6892C0@AM2PR04MB0722.eurprd04.prod.outlook.com>
Hi Ye.Li
On Wed, Jun 22, 2016 at 10:14:29AM +0000, Yao Yuan 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 <michael@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?
> >
>
> I'm not sure what's the offset for imx7d, but for NXP LS series SOC.
> The RCW_PBI offset: 0x0
> The Uboot offset is defined by RCW_PBI code.(Such as 0x10000)
>
I have seen that the booting from QSPI come from you. Do you have an idea about
imx7d booting from QSPI?
Michael
> > > Like:
> > > diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
> > > index 64d4e0f..cfe3649 100644
> > > --- a/drivers/mtd/spi/spi_flash.c
> > > +++ b/drivers/mtd/spi/spi_flash.c
> > > @@ -1072,8 +1072,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 (idcode[0] == SPI_FLASH_CFI_MFR_SPANSION) {
> > > int ret;
> > > u8 id[6];
> > >
> > >
> > > How about your think?
> >
> > For me is fine if you are sure
> >
> > Michael
> >
> > >
> > >
> > >
> >
> > --
> > | Michael Nazzareno Trimarchi Amarula Solutions BV |
> > | COO - Founder Cruquiuskade 47 |
> > | +31(0)851119172 Amsterdam 1018 AM NL |
> > | [`as] http://www.amarulasolutions.com |
--
| Michael Nazzareno Trimarchi Amarula Solutions BV |
| COO - Founder Cruquiuskade 47 |
| +31(0)851119172 Amsterdam 1018 AM NL |
| [`as] http://www.amarulasolutions.com |
next prev parent reply other threads:[~2016-06-22 10:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 7:58 [U-Boot] [PATCH] sf: Disable 4-KB erase command for SPANSION S25FS128 Michael Trimarchi
2016-06-22 10:00 ` Yao Yuan
2016-06-22 10:06 ` Michael Trimarchi
2016-06-22 10:14 ` Yao Yuan
2016-06-22 10:55 ` Michael Trimarchi [this message]
2016-08-06 14:37 ` Jagan Teki
2016-08-06 14:40 ` Michael Trimarchi
2016-08-06 15:08 ` Jagan Teki
2016-08-06 15:14 ` Michael Trimarchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160622105534.GD11818@panicking \
--to=michael@amarulasolutions.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox