[PATCH] mtd: spi-nor: winbond: add w25q01jv flash chip

Wilken Gottwalt wilken.gottwalt at posteo.net
Mon Dec 16 08:28:48 PST 2024


On Mon, 16 Dec 2024 13:03:53 +0000
Pratyush Yadav <pratyush at kernel.org> wrote:

> Hi Wilken,
> 
> On Mon, Dec 16 2024, Wilken Gottwalt wrote:
> 
> > Add Winbond W25Q01JV 128 MiB SPI NOR flash chip, verified working on the
> > Zynq-7000 platform QSPI controller. The flash chip has quite high read
> > speeds (about 60+ MiB/s), but erasing is very slow. The slow erasing is
> > by design.
> 
> Does the flash have support SFDP? If so, you likely don't need specify
> the no_sfdp_flags, name, or size. Try the entry only with ID and flags,
> and see if the flash continues to work fine for you.
> 
> Also see [0] for additional testing requirements.
> 
> [0] https://docs.kernel.org/driver-api/mtd/spi-nor.html

We use this flash in that way in production systems for a while now. But yeah,
you are right. I will do the checks, but it may take a while. Currently I'm at
vaccation and have no access to this machine until January.

> >
> > Signed-off-by: Wilken Gottwalt <wilken.gottwalt at posteo.net>
> > ---
> >  drivers/mtd/spi-nor/winbond.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> > index 8d0a00d69e12..e2caf299d19a 100644
> > --- a/drivers/mtd/spi-nor/winbond.c
> > +++ b/drivers/mtd/spi-nor/winbond.c
> > @@ -146,6 +146,12 @@ static const struct flash_info winbond_nor_parts[] = {
> >  		.name = "w25q512jvq",
> >  		.size = SZ_64M,
> >  		.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
> > +	}, {
> > +		.id = SNOR_ID(0xef, 0x40, 0x21),
> > +		.name = "w25q01jv",
> > +		.size = SZ_128M,
> > +		.flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
> > +		.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ,
> >  	}, {
> >  		.id = SNOR_ID(0xef, 0x50, 0x12),
> >  		.name = "w25q20bw",
> 




More information about the linux-mtd mailing list