Author: stefanct
Date: Tue Aug 14 01:43:46 2012
New Revision: 1572
URL: http://flashrom.org/trac/flashrom/changeset/1572

Log:
Add support for Atmel AT49(H)F010, AT49F080 and AT49F080T.

Also, alter the page size of the other family members to indicate that it is
unused. Maybe we this accelerates the deletion of this field... haha.

Signed-off-by: Andrew Morgan <[email protected]>
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  Mon Aug 13 18:33:04 2012        (r1571)
+++ trunk/flashchips.c  Tue Aug 14 01:43:46 2012        (r1572)
@@ -2317,12 +2317,37 @@
 
        {
                .vendor         = "Atmel",
+               .name           = "AT49(H)F010",
+               .bustype        = BUS_PARALLEL,
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT49F010,
+               .total_size     = 128,
+               .page_size      = 0, /* unused */
+               .feature_bits   = FEATURE_EITHER_RESET,
+               .tested         = TEST_OK_PREW,
+               .probe          = probe_jedec,
+               .probe_timing   = TIMING_ZERO,  /* Datasheet has no timing info 
specified */
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {128 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       }
+               },
+               .printlock      = printlock_at49f,
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+               .voltage        = {4500, 5500},
+       },
+
+       {
+               .vendor         = "Atmel",
                .name           = "AT49F020",
                .bustype        = BUS_PARALLEL,
                .manufacture_id = ATMEL_ID,
                .model_id       = ATMEL_AT49F020,
                .total_size     = 256,
-               .page_size      = 256,
+               .page_size      = 0, /* unused */
                .feature_bits   = FEATURE_EITHER_RESET,
                .tested         = TEST_OK_PRE,
                .probe          = probe_jedec,
@@ -2353,7 +2378,7 @@
                .manufacture_id = ATMEL_ID,
                .model_id       = ATMEL_AT49F040,
                .total_size     = 512,
-               .page_size      = 512,
+               .page_size      = 0, /* unused */
                .feature_bits   = FEATURE_EITHER_RESET,
                .tested         = TEST_UNTESTED,
                .probe          = probe_jedec,
@@ -2370,6 +2395,69 @@
                         * FIXME: add another eraser when partial erasers are
                         * supported.
                         */
+               },
+               .printlock      = printlock_at49f,
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+               .voltage        = {4500, 5500},
+       },
+
+       {
+               .vendor         = "Atmel",
+               .name           = "AT49F080",
+               .bustype        = BUS_PARALLEL,
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT49F080,
+               .total_size     = 1024,
+               .page_size      = 0, /* unused */
+               .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 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       }
+                       /* Chip features an optional permanent write protection
+                        * of the first 16 kB. The erase function is the same as
+                        * above, but 00000H to 03FFFH will not be erased.
+                        * FIXME: add another eraser when partial erasers are
+                        * supported.
+                        */
+               },
+               .printlock      = printlock_at49f,
+               .write          = write_jedec_1,
+               .read           = read_memmapped,
+               .voltage        = {4500, 5500},
+       },
+
+       {
+               /* 'top' version of AT49F080. equal in all aspects but the boot 
block address */
+               .vendor         = "Atmel",
+               .name           = "AT49F080T",
+               .bustype        = BUS_PARALLEL,
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT49F080T,
+               .total_size     = 1024,
+               .page_size      = 0, /* unused */
+               .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 * 1024, 1} },
+                               .block_erase = erase_chip_block_jedec,
+                       }
+                       /* Chip features an optional permanent write protection
+                        * of the first 16 kB. The erase function is the same as
+                        * above, but FC000H to FFFFFH will not be erased.
+                        * FIXME: add another eraser when partial erasers are
+                        * supported.
+                        */
                },
                .printlock      = printlock_at49f,
                .write          = write_jedec_1,

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h  Mon Aug 13 18:33:04 2012        (r1571)
+++ trunk/flashchips.h  Tue Aug 14 01:43:46 2012        (r1572)
@@ -187,8 +187,11 @@
 #define ATMEL_AT49F002N                0x07    /* for AT49F002(N)  */
 #define ATMEL_AT49LH002                0xE9
 #define ATMEL_AT49F002NT       0x08    /* for AT49F002(N)T */
+#define ATMEL_AT49F010         0x17    /* Same as AT49HF010 */
 #define ATMEL_AT49F020         0x0B
 #define ATMEL_AT49F040         0x13
+#define ATMEL_AT49F080         0x23
+#define ATMEL_AT49F080T                0x27
 
 /* Bright Microelectronics has the same manufacturer ID as Hyundai... */
 #define BRIGHT_ID              0xAD    /* Bright Microelectronics */

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

Reply via email to