[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