]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtd: spi-nor: winbond: Fix locking support for w25q64jvm
authorEliav Farber <farbere@amazon.com>
Wed, 18 Feb 2026 14:35:23 +0000 (14:35 +0000)
committerPratyush Yadav (Google) <pratyush@kernel.org>
Mon, 30 Mar 2026 14:07:11 +0000 (14:07 +0000)
The Winbond w25q64jvm supports block protection through the Status
Register (SR) and provides a Top/Bottom (TB) protection bit.

Enable SPI_NOR_HAS_LOCK and SPI_NOR_HAS_TB for this device to
properly describe its locking capabilities.

The device uses Status Register bit 5 as the TB bit and supports only
three Block Protect (BP) bits. Therefore, do not set SPI_NOR_TB_SR_BIT6
or SPI_NOR_4BIT_BP.

Reference:
https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=en&DocNo=DA00-W25Q64JV.1

Signed-off-by: Eliav Farber <farbere@amazon.com>
Reviewed-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: Pratyush Yadav (Google) <pratyush@kernel.org>
drivers/mtd/spi-nor/winbond.c

index 55f1209936d57d3277feb4612a9ceadcbbe53d75..5a3e3ee96edb4dac2f3a8c7428976b6d5e2ee2fd 100644 (file)
@@ -295,6 +295,7 @@ static const struct flash_info winbond_nor_parts[] = {
                .id = SNOR_ID(0xef, 0x70, 0x17),
                .name = "w25q64jvm",
                .size = SZ_8M,
+               .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB,
                .no_sfdp_flags = SECT_4K,
        }, {
                .id = SNOR_ID(0xef, 0x70, 0x18),