Author: stefanct
Date: Sun Aug  3 15:05:45 2014
New Revision: 1834
URL: http://flashrom.org/trac/flashrom/changeset/1834

Log:
Add support for Atmel AT49LH004 and AT49LH00B4.

Also, slightly refine the definition of AT49LH002.

Signed-off-by: Stefan Tauner <[email protected]>
Acked-by: Stefan Tauner <[email protected]>

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

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c  Sun Aug  3 15:05:34 2014        (r1833)
+++ trunk/flashchips.c  Sun Aug  3 15:05:45 2014        (r1834)
@@ -3049,10 +3049,10 @@
                .model_id       = ATMEL_AT49LH002,
                .total_size     = 256,
                .page_size      = 0, /* unused */
-               .feature_bits   = FEATURE_REGISTERMAP, /* TODO: LPC OK too? */
+               .feature_bits   = FEATURE_REGISTERMAP,
                .tested         = TEST_UNTESTED,
-               .probe          = probe_82802ab, /* TODO: 0xff cmd not 
documented? */
-               .probe_timing   = TIMING_FIXME,
+               .probe          = probe_82802ab,
+               .probe_timing   = TIMING_ZERO,
                .block_erasers  =
                {
                        {
@@ -3062,16 +3062,88 @@
                                        {8 * 1024, 2},
                                        {16 * 1024, 1},
                                },
-                               .block_erase = erase_block_82802ab,
+                               .block_erase = NULL, /* TODO: Implement. */
                        }, {
                                .eraseblocks = {
                                        {64 * 1024, 4},
                                },
+                               .block_erase = erase_block_82802ab,
+                       },
+               },
+               .printlock      = printlock_regspace2_block_eraser_0,
+               .unlock         = unlock_regspace2_block_eraser_0,
+               .write          = write_82802ab,
+               .read           = read_memmapped,
+               .voltage        = {3000, 3600},
+       },
+
+       {
+               .vendor         = "Atmel",
+               .name           = "AT49LH00B4",
+               .bustype        = BUS_LPC | BUS_FWH, /* A/A Mux */
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT49LH00B4,
+               .total_size     = 512,
+               .page_size      = 0, /* unused */
+               .feature_bits   = FEATURE_REGISTERMAP,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_82802ab,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {8 * 1024, 2},
+                                       {16 * 1024, 1},
+                                       {32 * 1024, 1},
+                                       {64 * 1024, 7},
+                               },
+                               .block_erase = NULL, /* TODO: Implement. */
+                       }, {
+                               .eraseblocks = {
+                                       {64 * 1024, 8},
+                               },
+                               .block_erase = erase_block_82802ab,
+                       },
+               },
+               .printlock      = printlock_regspace2_block_eraser_0,
+               .unlock         = unlock_regspace2_block_eraser_0,
+               .write          = write_82802ab,
+               .read           = read_memmapped,
+               .voltage        = {3000, 3600},
+       },
+
+       {
+               .vendor         = "Atmel",
+               .name           = "AT49LH004",
+               .bustype        = BUS_LPC | BUS_FWH, /* A/A Mux */
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT49LH004,
+               .total_size     = 512,
+               .page_size      = 0, /* unused */
+               .feature_bits   = FEATURE_REGISTERMAP,
+               .tested         = TEST_UNTESTED,
+               .probe          = probe_82802ab,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = {
+                                       {64 * 1024, 7},
+                                       {32 * 1024, 1},
+                                       {8 * 1024, 2},
+                                       {16 * 1024, 1},
+                               },
+                               .block_erase = erase_block_82802ab,
+                       }, {
+                               .eraseblocks = {
+                                       {64 * 1024, 8},
+                               },
                                .block_erase = NULL, /* TODO: Implement. */
                        },
                },
-               .printlock      = NULL, /* TODO */
-               .unlock         = NULL, /* unlock_82802ab() not correct(?) */
+               .printlock      = printlock_regspace2_block_eraser_0,
+               .unlock         = unlock_regspace2_block_eraser_0,
                .write          = write_82802ab,
                .read           = read_memmapped,
                .voltage        = {3000, 3600},

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h  Sun Aug  3 15:05:34 2014        (r1833)
+++ trunk/flashchips.h  Sun Aug  3 15:05:45 2014        (r1834)
@@ -190,6 +190,8 @@
 #define ATMEL_AT49BV512                0x03
 #define ATMEL_AT49F002N                0x07    /* for AT49F002(N)  */
 #define ATMEL_AT49LH002                0xE9
+#define ATMEL_AT49LH00B4       0xED
+#define ATMEL_AT49LH004                0xEE
 #define ATMEL_AT49F002NT       0x08    /* for AT49F002(N)T */
 #define ATMEL_AT49F010         0x17    /* Same as AT49HF010 */
 #define ATMEL_AT49F020         0x0B

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

Reply via email to