Add support for GigaDevice GD25LQ32
This is the low power version (vendor,device = 0xc8,0x6016) of
GD25Q32 (0xc8,0x4016) which matches that of W25Q32 (0xef,0x4016) and
W25Q32DW (0xef,0x6016). All their datasheets look pretty much the
same with respect to commands, erase blocks, etc.
Stolen from chromiumos:
http://git.chromium.org/gitweb/?p=chromiumos/third_party/flashrom.git;a=commitdiff;h=9a0051f0ba0b67af6f08e052c31cba3e9dbbbdbf
Corresponding to flashrom svn r1598.
Signed-off-by: Bryan Freed <bfreed@chromium.org>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/flashchips.c b/flashchips.c
index a3f0520..1175333 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -4240,6 +4240,43 @@
},
{
+ .vendor = "GigaDevice",
+ .name = "GD25LQ32",
+ .bustype = BUS_SPI,
+ .manufacture_id = GIGADEVICE_ID,
+ .model_id = GIGADEVICE_GD25LQ32,
+ .total_size = 4096,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_WREN,
+ .tested = TEST_OK_PREW,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 1024} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 128} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 64} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
+ .voltage = {1700, 1950},
+ },
+
+ {
.vendor = "Hyundai",
.name = "HY29F002T",
.bustype = BUS_PARALLEL,
diff --git a/flashchips.h b/flashchips.h
index b312587..8e51d35 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -305,6 +305,7 @@
#define GIGADEVICE_GD25Q32 0x4016
#define GIGADEVICE_GD25Q64 0x4017
#define GIGADEVICE_GD25Q128 0x4018
+#define GIGADEVICE_GD25LQ32 0x6016
#define HYUNDAI_ID 0xAD /* Hyundai */
#define HYUNDAI_HY29F400T 0x23 /* Same as HY29F400AT */