Skip to contentSkip to conversation

Support HY28F002T parts in JEDEC probe

PATCH New Ian Campbell 1 participant 1 message Oct 31, 2002 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Support HY28F002T parts in JEDEC probe

Hi,

I'm not sure if this is useful, but I thought I'd contribute it back.

The attached patch causes the JEDEC probe to recognize parts of type HY28F002T, this is a 256k EEPROM which we happen to use on some of our boards for the BIOS.

Cheers,
Ian.

Signature · 18 lines
Ian Campbell
Design Engineer

Arcom Control Systems Ltd,
Clifton Road,
Cambridge CB1 7EA
United Kingdom

Tel: +44 (0)1223 403465
E-Mail: [email protected]
Web: http://www.arcomcontrols.com


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs SkyScan
service. For more information on a proactive anti-virus service working
around the clock, around the globe, visit http://www.messagelabs.com
________________________________________________________________________
drivers/mtd/chips/jedec_probe.c +28 -1
diff -urN kernel-2.4.18.orig/drivers/mtd/chips/jedec_probe.c kernel-2.4.18/drivers/mtd/chips/jedec_probe.c
@@ -26,6 +26,7 @@
 #define MANUFACTURER_ST		0x0020
 #define MANUFACTURER_SST	0x00BF
 #define MANUFACTURER_TOSHIBA	0x0098
+#define MANUFACTURER_HYUNDAI	0x00AD
 
 /* AMD */
 #define AM29F800BB	0x2258
@@ -34,6 +35,7 @@
 #define AM29LV800BT	0x22DA
 #define AM29LV160DT	0x22C4
 #define AM29LV160DB	0x2249
+#define AM29F002T	0x00B0
 
 /* Atmel */
 #define AT49BV16X4	0x00c0
@@ -56,6 +58,8 @@
 #define TC58FVT160	0x00C2
 #define TC58FVB160	0x0043
 
+/* Hyundai */
+#define HY29F002T	0x00B0
 
 struct amd_flash_info {
 	const __u16 mfr_id;
@@ -69,6 +73,7 @@
 
 #define ERASEINFO(size,blocks) (size<<8)|(blocks-1)
 
+#define SIZE_256KiB 18
 #define SIZE_1MiB 20
 #define SIZE_2MiB 21
 #define SIZE_4MiB 22
@@ -248,6 +253,28 @@
                           ERASEINFO(0x08000,2),
 			  ERASEINFO(0x02000,8)
                 }
+	}, {
+                mfr_id: MANUFACTURER_AMD,
+                dev_id: AM29F002T,
+                name: "AMD AM29F002T",
+                DevSize: SIZE_256KiB,
+                NumEraseRegions: 4,
+                regions: {ERASEINFO(0x10000,3),
+                          ERASEINFO(0x08000,1),
+			  ERASEINFO(0x02000,2),
+			  ERASEINFO(0x04000,1)
+                }
+	}, {
+                mfr_id: MANUFACTURER_HYUNDAI,
+                dev_id: HY29F002T,
+                name: "Hyundau HY29F002T",
+                DevSize: SIZE_256KiB,
+                NumEraseRegions: 4,
+                regions: {ERASEINFO(0x10000,3),
+                          ERASEINFO(0x08000,1),
+			  ERASEINFO(0x02000,2),
+			  ERASEINFO(0x04000,1)
+                }
 	} 
 };
 
@@ -334,7 +361,7 @@
 		
 		cfi->mfr = jedec_read_mfr(map, base, osf);
 		cfi->id = jedec_read_id(map, base, osf);
-		
+
 		for (i=0; i<sizeof(jedec_table)/sizeof(jedec_table[0]); i++) {
 			if (cfi->mfr == jedec_table[i].mfr_id &&
 			    cfi->id == jedec_table[i].dev_id)