[PATCH] mtd: spi-nor: Add Winbond w25q16jv support

Tudor.Ambarus at microchip.com Tudor.Ambarus at microchip.com
Thu Jun 13 07:33:06 PDT 2019


Hi, Robert,

On 02/21/2019 10:58 PM, Robert Marko wrote:
> On Wed, 20 Feb 2019 at 21:29, <Tudor.Ambarus at microchip.com> wrote:>>
> Hi, Robert,>> On 02/14/2019 10:57 PM, Robert Marko wrote:> >
> Datasheet: https://www.winbond.com/resource-files/w25q16jv%20spi%20revg%2003222018%20plus.pdf>
>>>> Testing done on Mikrotik Routerboard RB450Gx4 board under 4.19.19
> kernel.>> It is preferable to do the test on spi-nor/nextUnfortunately
> I cant do that as OpenWrt has a considerable amount of patches that
> would need to be ported and we are only moving from LTS to LTS version
> and we are currently on 4.19.
>>>
>>> Test board does not support Dual or Quad modes.
>>>
>>> Signed-off-by: Robert Marko <robimarko at gmail.com>
>>> ---
>>>  drivers/mtd/spi-nor/spi-nor.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
>>> index 6e13bbd1aaa5..0e958f48db1b 100644
>>> --- a/drivers/mtd/spi-nor/spi-nor.c
>>> +++ b/drivers/mtd/spi-nor/spi-nor.c
>>> @@ -1975,6 +1975,11 @@ static const struct flash_info spi_nor_ids[] = {
>>>                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
>>>                       SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
>>>       },
>>> +     {
>>> +             "w25q16jv", INFO(0xef7015, 0, 64 * 1024,  32,
>>> +                     SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
>>> +                     SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
>>
>> You'll need a way to differentiate between W25Q16JV-IQ/JQ and W25Q16JV-IM/JM.
> Hm, from what I understood JV is the series and suffix only indictes
> the package.
> They should all have the same JEDEC ID and features.
>>

W25Q16JV-IQ/JQ and W25Q16JV-IM/JM have different jedec ids, see table "9.1.1
Manufacturer and Device Identification" from the datasheet that you indicated in
the commit message.

Looking at "12. ORDERING INFORMATION", I see that:
- Q version has QE = 1 (fixed) and it's backward compatible to FV family
- M version has QE = 0 (programmable) and has a new device ID
The same is described in "8. QUAD ENABLE (QE) – Volatile/Non-Volatile Writable".

I would suggest to name the flash "w25q16jv-im/jm".

What do you think?
ta


More information about the linux-mtd mailing list