2015-08-14 17:36:45

by Alexis Ballier

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: Add support for sst25wf020a.

It is a 256KiB flash with 4 KiB erase sectors
and 64KiB overlay blocks.

This is the one available on Hardkernel's Odroid U3 shield.

Signed-off-by: Alexis Ballier <[email protected]>
---
drivers/mtd/spi-nor/spi-nor.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index d78831b..e521b35 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -636,6 +636,7 @@ static const struct spi_device_id spi_nor_ids[] = {
{ "sst25wf512", INFO(0xbf2501, 0, 64 * 1024, 1, SECT_4K | SST_WRITE) },
{ "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, SECT_4K | SST_WRITE) },
{ "sst25wf020", INFO(0xbf2503, 0, 64 * 1024, 4, SECT_4K | SST_WRITE) },
+ { "sst25wf020a", INFO(0x621612, 0, 64 * 1024, 4, SECT_4K) },
{ "sst25wf040", INFO(0xbf2504, 0, 64 * 1024, 8, SECT_4K | SST_WRITE) },
{ "sst25wf080", INFO(0xbf2505, 0, 64 * 1024, 16, SECT_4K | SST_WRITE) },

--
2.5.0


2015-08-14 21:11:06

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for sst25wf020a.

On Friday, August 14, 2015 at 07:35:39 PM, Alexis Ballier wrote:
> It is a 256KiB flash with 4 KiB erase sectors
> and 64KiB overlay blocks.
>
> This is the one available on Hardkernel's Odroid U3 shield.
>
> Signed-off-by: Alexis Ballier <[email protected]>
> ---
> drivers/mtd/spi-nor/spi-nor.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index d78831b..e521b35 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -636,6 +636,7 @@ static const struct spi_device_id spi_nor_ids[] = {
> { "sst25wf512", INFO(0xbf2501, 0, 64 * 1024, 1, SECT_4K | SST_WRITE)
},
> { "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, SECT_4K | SST_WRITE)
},
> { "sst25wf020", INFO(0xbf2503, 0, 64 * 1024, 4, SECT_4K | SST_WRITE)
},
> + { "sst25wf020a", INFO(0x621612, 0, 64 * 1024, 4, SECT_4K) },

Is the SST_WRITE not needed on this device ?

Otherwise, looks pretty obvious :)

> { "sst25wf040", INFO(0xbf2504, 0, 64 * 1024, 8, SECT_4K | SST_WRITE)
},
> { "sst25wf080", INFO(0xbf2505, 0, 64 * 1024, 16, SECT_4K | SST_WRITE)
},

Best regards,
Marek Vasut

2015-08-15 08:39:13

by Alexis Ballier

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for sst25wf020a.

On Fri, 14 Aug 2015 22:45:14 +0200
Marek Vasut <[email protected]> wrote:

> On Friday, August 14, 2015 at 07:35:39 PM, Alexis Ballier wrote:
> > It is a 256KiB flash with 4 KiB erase sectors
> > and 64KiB overlay blocks.
> >
> > This is the one available on Hardkernel's Odroid U3 shield.
> >
> > Signed-off-by: Alexis Ballier <[email protected]>
> > ---
> > drivers/mtd/spi-nor/spi-nor.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/mtd/spi-nor/spi-nor.c
> > b/drivers/mtd/spi-nor/spi-nor.c index d78831b..e521b35 100644
> > --- a/drivers/mtd/spi-nor/spi-nor.c
> > +++ b/drivers/mtd/spi-nor/spi-nor.c
> > @@ -636,6 +636,7 @@ static const struct spi_device_id spi_nor_ids[]
> > = { { "sst25wf512", INFO(0xbf2501, 0, 64 * 1024, 1, SECT_4K |
> > SST_WRITE)
> },
> > { "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, SECT_4K
> > | SST_WRITE)
> },
> > { "sst25wf020", INFO(0xbf2503, 0, 64 * 1024, 4, SECT_4K
> > | SST_WRITE)
> },
> > + { "sst25wf020a", INFO(0x621612, 0, 64 * 1024, 4,
> > SECT_4K) },
>
> Is the SST_WRITE not needed on this device ?


Tried that at first and it didn't work (writes were silently not
performed).

I'm no expert here, but I don't see anything about auto address
increment in the spec:
http://ww1.microchip.com/downloads/en/DeviceDoc/20005139E.pdf
and it uses the page program command (0x02).

Alexis.


[...]

2015-08-15 13:29:44

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for sst25wf020a.

On Saturday, August 15, 2015 at 10:38:59 AM, Alexis Ballier wrote:
> On Fri, 14 Aug 2015 22:45:14 +0200
>
> Marek Vasut <[email protected]> wrote:
> > On Friday, August 14, 2015 at 07:35:39 PM, Alexis Ballier wrote:
> > > It is a 256KiB flash with 4 KiB erase sectors
> > > and 64KiB overlay blocks.
> > >
> > > This is the one available on Hardkernel's Odroid U3 shield.
> > >
> > > Signed-off-by: Alexis Ballier <[email protected]>
> > > ---
> > >
> > > drivers/mtd/spi-nor/spi-nor.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/mtd/spi-nor/spi-nor.c
> > > b/drivers/mtd/spi-nor/spi-nor.c index d78831b..e521b35 100644
> > > --- a/drivers/mtd/spi-nor/spi-nor.c
> > > +++ b/drivers/mtd/spi-nor/spi-nor.c
> > > @@ -636,6 +636,7 @@ static const struct spi_device_id spi_nor_ids[]
> > > = { { "sst25wf512", INFO(0xbf2501, 0, 64 * 1024, 1, SECT_4K |
> > > SST_WRITE)
> >
> > },
> >
> > > { "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, SECT_4K
> > >
> > > | SST_WRITE)
> >
> > },
> >
> > > { "sst25wf020", INFO(0xbf2503, 0, 64 * 1024, 4, SECT_4K
> > >
> > > | SST_WRITE)
> >
> > },
> >
> > > + { "sst25wf020a", INFO(0x621612, 0, 64 * 1024, 4,
> > > SECT_4K) },
> >
> > Is the SST_WRITE not needed on this device ?
>
> Tried that at first and it didn't work (writes were silently not
> performed).

This is the worst possible behavior.

> I'm no expert here, but I don't see anything about auto address
> increment in the spec:
> http://ww1.microchip.com/downloads/en/DeviceDoc/20005139E.pdf
> and it uses the page program command (0x02).

They probably decided to start rolling out a standard SPI NOR, which is good :)

Best regards,
Marek Vasut