Author: hailfinger
Date: Thu Jul 29 22:01:13 2010
New Revision: 1124
URL: http://flashrom.org/trac/coreboot/changeset/1124

Log:
Add definitions for the following chips:

Mosel Vitelic Corporation:
V29C51000B, V29C51000T, V29C51400B, V29C51400T, V29LC51000, V29LC51001,
V29LC51002

SyncMOS / Mosel Vitelic Corporation:
{F,S,V}29C51001B, {F,S,V}29C51001T, {F,S,V}29C51002B, {F,S,V}29C51002T,
{F,S,V}29C51004B, {F,S,V}29C51004T, {V,S}29C31004B, {V,S}29C31004T

Modify earlier definitions of
S29C31004T/S29C51001T/S29C51002T/S29C51004T to change name and correct
page size.

Signed-off-by: Mattias Mattsson <[email protected]>
Signed-off-by: Carl-Daniel Hailfinger <[email protected]>
Acked-by: Uwe Hermann <[email protected]>

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

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c  Thu Jul 29 21:57:55 2010        (r1123)
+++ trunk/flashchips.c  Thu Jul 29 22:01:13 2010        (r1124)
@@ -3879,6 +3879,188 @@
        },
 
        {
+               .vendor         = "MoselVitelic",
+               .name           = "V29C51000B",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29C51000B,
+               .total_size     = 64,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 128} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {64 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29C51000T",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29C51000T,
+               .total_size     = 64,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 128} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {64 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29C51400B",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29C51400B,
+               .total_size     = 512,
+               .page_size      = 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {1024, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29C51400T",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29C51400T,
+               .total_size     = 512,
+               .page_size      = 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {1024, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29LC51000",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29LC51000,
+               .total_size     = 64,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 128} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {64 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29LC51001",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29LC51001,
+               .total_size     = 128,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 256} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {128 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "MoselVitelic",
+               .name           = "V29LC51002",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = MVC_V29LC51002,
+               .total_size     = 256,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {256 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
                .vendor         = "Numonyx",
                .name           = "M25PE10",
                .bustype        = CHIP_BUSTYPE_SPI,
@@ -6382,13 +6564,13 @@
        },
 
        {
-               .vendor         = "SyncMOS",
-               .name           = "S29C31004T",
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51001B",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
-               .manufacture_id = SYNCMOS_ID,
-               .model_id       = S29C31004T,
-               .total_size     = 512,
-               .page_size      = 128,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51001B,
+               .total_size     = 128,
+               .page_size      = 512,
                .feature_bits   = FEATURE_EITHER_RESET,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
@@ -6396,10 +6578,10 @@
                .block_erasers  =
                {
                        {
-                               .eraseblocks = { {1 * 1024, 512} },
+                               .eraseblocks = { {512, 256} },
                                .block_erase = erase_sector_jedec,
                        }, {
-                               .eraseblocks = { {512 * 1024, 1} },
+                               .eraseblocks = { {128 * 1024, 1} },
                                .block_erase = erase_chip_block_jedec,
                        },
                },
@@ -6408,13 +6590,13 @@
        },
 
        {
-               .vendor         = "SyncMOS",
-               .name           = "S29C51001T",
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51001T",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
-               .manufacture_id = SYNCMOS_ID,
-               .model_id       = S29C51001T,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51001T,
                .total_size     = 128,
-               .page_size      = 128,
+               .page_size      = 512,
                .feature_bits   = FEATURE_EITHER_RESET,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
@@ -6434,15 +6616,15 @@
        },
 
        {
-               .vendor         = "SyncMOS",
-               .name           = "S29C51002T",
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51002B",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
-               .manufacture_id = SYNCMOS_ID,
-               .model_id       = S29C51002T,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51002B,
                .total_size     = 256,
-               .page_size      = 128,
+               .page_size      = 512,
                .feature_bits   = FEATURE_EITHER_RESET,
-               .tested         = TEST_OK_PRW,
+               .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
                .block_erasers  =
@@ -6460,13 +6642,39 @@
        },
 
        {
-               .vendor         = "SyncMOS",
-               .name           = "S29C51004T",
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51002T",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
-               .manufacture_id = SYNCMOS_ID,
-               .model_id       = S29C51004T,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51002T,
+               .total_size     = 256,
+               .page_size      = 512,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_OK_PR,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {512, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {256 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51004B",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51004B,
                .total_size     = 512,
-               .page_size      = 128,
+               .page_size      = 1024,
                .feature_bits   = FEATURE_EITHER_RESET,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
@@ -6474,7 +6682,85 @@
                .block_erasers  =
                {
                        {
-                               .eraseblocks = { {1 * 1024, 512} },
+                               .eraseblocks = { {1024, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{F,S,V}29C51004T",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C51004T,
+               .total_size     = 512,
+               .page_size      = 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {1024, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{S,V}29C31004B",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C31004B,
+               .total_size     = 512,
+               .page_size      = 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {1024, 512} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "SyncMOS/MoselVitelic",
+               .name           = "{S,V}29C31004T",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = SYNCMOS_MVC_ID,
+               .model_id       = SM_MVC_29C31004T,
+               .total_size     = 512,
+               .page_size      = 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {1024, 512} },
                                .block_erase = erase_sector_jedec,
                        }, {
                                .eraseblocks = { {512 * 1024, 1} },

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h  Thu Jul 29 21:57:55 2010        (r1123)
+++ trunk/flashchips.h  Thu Jul 29 22:01:13 2010        (r1124)
@@ -514,11 +514,22 @@
 #define ST_M29W040B            0xE3
 #define ST_M29W512B            0x27
 
-#define SYNCMOS_ID             0x40    /* SyncMOS and Mosel Vitelic */
-#define S29C51001T             0x01
-#define S29C51002T             0x02
-#define S29C51004T             0x03
-#define S29C31004T             0x63
+#define SYNCMOS_MVC_ID         0x40    /* SyncMOS (SM) and Mosel Vitelic 
Corporation (MVC) */
+#define MVC_V29C51000T         0x00
+#define MVC_V29C51400T         0x13
+#define MVC_V29LC51000         0x20
+#define MVC_V29LC51001         0x60
+#define MVC_V29LC51002         0x82
+#define MVC_V29C51000B         0xA0
+#define MVC_V29C51400B         0xB3
+#define SM_MVC_29C51001T       0x01    /* Identical chips: {F,S,V}29C51001T */
+#define SM_MVC_29C51002T       0x02    /* Identical chips: {F,S,V}29C51002T */
+#define SM_MVC_29C51004T       0x03    /* Identical chips: {F,S,V}29C51004T */
+#define SM_MVC_29C31004T       0x63    /* Identical chips: {S,V}29C31004T */
+#define SM_MVC_29C31004B       0x73    /* Identical chips: {S,V}29C31004B */
+#define SM_MVC_29C51001B       0xA1    /* Identical chips: {F,S,V}29C51001B */
+#define SM_MVC_29C51002B       0xA2    /* Identical chips: {F,S,V}29C51002B */
+#define SM_MVC_29C51004B       0xA3    /* Identical chips: {F,S,V}29C51004B */
 
 #define TI_ID                  0x97    /* Texas Instruments */
 #define TI_OLD_ID              0x01    /* TI chips from last century */

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

Reply via email to