[flashrom] [PATCH] adding Adesto at25sf041a serial spi flash

Diego Roversi diegor at tiscali.it
Fri Oct 14 12:09:49 CEST 2016


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 <diegor at 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 <diegor at tiscali.it>



More information about the flashrom mailing list