Author: mhm
Date: Thu Sep 16 02:51:51 2010
New Revision: 1176
URL: http://flashrom.org/trac/flashrom/changeset/1176

Log:
Add chip definitions for the folowing chips:

Bright BM29F040
Hyundai HY29F040A
Macronix MX29F040

Also add chip IDs for
Bright BM29F400T/B

Datasheets:
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F040.pdf
http://www.ezoflash.com/datasheets/flash/Hyundai/HY29F040A.pdf
http://www.ezoflash.com/datasheets/flash/Macronix/MX29F040.pdf
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F400T_B.pdf

Bright BM29F040 probe/read test report:
http://www.flashrom.org/pipermail/flashrom/2010-September/004805.html

Signed-off-by: Joshua Roys <[email protected]>
Acked-by: Mattias Mattsson <[email protected]>

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

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c  Thu Sep 16 01:31:03 2010        (r1175)
+++ trunk/flashchips.c  Thu Sep 16 02:51:51 2010        (r1176)
@@ -1962,6 +1962,32 @@
        },
 
        {
+               .vendor         = "Bright",
+               .name           = "BM29F040",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = BRIGHT_ID,
+               .model_id       = BRIGHT_BM29F040,
+               .total_size     = 512,
+               .page_size      = 64 * 1024,
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_OK_PR,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {64 * 1024, 8} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
                .vendor         = "EMST",
                .name           = "F49B002UA",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
@@ -3085,6 +3111,32 @@
        },
 
        {
+               .vendor         = "Hyundai",
+               .name           = "HY29F040A",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = HYUNDAI_ID,
+               .model_id       = HYUNDAI_HY29F040A,
+               .total_size     = 512,
+               .page_size      = 64 * 1024,
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {64 * 1024, 8} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
                .vendor         = "Intel",
                .name           = "28F001BX-B",
                .bustype        = CHIP_BUSTYPE_PARALLEL,
@@ -3877,6 +3929,32 @@
                                .block_erase = erase_chip_block_jedec,
                        },
                },
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+       },
+
+       {
+               .vendor         = "Macronix",
+               .name           = "MX29F040",
+               .bustype        = CHIP_BUSTYPE_PARALLEL,
+               .manufacture_id = MACRONIX_ID,
+               .model_id       = MACRONIX_MX29F040,
+               .total_size     = 512,
+               .page_size      = 64 * 1024,
+               .feature_bits   = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {64 * 1024, 8} },
+                               .block_erase = erase_sector_jedec,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       },
+               },
                .write          = write_jedec_1,
                .read           = read_memmapped,
        },

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h  Thu Sep 16 01:31:03 2010        (r1175)
+++ trunk/flashchips.h  Thu Sep 16 02:51:51 2010        (r1176)
@@ -171,6 +171,12 @@
 #define ATMEL_AT49F002N                0x07    /* for AT49F002(N)  */
 #define ATMEL_AT49F002NT               0x08    /* for AT49F002(N)T */
 
+/* Bright Microelectronics has the same manufacturer ID as Hyundai... */
+#define BRIGHT_ID              0xAD    /* Bright Microelectronics */
+#define BRIGHT_BM29F040                0x40
+#define BRIGHT_BM29F400B       0xAB
+#define BRIGHT_BM29F400T       0xAD
+
 #define CATALYST_ID            0x31    /* Catalyst */
 
 #define EMST_ID                        0x8C    /* EMST / EFST Elite Flash 
Storage */

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

Reply via email to