Add initial Atmel AT49LH002 FWH/LPC chip support

The chip code is untested, only one erase function out of two is currently
implemented, and unlocking/printlocking is not yet supported.

Thanks Mattias Mattsson <vitplister@gmail.com> for the initial patch!

Corresponding to flashrom svn r1434.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
diff --git a/flashchips.c b/flashchips.c
index 4b6cf3f..f3cca35 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -2305,6 +2305,42 @@
 	},
 
 	{
+		.vendor		= "Atmel",
+		.name		= "AT49LH002",
+		.bustype	= BUS_LPC | BUS_FWH, /* A/A Mux */
+		.manufacture_id	= ATMEL_ID,
+		.model_id	= ATMEL_AT49LH002,
+		.total_size	= 256,
+		.page_size	= 0, /* unused */
+		.feature_bits	= FEATURE_REGISTERMAP, /* TODO: LPC OK too? */
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_82802ab, /* TODO: 0xff cmd not documented? */
+		.probe_timing	= TIMING_FIXME,
+		.block_erasers	=
+		{
+			{
+				.eraseblocks = {
+					{64 * 1024, 3},
+					{32 * 1024, 1},
+					{8 * 1024, 2},
+					{16 * 1024, 1},
+				},
+				.block_erase = erase_block_82802ab,
+			}, {
+				.eraseblocks = {
+					{64 * 1024, 4},
+				},
+				.block_erase = NULL, /* TODO: Implement. */
+			},
+		},
+		.printlock	= NULL, /* TODO */
+		.unlock		= NULL, /* unlock_82802ab() not correct(?) */
+		.write		= write_82802ab,
+		.read		= read_memmapped,
+		.voltage	= {3000, 3600},
+	},
+
+	{
 		.vendor		= "Bright",
 		.name		= "BM29F040",
 		.bustype	= BUS_PARALLEL,
diff --git a/flashchips.h b/flashchips.h
index e8b46ad..638bf4b 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -184,6 +184,7 @@
 #define ATMEL_AT49F020		0x0B
 #define ATMEL_AT49F002N		0x07	/* for AT49F002(N)  */
 #define ATMEL_AT49F002NT		0x08	/* for AT49F002(N)T */
+#define ATMEL_AT49LH002		0xE9
 
 /* Bright Microelectronics has the same manufacturer ID as Hyundai... */
 #define BRIGHT_ID		0xAD	/* Bright Microelectronics */