flashchips: Add AT49F511 parallel flash chip
Simple 5V only, parallel flash. 512kbit density tested. No datasheet
found, but seems to be very similar to AT49F512. Additionally tested
and confirmed working was the JEDEC erase sector command (though, it
does the same as erasing the whole chip, so it's one 64KiB sector).
Datasheet used:
https://media.digikey.com/pdf/Data%20Sheets/Atmel%20PDFs/AT49F512.pdf
Change-Id: Ia7cdcb2c0f6801cd7479262ab9df3742b877cca0
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/525
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/flashchips.c b/flashchips.c
index f5a8b85..27b7749 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -3244,6 +3244,34 @@
{
.vendor = "Atmel",
+ .name = "AT49F511",
+ .bustype = BUS_PARALLEL,
+ .id.type = ID_JEDEC,
+ .id.manufacture = ATMEL_ID,
+ .id.model = ATMEL_AT49F511,
+ .total_size = 64,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_OK_PREW,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 1} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {64 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ }
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ .prepare_access = prepare_memory_access,
+ .finish_access = finish_memory_access,
+ },
+
+ {
+ .vendor = "Atmel",
.name = "AT49F002(N)",
.bustype = BUS_PARALLEL,
.id.type = ID_JEDEC,
diff --git a/include/flashchips.h b/include/flashchips.h
index e999446..0631277 100644
--- a/include/flashchips.h
+++ b/include/flashchips.h
@@ -194,6 +194,7 @@
#define ATMEL_AT45DB642 /* No ID (opcode) available for AT45DB642 */
#define ATMEL_AT45DB642D 0x2800
#define ATMEL_AT49BV512 0x03 /* Same as AT49F512 */
+#define ATMEL_AT49F511 0x04
#define ATMEL_AT49F001N 0x05 /* Same as AT49F001 */
#define ATMEL_AT49F001NT 0x04 /* Same as AT49F001T */
#define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */