[PATCH v3] mtd: spi-nor: gigadevice: Add support for GigaDevice GD25B512

From: Matthew Parker

Date: Sun Nov 08 2026 - 21:14:56 EST


Add support for the GigaDevice GD25B512 512Mbit (64 MiB) SPI NOR flash.

The chip exposes valid JESD216B SFDP tables including 4-byte address
instruction tables, from which geometry and opcodes are discovered.
Status register locking is enabled. Status register block protection is
enabled using 4 BP bits (BP0-BP3) to cover the full 64 MiB address range.
Read, write, and erase functionality across the full memory array have been
tested on hardware.

Cc: stable@xxxxxxxxxxxxxxx # v6.1+
Co-developed-by: Adam Calabrigo <adamc@xxxxxxxxxx>
Signed-off-by: Adam Calabrigo <adamc@xxxxxxxxxx>
Signed-off-by: Matthew Parker <mparker@xxxxxxxxxx>
---
v2:
- Drop .fixup_flags per modern SFDP discovery conventions.
v3:
- Add SPI_NOR_4BIT_BP flag to .flags.

drivers/mtd/spi-nor/gigadevice.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mtd/spi-nor/gigadevice.c b/drivers/mtd/spi-nor/gigadevice.c
index 6a2e6ebda148..113db85f7bd2 100644
--- a/drivers/mtd/spi-nor/gigadevice.c
+++ b/drivers/mtd/spi-nor/gigadevice.c
@@ -64,6 +64,9 @@ static const struct flash_info gigadevice_nor_parts[] = {
.id = SNOR_ID(0xc8, 0x40, 0x19),
.name = "gd25q256",
.flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6,
+ }, {
+ .id = SNOR_ID(0xc8, 0x47, 0x1a),
+ .flags = SPI_NOR_HAS_LOCK | SPI_NOR_4BIT_BP,
}, {
.id = SNOR_ID(0xc8, 0x60, 0x16),
.name = "gd25lq32",
--
2.51.0