[v3] spi-nor: Add Winbond w25q512jv

Message ID 20170620062028.7520-1-joel@jms.id.au
State Superseded
Headers show

Commit Message

Joel Stanley June 20, 2017, 6:20 a.m.
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>


Similar to the other ones, different size. The "JV" suffix is in
the datasheet, I haven't seen mentions of a different one.

The the datasheet indicates DUAL and QUAD are supported.

http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Signed-off-by: Joel Stanley <joel@jms.id.au>

---
v3:
 - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.

 drivers/mtd/spi-nor/spi-nor.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.11.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

Comments

Marek Vasut June 20, 2017, 7:23 a.m. | #1
On 06/20/2017 08:20 AM, Joel Stanley wrote:
> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> 

> Similar to the other ones, different size. The "JV" suffix is in

> the datasheet, I haven't seen mentions of a different one.

> 

> The the datasheet indicates DUAL and QUAD are supported.

> 

> http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf


The datasheet says W25M512 not W25Q512.
                      ^-----------^-------- different letter here.

> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> Signed-off-by: Joel Stanley <joel@jms.id.au>

> ---

> v3:

>  - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.

> 

>  drivers/mtd/spi-nor/spi-nor.c | 2 ++

>  1 file changed, 2 insertions(+)

> 

> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c

> index eef55b597ec7..ad46dc82c8d1 100644

> --- a/drivers/mtd/spi-nor/spi-nor.c

> +++ b/drivers/mtd/spi-nor/spi-nor.c

> @@ -1146,6 +1146,8 @@ static const struct flash_info spi_nor_ids[] = {

>  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },

>  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },

>  	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },

> +	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,

> +			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },

>  

>  	/* Catalyst / On Semiconductor -- non-JEDEC */

>  	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },

> 



-- 
Best regards,
Marek Vasut

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Cyrille Pitchen June 20, 2017, 7:58 a.m. | #2
Hi all,

Le 20/06/2017 à 08:20, Joel Stanley a écrit :
> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> 
> Similar to the other ones, different size. The "JV" suffix is in
> the datasheet, I haven't seen mentions of a different one.
> 
> The the datasheet indicates DUAL and QUAD are supported.
> 
> http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
> v3:
>  - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.
> 
>  drivers/mtd/spi-nor/spi-nor.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index eef55b597ec7..ad46dc82c8d1 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -1146,6 +1146,8 @@ static const struct flash_info spi_nor_ids[] = {
>  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },
>  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
>  	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },
> +	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
> +			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
>

This looks good, I'll try to apply it this evening.

Best regards,

Cyrille

>  	/* Catalyst / On Semiconductor -- non-JEDEC */
>  	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
>
Benjamin Herrenschmidt June 20, 2017, 9:08 a.m. | #3
On Tue, 2017-06-20 at 09:23 +0200, Marek Vasut wrote:
> On 06/20/2017 08:20 AM, Joel Stanley wrote:

> > From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> > 

> > Similar to the other ones, different size. The "JV" suffix is in

> > the datasheet, I haven't seen mentions of a different one.

> > 

> > The the datasheet indicates DUAL and QUAD are supported.

> > 

> > http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf

> 

> The datasheet says W25M512 not W25Q512.

>                       ^-----------^-------- different letter here.


Page 23 mentions the "Q" version which is what we have.

Cheers,
Ben.

> 

> > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> > Signed-off-by: Joel Stanley <joel@jms.id.au>

> > ---

> > v3:

> >  - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.

> > 

> >  drivers/mtd/spi-nor/spi-nor.c | 2 ++

> >  1 file changed, 2 insertions(+)

> > 

> > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c

> > index eef55b597ec7..ad46dc82c8d1 100644

> > --- a/drivers/mtd/spi-nor/spi-nor.c

> > +++ b/drivers/mtd/spi-nor/spi-nor.c

> > @@ -1146,6 +1146,8 @@ static const struct flash_info spi_nor_ids[] = {

> >  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },

> >  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },

> >  	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },

> > +	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,

> > +			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },

> >  

> >  	/* Catalyst / On Semiconductor -- non-JEDEC */

> >  	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },

> > 

> 

> 


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Marek Vasut June 20, 2017, 9:22 a.m. | #4
On 06/20/2017 11:08 AM, Benjamin Herrenschmidt wrote:
> On Tue, 2017-06-20 at 09:23 +0200, Marek Vasut wrote:

>> On 06/20/2017 08:20 AM, Joel Stanley wrote:

>>> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

>>>

>>> Similar to the other ones, different size. The "JV" suffix is in

>>> the datasheet, I haven't seen mentions of a different one.

>>>

>>> The the datasheet indicates DUAL and QUAD are supported.

>>>

>>> http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf

>>

>> The datasheet says W25M512 not W25Q512.

>>                       ^-----------^-------- different letter here.

> 

> Page 23 mentions the "Q" version which is what we have.


So the M means "Multiple Q dies on single package" ? Why don't you use
w25m in the patch then ?

> Cheers,

> Ben.

> 

>>

>>> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

>>> Signed-off-by: Joel Stanley <joel@jms.id.au>

>>> ---

>>> v3:

>>>  - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.

>>>

>>>  drivers/mtd/spi-nor/spi-nor.c | 2 ++

>>>  1 file changed, 2 insertions(+)

>>>

>>> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c

>>> index eef55b597ec7..ad46dc82c8d1 100644

>>> --- a/drivers/mtd/spi-nor/spi-nor.c

>>> +++ b/drivers/mtd/spi-nor/spi-nor.c

>>> @@ -1146,6 +1146,8 @@ static const struct flash_info spi_nor_ids[] = {

>>>  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },

>>>  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },

>>>  	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },

>>> +	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,

>>> +			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },

>>>  

>>>  	/* Catalyst / On Semiconductor -- non-JEDEC */

>>>  	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },

>>>

>>

>>



-- 
Best regards,
Marek Vasut

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Benjamin Herrenschmidt June 20, 2017, 9:45 a.m. | #5
On Tue, 2017-06-20 at 11:22 +0200, Marek Vasut wrote:
> On 06/20/2017 11:08 AM, Benjamin Herrenschmidt wrote:
> > On Tue, 2017-06-20 at 09:23 +0200, Marek Vasut wrote:
> > > On 06/20/2017 08:20 AM, Joel Stanley wrote:
> > > > From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > > > 
> > > > Similar to the other ones, different size. The "JV" suffix is in
> > > > the datasheet, I haven't seen mentions of a different one.
> > > > 
> > > > The the datasheet indicates DUAL and QUAD are supported.
> > > > 
> > > > http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf
> > > 
> > > The datasheet says W25M512 not W25Q512.
> > >                       ^-----------^-------- different letter here.
> > 
> > Page 23 mentions the "Q" version which is what we have.
> 
> So the M means "Multiple Q dies on single package" ? Why don't you use
> w25m in the patch then ?

Because I messed up :-) I got confused between "Q256" and "M512"...

The ID for a single W25Q256JV 0x184019 which we already have
The ID for the dual W25Q256JV aka W25M512JV is 0x187119

Sorry for the mess.

Joel, can you respin ? I don't have my stuff at hand and I'm flying out
tomorrow.

Thanks !

Cheers,
Ben.

> > Cheers,
> > Ben.
> > 
> > > 
> > > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > > > Signed-off-by: Joel Stanley <joel@jms.id.au>
> > > > ---
> > > > v3:
> > > >  - Added the DUAL and QUAD flags for ben. Tested with aspeed-smc driver.
> > > > 
> > > >  drivers/mtd/spi-nor/spi-nor.c | 2 ++
> > > >  1 file changed, 2 insertions(+)
> > > > 
> > > > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> > > > index eef55b597ec7..ad46dc82c8d1 100644
> > > > --- a/drivers/mtd/spi-nor/spi-nor.c
> > > > +++ b/drivers/mtd/spi-nor/spi-nor.c
> > > > @@ -1146,6 +1146,8 @@ static const struct flash_info spi_nor_ids[] = {
> > > >  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },
> > > >  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
> > > >  	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },
> > > > +	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
> > > > +			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
> > > >  
> > > >  	/* Catalyst / On Semiconductor -- non-JEDEC */
> > > >  	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
> > > > 
> > > 
> > > 
> 
>
Marek Vasut June 20, 2017, 9:55 a.m. | #6
On 06/20/2017 11:45 AM, Benjamin Herrenschmidt wrote:
> On Tue, 2017-06-20 at 11:22 +0200, Marek Vasut wrote:

>> On 06/20/2017 11:08 AM, Benjamin Herrenschmidt wrote:

>>> On Tue, 2017-06-20 at 09:23 +0200, Marek Vasut wrote:

>>>> On 06/20/2017 08:20 AM, Joel Stanley wrote:

>>>>> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

>>>>>

>>>>> Similar to the other ones, different size. The "JV" suffix is in

>>>>> the datasheet, I haven't seen mentions of a different one.

>>>>>

>>>>> The the datasheet indicates DUAL and QUAD are supported.

>>>>>

>>>>> http://www.winbond.com/resource-files/w25m512jv%20revc%2001062017.pdf

>>>>

>>>> The datasheet says W25M512 not W25Q512.

>>>>                       ^-----------^-------- different letter here.

>>>

>>> Page 23 mentions the "Q" version which is what we have.

>>

>> So the M means "Multiple Q dies on single package" ? Why don't you use

>> w25m in the patch then ?

> 

> Because I messed up :-) I got confused between "Q256" and "M512"...

> 

> The ID for a single W25Q256JV 0x184019 which we already have

> The ID for the dual W25Q256JV aka W25M512JV is 0x187119

> 

> Sorry for the mess.

> 

> Joel, can you respin ? I don't have my stuff at hand and I'm flying out

> tomorrow.

> 

> Thanks !


Great, thanks!

-- 
Best regards,
Marek Vasut

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

Patch

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index eef55b597ec7..ad46dc82c8d1 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1146,6 +1146,8 @@  static const struct flash_info spi_nor_ids[] = {
 	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },
 	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
 	{ "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) },
+	{ "w25q512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
+			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
 
 	/* Catalyst / On Semiconductor -- non-JEDEC */
 	{ "cat25c11", CAT25_INFO(  16, 8, 16, 1, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },