Definition for flash w25q128 is wrong

Michael Walle michael at walle.cc
Fri Jun 7 01:34:24 PDT 2024


Hi,

On Thu Jun 6, 2024 at 9:50 PM CEST, e9hack wrote:
> I'm using a TP-LINK WDR3600 with a bigger flash. Since some time the
> router hangs in an endless boot loop. I see the following message:
>
> ...
> [    0.402716] spi-nor spi0.0: BFPT parsing failed. Please consider
> using SPI_NOR_SKIP_SFDP when declaring the flash

Looks like your flash doesn't support SFDP. Relevant threads are:
https://lore.kernel.org/r/d99d87e7-47ba-d6fe-735f-16de2a2ec280@linaro.org/
https://lore.kernel.org/r/20240603-macronix-mx25l3205d-fixups-v2-0-ff98da26835c@geanix.com/

> [    0.413217] spi-nor: probe of spi0.0 failed with error -22
> ...
> [    0.926180] /dev/root: Can't open blockdev
> [    0.930427] VFS: Cannot open root device "(null)" or
> unknown-block(0,0): error -6
> [    0.938037] Please append a correct "root=" boot option; here are
> the available partitions:
> [    0.946520] Kernel panic - not syncing: VFS: Unable to mount root
> fs on unknown-block(0,0)
> [    0.954914] Rebooting in 1 seconds..
>
> It looks like the definition for the flash is wrong:
>
> --- a/drivers/mtd/spi-nor/winbond.
> c     2024-03-15 19:27:50.000000000 +0100
> +++ b/drivers/mtd/spi-nor/winbond.c     2024-04-01 05:59:17.166780732 +0200
> @@ -120,8 +120,8 @@ static const struct flash_info winbond_n
>                 NO_SFDP_FLAGS(SECT_4K) },
>         { "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16)
>                 NO_SFDP_FLAGS(SECT_4K) },
> -       { "w25q128", INFO(0xef4018, 0, 0, 0)
> -               PARSE_SFDP
> +       { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256)
> +               NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
>                 FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
>         { "w25q256", INFO(0xef4019, 0, 64 * 1024, 512)
>                 NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
>
> With these changes, the flash will be detected properly. The chip is
> marked with:
> The chip (SOIC8) is marked with:
> winbond
> 25Q128FVSG
> 1327
>
> I use another TP-LINK router. This is an Archer C7 v2. It has the same
> flash chip with date code 1528. This router doesn't have this issue.

Looks like some of these flashes support SFDP and some don't :/

-michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 297 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20240607/1302d6bb/attachment.sig>


More information about the linux-mtd mailing list