Am 01.04.2024 um 11:06 schrieb Robert Marko:
On Mon, 1 Apr 2024 at 10:32, e9hack <e9h...@gmail.com> wrote:

Am 01.04.2024 um 10:14 schrieb Robert Marko:
On Mon, 1 Apr 2024 at 06:29, e9hack <e9h...@gmail.com> wrote:

Hi,

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
[    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.

Yeah, I am not so sure this is correct as all w25q128 versions have
SFDP table so skipping SFDP parsing
isn't really correct.
Can you check what is the exact model you have?

The chip (SOIC8) is marked with:

winbond
25Q128FVSG
1327

If it is Genuine Winbond then it has an SFDP table according to the datasheet:
https://www.winbond.com/hq/support/documentation/downloadV2022.jsp?__locale=en&xmlPath=/support/resources/.content/item/DA00-W25Q128FV.html&level=1

AFAIK, all Winbond NOR with datecode 1124 and onwards have SFDP tables.

Has this happened with kernel 6.1 or been going on for a while?

My build from October is using kernel 5.15.133. I assume it is an issue of 
kernel 6.1.

It looks like a driver issue. A SOIC8 housing doesn't support dual/quad SPI. 
The flash will be detect, if I change

PARSE_SFDP to NO_SFDP_FLAGS(SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ).

Regards,
Hartmut


Regards,
Robert



Regards,
Robert

Regards,
Hartmut

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to