Convert chips to block_erasers:
SyncMOS S29C31004T
SyncMOS S29C51001T
SyncMOS S29C51002T
SyncMOS S29C51004T
TI TMS29F002RT
TI TMS29F002RB

Signed-off-by: Sean Nelson <[email protected]>

diff --git a/flashchips.c b/flashchips.c
index 8e90d2a..2103874 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -4415,15 +4415,28 @@ struct flashchip flashchips[] = {
                .manufacture_id = SYNCMOS_ID,
                .model_id       = S29C31004T,
                .total_size     = 512,
                .page_size      = 128,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
-               .erase          = erase_chip_jedec,
+               .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {1 * 1024, 496},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = write_49f002,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "SyncMOS",
                .name           = "S29C51001T",
@@ -4431,31 +4444,57 @@ struct flashchip flashchips[] = {
                .manufacture_id = SYNCMOS_ID,
                .model_id       = S29C51001T,
                .total_size     = 128,
                .page_size      = 128,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
-               .erase          = erase_chip_jedec,
+               .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {512, 240},
+                                       {8 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {128 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = write_49f002,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "SyncMOS",
                .name           = "S29C51002T",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
                .manufacture_id = SYNCMOS_ID,
                .model_id       = S29C51002T,
                .total_size     = 256,
                .page_size      = 128,
-               .tested         = TEST_OK_PREW,
+               .tested         = TEST_OK_PRW,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
-               .erase          = erase_chip_jedec,
+               .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {512, 480},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {256 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = write_49f002,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "SyncMOS",
                .name           = "S29C51004T",
@@ -4463,15 +4502,28 @@ struct flashchip flashchips[] = {
                .manufacture_id = SYNCMOS_ID,
                .model_id       = S29C51004T,
                .total_size     = 512,
                .page_size      = 128,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,
-               .erase          = erase_chip_jedec,
+               .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {1 * 1024, 496},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = write_49f002,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "TI",
                .name           = "TMS29F002RB",
@@ -4480,14 +4532,29 @@ struct flashchip flashchips[] = {
                .model_id       = TI_TMS29F002RB,
                .total_size     = 256,
                .page_size      = 16384, /* Non-uniform sectors */
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
                .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {16 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {32 * 1024, 1},
+                                       {64 * 1024, 3},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {256 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = NULL,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "TI",
                .name           = "TMS29F002RT",
@@ -4496,14 +4563,29 @@ struct flashchip flashchips[] = {
                .model_id       = TI_TMS29F002RT,
                .total_size     = 256,
                .page_size      = 16384, /* Non-uniform sectors */
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
                .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
                .erase          = NULL,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {64 * 1024, 3},
+                                       {32 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {256 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = NULL,
                .read           = read_memmapped,
        },
 
        {
                .vendor         = "Winbond",
                .name           = "W25x10",
_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to