Savva Mitrofanov has uploaded this change for review.

View Change

flashchips: Add AT45DB641E

Also use EDI(Extended Device Information) to differentiate AT45DB641E and AT45DB642D.
I have successfully tested it with CH341A-programmer.

Signed-off-by: Savva Mitrofanov <sk.mitrofanov@ispras.ru>
Change-Id: I56843b02bee74918a5131326627941ea82003f1f
---
M flashchips.c
M flashchips.h
2 files changed, 44 insertions(+), 1 deletion(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/45/63345/1
diff --git a/flashchips.c b/flashchips.c
index acb7718..4626f5c 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -3136,6 +3136,48 @@

{
.vendor = "Atmel",
+ .name = "AT45DB641E",
+ .bustype = BUS_SPI,
+ .manufacture_id = ATMEL_ID,
+ .model_id = ATMEL_AT45DB641E,
+ .total_size = 8192, /* or 8448, determined from status register */
+ .page_size = 256, /* or 264, determined from status register */
+ /* does not support EWSR nor WREN and has no writable status register bits whatsoever */
+ /* OTP: 128B total, 64B pre-programmed; read 0x77; write 0x9B */
+ .feature_bits = FEATURE_OTP,
+ .tested = TEST_OK_PREW,
+ .probe = probe_spi_at45db,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {256, 32768} },
+ .block_erase = spi_erase_at45db_page,
+ }, {
+ .eraseblocks = { {8 * 256, 32768/8} },
+ .block_erase = spi_erase_at45db_block,
+ }, {
+ .eraseblocks = {
+ {8 * 256, 1},
+ {1016 * 256, 1},
+ {1024 * 256, 31},
+ },
+ .block_erase = spi_erase_at45db_sector
+ }, {
+ .eraseblocks = { {8192 * 1024, 1} },
+ .block_erase = spi_erase_at45db_chip,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_at45db,
+ .unlock = spi_disable_blockprotect_at45db, /* Impossible if locked down or #WP is low */
+ /* granularity will be set by the probing function. */
+ .write = spi_write_at45db,
+ .read = spi_read_at45db, /* Fast read (0x0B) supported */
+ .voltage = {1700, 3600},
+ },
+
+ {
+ .vendor = "Atmel",
.name = "AT49(H)F010",
.bustype = BUS_PARALLEL,
.manufacture_id = ATMEL_ID,
diff --git a/flashchips.h b/flashchips.h
index ba97719..654b973 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -193,7 +193,8 @@
#define ATMEL_AT45DB321E /* same as above but with EDI 0x0100 */
#define ATMEL_AT45DB321D 0x2701 /* Buggy data sheet */
#define ATMEL_AT45DB642 /* No ID (opcode) available for AT45DB642 */
-#define ATMEL_AT45DB642D 0x2800
+#define ATMEL_AT45DB642D 0x280000
+#define ATMEL_AT45DB641E 0x280001
#define ATMEL_AT49BV512 0x03 /* Same as AT49F512 */
#define ATMEL_AT49F001N 0x05 /* Same as AT49F001 */
#define ATMEL_AT49F001NT 0x04 /* Same as AT49F001T */

To view, visit change 63345. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I56843b02bee74918a5131326627941ea82003f1f
Gerrit-Change-Number: 63345
Gerrit-PatchSet: 1
Gerrit-Owner: Savva Mitrofanov <savvamtr@gmail.com>
Gerrit-MessageType: newchange