On Sat, 13 Feb 2016 00:08:55 +0530 Hatim Kanchwala <[email protected]> wrote:
> Here's the updated patch which incorporates Urja's suggestion. I have also > fixed the (nasty :p) typo I made earlier. > > Signed-off-by: Hatim Kanchwala <[email protected]> > --- > flashchips.c | 40 ++++++++++++++++++++++++++++++++++++++++ > flashchips.h | 1 + > 2 files changed, 41 insertions(+) > > diff --git a/flashchips.c b/flashchips.c > index c60514b..99b79db 100644 > --- a/flashchips.c > +++ b/flashchips.c > @@ -6243,26 +6243,66 @@ const struct flashchip flashchips[] = { > }, { > .eraseblocks = { {1024 * 1024, 1} }, > .block_erase = spi_block_erase_c7, > } > }, > .printlock = spi_prettyprint_status_register_plain, /* > TODO: improve */ > .unlock = spi_disable_blockprotect, > .write = spi_chip_write_256, > .read = spi_chip_read, > .voltage = {2700, 3600}, > }, > > { > + .vendor = "GigaDevice", > + .name = "GD25VQ41B", > + .bustype = BUS_SPI, > + .manufacture_id = GIGADEVICE_ID, > + .model_id = GIGADEVICE_GD25VQ41B, > + .total_size = 512, > + .page_size = 256, > + /* Lockable Security Registers: 3 * 512B total; read 0x48, > write 0x42, erase 0x44 */ I have reversed that change and used 1536B for consistency here as well. > + .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI, > + .tested = TEST_UNTESTED, > + .probe = probe_spi_rdid, > + .probe_timing = TIMING_ZERO, > + .block_erasers = ^^^^^^^^^^^^^^^^ spaces not tabs > + { > + { > + .eraseblocks = { { 4 * 1024, 128} }, > + .block_erase = spi_block_erase_20, > + }, { > + .eraseblocks = { { 32 * 1024, 16} }, > + .block_erase = spi_block_erase_52, > + }, { > + .eraseblocks = { { 64 * 1024, 8} }, > + .block_erase = spi_block_erase_d8, > + }, { > + .eraseblocks = { {512 * 1024, 1} }, > + .block_erase = spi_block_erase_60, > + }, { > + .eraseblocks = { {512 * 1024, 1} }, > + .block_erase = spi_block_erase_c7, > + } > + }, > + /* TODO: 2nd Status Register; read 0x35 */ > + .printlock = spi_prettyprint_status_register_bp4_srwd, > + .unlock = spi_disable_blockprotect_bp4_srwd, > + .write = spi_chip_write_256, > + .read = spi_chip_read, /* Fast read (0x0B) and multi > I/O supported */ > + .voltage = {2300, 3600}, Good catch! That is exactly the feature of the VQ ("2.5V) family. There is a bunch of other chips in that family in case you are not bored already by this ;) http://www.gigadevice.com/product-series/12.html > + }, > + > + { > .vendor = "Hyundai", > .name = "HY29F002T", > .bustype = BUS_PARALLEL, > .manufacture_id = HYUNDAI_ID, > .model_id = HYUNDAI_HY29F002T, > .total_size = 256, > .page_size = 256 * 1024, > .feature_bits = FEATURE_EITHER_RESET, /* Some revisions may > need FEATURE_ADDR_2AA */ > .tested = TEST_OK_PRE, > .probe = probe_jedec, > .probe_timing = TIMING_ZERO, /* Datasheet has no timing info > specified */ > .block_erasers = > { > diff --git a/flashchips.h b/flashchips.h > index 74c44a0..e469363 100644 > --- a/flashchips.h > +++ b/flashchips.h > @@ -368,26 +368,27 @@ > #define GIGADEVICE_GD25Q20 0x4012 /* Same as GD25QB */ > #define GIGADEVICE_GD25Q40 0x4013 /* Same as GD25QB */ > #define GIGADEVICE_GD25Q80 0x4014 /* Same as GD25Q80B (which has OTP) */ > #define GIGADEVICE_GD25Q16 0x4015 /* Same as GD25Q16B (which has OTP) */ > #define GIGADEVICE_GD25Q32 0x4016 /* Same as GD25Q32B */ > #define GIGADEVICE_GD25Q64 0x4017 /* Same as GD25Q64B */ > #define GIGADEVICE_GD25Q128 0x4018 /* GD25Q128B only? */ > #define GIGADEVICE_GD25LQ40 0x6013 > #define GIGADEVICE_GD25LQ80 0x6014 > #define GIGADEVICE_GD25LQ16 0x6015 > #define GIGADEVICE_GD25LQ32 0x6016 > #define GIGADEVICE_GD25LQ64 0x6017 /* Same as GD25LQ64B (which is faster) > */ > #define GIGADEVICE_GD25LQ128 0x6018 > +#define GIGADEVICE_GD25VQ41B 0x4213 > #define GIGADEVICE_GD29GL064CAB 0x7E0601 > > #define HYUNDAI_ID 0xAD /* Hyundai */ > #define HYUNDAI_HY29F400T 0x23 /* Same as HY29F400AT */ > #define HYUNDAI_HY29F800B 0x58 /* Same as HY29F800AB */ > #define HYUNDAI_HY29LV800B 0x5B > #define HYUNDAI_HY29F040A 0xA4 > #define HYUNDAI_HY29F400B 0xAB /* Same as HY29F400AB */ > #define HYUNDAI_HY29F002B 0x34 > #define HYUNDAI_HY29F002T 0xB0 > #define HYUNDAI_HY29LV400T 0xB9 > #define HYUNDAI_HY29LV400B 0xBA > #define HYUNDAI_HY29F080 0xD5 I have fixed the few issues myself, acked the patch and committed it in r1937. Thanks! -- Kind regards/Mit freundlichen Grüßen, Stefan Tauner _______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
