Author: mkarcher
Date: Sun Mar  6 18:58:05 2011
New Revision: 1268
URL: http://flashrom.org/trac/flashrom/changeset/1268

Log:
Add W39L040

Signed-off-by: Michael Karcher <[email protected]>
Acked-by: Carl-Daniel Hailfinger <[email protected]>

Modified:
   trunk/chipdrivers.h
   trunk/flashchips.c
   trunk/w39.c

Modified: trunk/chipdrivers.h
==============================================================================
--- trunk/chipdrivers.h Sun Mar  6 18:37:30 2011        (r1267)
+++ trunk/chipdrivers.h Sun Mar  6 18:58:05 2011        (r1268)
@@ -110,6 +110,7 @@
 int unlock_sst_fwhub(struct flashchip *flash);
 
 /* w39.c */
+int printlock_w39l040(struct flashchip * flash);
 int printlock_w39v040a(struct flashchip *flash);
 int printlock_w39v040b(struct flashchip *flash);
 int printlock_w39v040c(struct flashchip *flash);

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c  Sun Mar  6 18:37:30 2011        (r1267)
+++ trunk/flashchips.c  Sun Mar  6 18:58:05 2011        (r1268)
@@ -7820,6 +7820,36 @@
 
        {
                .vendor         = "Winbond",
+               .name           = "W39L040",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = WINBOND_ID,
+               .model_id       = WINBOND_W39L040,
+               .total_size     = 512,
+               .page_size      = 64 * 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_OK_PR,
+               .probe          = probe_jedec,
+               .probe_timing   = 10,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {4 * 1024, 128} },
+                               .block_erase = erase_block_jedec,
+                       }, {
+                               .eraseblocks = { {64 * 1024, 8} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       }
+               },
+               .printlock      = printlock_w39l040,
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "Winbond",
                .name           = "W39V040A",
                .bustype        = CHIP_BUSTYPE_LPC,
                .manufacture_id = WINBOND_ID,

Modified: trunk/w39.c
==============================================================================
--- trunk/w39.c Sun Mar  6 18:37:30 2011        (r1267)
+++ trunk/w39.c Sun Mar  6 18:58:05 2011        (r1268)
@@ -161,6 +161,22 @@
        return 0;
 }
 
+int printlock_w39l040(struct flashchip * flash)
+{
+       uint8_t lock;
+       int ret;
+
+       lock = w39_idmode_readb(flash, 0x00002);
+       msg_cdbg("Bottom boot block:\n");
+       ret = printlock_w39_bootblock_64k16k(lock);
+
+       lock = w39_idmode_readb(flash, 0x7fff2);
+       msg_cdbg("Top boot block:\n");
+       ret |= printlock_w39_bootblock_64k16k(lock);
+
+       return ret;
+}
+
 int printlock_w39v040a(struct flashchip *flash)
 {
        uint8_t lock;

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to