diff --git a/flash.h b/flash.h
index 835c919d11d34829d9f76d0190779751018d9b72..15b063670d7db91416efe69b0d90ef0d294f6baf 100644
--- a/flash.h
+++ b/flash.h
@@ -525,6 +525,9 @@ extern const struct board_info boards_bad[];
 #define S29C31004T		0x63
 
 #define TI_ID			0x97	/* Texas Instruments */
+#define TI_OLD_ID		0x01	/* TI chips from last century */
+#define TI_TMS29F002RT		0xB0
+#define TI_TMS29F002RB		0x34
 
 /*
  * W25X chips are SPI, first byte of device ID is memory type, second
diff --git a/flashchips.c b/flashchips.c
index 618a091bd9a5b00e5a8882fdc95f09fc4fb0d2df..aedddd9680d20d71937689f4a8cdf31bd5437a06 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -2054,6 +2054,34 @@ struct flashchip flashchips[] = {
 		.read		= read_memmapped,
 	},
 
+	{
+		.vendor		= "Texas Instruments",
+		.name		= "TMS29F002RB",
+		.manufacture_id	= TI_OLD_ID,
+		.model_id	= TI_TMS29F002RB,
+		.total_size	= 256,
+		.page_size	= 16384, /* Non-uniform sectors */
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_jedec,
+		.erase		= NULL,
+		.write		= NULL,
+		.read		= read_memmapped,
+	},
+
+	{
+		.vendor		= "Texas Instruments",
+		.name		= "TMS29F002RT",
+		.manufacture_id	= TI_OLD_ID,
+		.model_id	= TI_TMS29F002RT,
+		.total_size	= 256,
+		.page_size	= 16384, /* Non-uniform sectors */
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_jedec,
+		.erase		= NULL,
+		.write		= NULL,
+		.read		= read_memmapped,
+	},
+
 	{
 		.vendor		= "Winbond",
 		.name		= "W25x10",