Hello,

  This patch implements the handling of the Adesto AT25SF041A flash chip. This 
chip 
is an improved version of the Atmel AT25DF041A, and support the same protcol, 
but with a different id, 0x8401 insted of 0x4401. 

Tested on BeagleBone board. 

Signed-off-by: Diego Roversi <die...@tiscali.it>

Index: flashchips.c
===================================================================
--- flashchips.c        (revision 1955)
+++ flashchips.c        (working copy)
@@ -1558,10 +1558,48 @@
                .read           = spi_chip_read,
                .voltage        = {2700, 3600}, /* 2.3-3.6V & 2.7-3.6V models 
available */
        },
 
        {
+               .vendor         = "Adesto",
+               .name           = "AT25SF041A",
+               .bustype        = BUS_SPI,
+               .manufacture_id = ATMEL_ID,
+               .model_id       = ATMEL_AT25SF041A,
+               .total_size     = 512,
+               .page_size      = 256,
+               .feature_bits   = FEATURE_WRSR_WREN,
+               .tested         = TEST_OK_PREW,
+               .probe          = probe_spi_rdid,
+               .probe_timing   = TIMING_ZERO,
+               .block_erasers  =
+               {
+                       {
+                               .eraseblocks = { {4 * 1024, 128} },
+                               .block_erase = spi_block_erase_20,
+                       }, {
+                               .eraseblocks = { {32 * 1024, 16} },
+                               .block_erase = spi_block_erase_52,
+                       }, {
+                               .eraseblocks = { {64 * 1024, 8} },
+                               .block_erase = spi_block_erase_d8,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = spi_block_erase_60,
+                       }, {
+                               .eraseblocks = { {512 * 1024, 1} },
+                               .block_erase = spi_block_erase_c7,
+                       }
+               },
+               .printlock      = spi_prettyprint_status_register_at25df,
+               .unlock         = 
spi_disable_blockprotect_at2x_global_unprotect,
+               .write          = spi_chip_write_256,
+               .read           = spi_chip_read,
+               .voltage        = {2700, 3600}, /* 2.3-3.6V & 2.7-3.6V models 
available */
+       },
+
+       {
                .vendor         = "Atmel",
                .name           = "AT25DF081",
                .bustype        = BUS_SPI,
                .manufacture_id = ATMEL_ID,
                .model_id       = ATMEL_AT25DF081,
Index: flashchips.h
===================================================================
--- flashchips.h        (revision 1955)
+++ flashchips.h        (working copy)
@@ -131,10 +131,11 @@
 #define AMIC_A49LF040A         0x9d
 
 #define ATMEL_ID               0x1F    /* Atmel (now used by Adesto) */
 #define ATMEL_AT25DF021                0x4300
 #define ATMEL_AT25DF041A       0x4401
+#define ATMEL_AT25SF041A       0x8401
 #define ATMEL_AT25DF081                0x4502  /* EDI 0x00. AT25DL081 has same 
ID + EDI 0x0100 */
 #define ATMEL_AT25DF081A       0x4501  /* Yes, 81A has a lower number than 81 
*/
 #define ATMEL_AT25DF161                0x4602
 #define ATMEL_AT25DF321                0x4700  /* Same as 26DF321 */
 #define ATMEL_AT25DF321A       0x4701


-- 
Diego Roversi <die...@tiscali.it>

_______________________________________________
flashrom mailing list
flashrom@flashrom.org
https://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to