diff loadtools/fldevs.c @ 553:3886a8a40809

fc-loadtool: added support for old Am29DL640G flash chip
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 21 Dec 2019 10:48:24 +0000
parents 9a478d33b3ca
children f229efbfd581
line wrap: on
line diff
--- a/loadtools/fldevs.c	Sun Nov 17 22:40:36 2019 +0000
+++ b/loadtools/fldevs.c	Sat Dec 21 10:48:24 2019 +0000
@@ -52,6 +52,13 @@
 	.total_sectors	= 135,
 };
 
+static struct flash_geom geom_8M_bothends = {
+	.total_size	= 0x800000,
+	.nregions	= 3,
+	.regions	= {0x2000, 8, 0x10000, 126, 0x2000, 8},
+	.total_sectors	= 142,
+};
+
 static struct flash_geom geom_8M_topboot_big = {
 	.total_size	= 0x800000,
 	.nregions	= 2,
@@ -192,6 +199,46 @@
 	.cmdset			= &flash_cmdset_intel_w30,
 };
 
+/* classic AMD flash chips */
+
+static struct cfi_check Am29DL640G_cfi[] = {
+	{0x10, 'Q'},
+	{0x11, 'R'},
+	{0x12, 'Y'},
+	{0x13, 0x02},
+	{0x14, 0x00},
+	{0x15, 0x40},
+	{0x16, 0x00},
+	{0x27, 0x17},
+	{0x2C, 0x03},
+	{0x2D, 0x07},
+	{0x2E, 0x00},
+	{0x2F, 0x20},
+	{0x30, 0x00},
+	{0x31, 0x7D},
+	{0x32, 0x00},
+	{0x33, 0x00},
+	{0x34, 0x01},
+	{0x35, 0x07},
+	{0x36, 0x00},
+	{0x37, 0x20},
+	{0x38, 0x00},
+	{0x40, 'P'},
+	{0x41, 'R'},
+	{0x42, 'I'},
+	{0x43, '1'},
+	{0x44, '3'},
+	{-1,   0}
+};
+
+struct flash_device flashdev_Am29DL640G = {
+	.name			= "Am29DL640G",
+	.cfi_table		= Am29DL640G_cfi,
+	.required_global_config	= FLASH_GLOBAL_CFG_SINGLE_8M,
+	.bank_geom		= {&geom_8M_bothends, 0},
+	.cmdset			= &flash_cmdset_amd,
+};
+
 /* Spansion S71PL-J and S71PL-N flash */
 
 static struct cfi_check spansion_PL129J_cfi[] = {