Author: hailfinger
Date: Sat Feb  5 13:11:17 2011
New Revision: 1260
URL: http://flashrom.org/trac/flashrom/changeset/1260

Log:
Add support for AMD Am29LV001BB, Am29LV001BT, Am29LV002BB, Am29LV002BT,
Am29LV004BB, Am29LV004BT, Am29LV008BB, Am29LV008BT

Thanks to Mark Pustjens for testing the Am29LV001BB.

Signed-off-by: Carl-Daniel Hailfinger <[email protected]>
Acked-by: Stefan Reinauer <[email protected]>

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

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c  Fri Feb  4 23:52:04 2011        (r1259)
+++ trunk/flashchips.c  Sat Feb  5 13:11:17 2011        (r1260)
@@ -224,6 +224,252 @@
 
        {
                .vendor         = "AMD",
+               .name           = "Am29LV001BB",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV001BB,
+               .total_size     = 128,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_OK_PREW,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {8 * 1024, 1},
+                                       {4 * 1024, 2},
+                                       {16 * 1024, 7},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {128 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV001BT",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV001BT,
+               .total_size     = 128,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {16 * 1024, 7},
+                                       {4 * 1024, 2},
+                                       {8 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {128 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV002BB",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV002BB,
+               .total_size     = 256,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .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          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV002BT",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV002BT,
+               .total_size     = 256,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .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          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV004BB",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV004BB,
+               .total_size     = 512,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {16 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {32 * 1024, 1},
+                                       {64 * 1024, 7},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV004BT",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV004BT,
+               .total_size     = 512,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {64 * 1024, 7},
+                                       {32 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV008BB",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV008BB,
+               .total_size     = 1024,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {16 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {32 * 1024, 1},
+                                       {64 * 1024, 15},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {1024 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
+               .name           = "Am29LV008BT",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = AMD_ID,
+               .model_id       = AMD_AM29LV008BT,
+               .total_size     = 1024,
+               .page_size      = 64 * 1024, /* unused */
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {64 * 1024, 15},
+                                       {32 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {1024 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "AMD",
                .name           = "Am29LV040B",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
                .manufacture_id = AMD_ID,

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h  Fri Feb  4 23:52:04 2011        (r1259)
+++ trunk/flashchips.h  Sat Feb  5 13:11:17 2011        (r1260)
@@ -70,6 +70,8 @@
 #define AMD_AM29F400BT         0x23
 #define AMD_AM29F800BB         0x58
 #define AMD_AM29F800BT         0xD6
+#define AMD_AM29LV001BB                0x6D
+#define AMD_AM29LV001BT                0xED
 #define AMD_AM29LV002BB                0xC2
 #define AMD_AM29LV002BT                0x40
 #define AMD_AM29LV004BB                0xB6

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

Reply via email to