[LinuxBIOS] [PATCH] flashrom: Support EON EN29F002(A)(N)B, improve naming for the EN29F002 series

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Dec 31 03:07:15 CET 2007


On 30.12.2007 21:09, Markus wrote:
> Am Tue, 18 Dec 2007 00:53:37 +0100
> schrieb Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>:
>
>   
>> On 24.09.2007 00:38, Carl-Daniel Hailfinger wrote:
>>     
>>> On 31.08.2007 21:40, Markus Boas wrote:
>>>   
>>>       
>>>> I send a patch to add support for the EON EN29F002NT
>>>> Write, read works.
>>>>     
>>>>         
>>> Sorry, but the data sheet says you're only doing half of the
>>> identification and this will match all EON chips.
>>>   
>>>       
>> Can you test this patch? If identification fails, can you post the
>> output of "flashrom --verbose" ? Thanks!
>>     
>
> Geode:~# ./flashrom --verbose
> Calibrating delay loop... 27M loops per second. OK.
> No LinuxBIOS table found.
> Found chipset "CS5530/CS5530A", enabling flash write... OK.
> Probing for Am29F040B, 512 KB
> probe_29f040b: id1 0x25, id2 0x9f
> Probing for Am29LV040B, 512 KB
> probe_29f040b: id1 0x25, id2 0x9f
> Probing for Am29F016D, 2048 KB
> probe_29f040b: id1 0x25, id2 0x9f
> Probing for AE49F2008, 256 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> Probing for At29C040A, 512 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> Probing for At29C020, 256 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> Probing for At49F002(N), 256 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> Probing for At49F002(N)T, 256 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> Probing for EN29F002AT, 256 KB
> probe_jedec: id1 0x7f1c, id2 0x7f92
> EN29F002AT found at physical address 0xfffc0000.
> Flash part is EN29F002AT (256 KB).
> No operations were specified.
>   

Thanks! So the code works exactly as I thought.

> The Chip is an EN29F002NT.
>   

What do you think about this patch?

Unfortunately, EN29F002T, EN29F002AT, EN29F002ANT, EN29F002NT all have
exactly the same ID. Improve model number printing.
Add EN29F002(A)(N)B support while I'm at it.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: flashrom-eon/flash.h
===================================================================
--- flashrom-eon/flash.h	(Revision 3030)
+++ flashrom-eon/flash.h	(Arbeitskopie)
@@ -109,8 +109,8 @@
 #define EN_29F040A		0x7F04
 #define EN_29LV010		0x7F6E
 #define EN_29LV040A		0x7F4F	/* EN_29LV040(A) */
-#define EN_29F002AT		0x7F92
-#define EN_29F002AB		0x7F97
+#define EN_29F002T		0x7F92
+#define EN_29F002B		0x7F97
 
 #define FUJITSU_ID		0x04	/* Fujitsu */
 /* MBM29F400TC_STRANGE has a value not mentioned in the data sheet and we
Index: flashrom-eon/flashchips.c
===================================================================
--- flashrom-eon/flashchips.c	(Revision 3030)
+++ flashrom-eon/flashchips.c	(Arbeitskopie)
@@ -42,9 +42,10 @@
 	 probe_jedec,	erase_chip_jedec, write_jedec},
 	{"At49F002(N)T",ATMEL_ID,	AT_49F002NT,	256, 256,
 	 probe_jedec,	erase_chip_jedec, write_jedec},
-	/* The EN29F002AT can do byte program at arbitrary boundaries. */
-	{"EN29F002AT",	EON_ID,		EN_29F002AT,	256, 256,
+	{"EN29F002(A)(N)T",	EON_ID,	EN_29F002T,	256, 256,
 	 probe_jedec,	erase_chip_jedec, write_jedec},
+	{"EN29F002(A)(N)B",	EON_ID,	EN_29F002B,	256, 256,
+	 probe_jedec,	erase_chip_jedec, write_jedec},
 	{"MBM29F400TC",	FUJITSU_ID,	MBM29F400TC_STRANGE,	512, 64 * 1024,
 	 probe_m29f400bt, erase_m29f400bt, write_linuxbios_m29f400bt},
 	{"MX29F002",	MX_ID,		MX_29F002,	256, 64 * 1024,




> read, write and verify don't realy work. But i'm think the chip is
> destroyed. If i belief my memory, i was able to write once the chip, no
> more afterwards. 
>   

Maybe some block protection bits are set in the chip? We don't handle
protection bits for any EON chip right now.


Regards,
Carl-Daniel




More information about the coreboot mailing list