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)  */