[coreboot] [LinuxBIOS] abit be6

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Feb 8 15:39:39 CET 2008


On 29.01.2008 19:58, Jouni Mettälä wrote:
> On Jan 29, 2008 7:35 PM, Carl-Daniel Hailfinger wrote:
>
>   
>>> Yes flashrom doesn't recognize these chips (patched and unpatched)
>>> AT-29C020, W29C020C-90B, supported by flashrom
>>> Uniflash recognizes sst29ee010 chip and writes it. Chip is unsupported by
>>> flashrom.
>>> Writing with flashrom would be much more comfortable.
>>>
>>> Unfortunately I don't have another board which recognizes this W29C020-12
>>> chip.
>>
>> Please try to get verbose flashrom readings from all of these chips. We
>> can add support for them once we know how their ID as it appears to
>> flashrom.
>>
>>     
> Attached flashrom -V output of some chips: Two of SST29EE010 seems to have different output.
>   

Thanks. Analysis follows:
The AT29C020 is not recognized at all although we tested support for it
recently. In you case, the response to the probe is garbage.
The SST29EE010 is not recognized at all. We do not currently support it,
but even with my patch to support it, detection will fail because the
response to the probe is garbage.
The W29C020 is not recognized at all. It is supported, but the response
to the probe is garbage.

That either means the delay in probing is too short (AT29C020 only) or
the probing never reaches the chip (decoding problem or missing board
enable) or you have BIOS ROM shadowing turned on.

The success with AE49F2008 might have been fake (it was pure luck that
some garbage response looked like a semi-valid chip ID).

Do you have any other board which recognizes the AT29C020 or the SST29EE010?

This is a patch to test with:

Index: flashrom-sst29le010/flash.h
===================================================================
--- flashrom-sst29le010/flash.h	(Revision 3098)
+++ flashrom-sst29le010/flash.h	(Arbeitskopie)
@@ -199,7 +199,10 @@
 #define SST_25VF032B		0x254A
 #define SST_25VF040B		0x258D
 #define SST_25VF080B		0x258E
+#define SST_29EE010		0x07
+#define SST_29LE010		0x08	/* also SST29VE010 */
 #define SST_29EE020A		0x10
+#define SST_29LE020		0x12	/* also SST29VE020 */
 #define SST_28SF040		0x04
 #define SST_39SF010		0xB5
 #define SST_39SF020		0xB6
Index: flashrom-sst29le010/jedec.c
===================================================================
--- flashrom-sst29le010/jedec.c	(Revision 3098)
+++ flashrom-sst29le010/jedec.c	(Arbeitskopie)
@@ -95,7 +95,7 @@
 	 * needs 10 ms according to the data sheet, but it has been tested
 	 * to work reliably with 20 us. Allow a factor of 2 safety margin.
 	 */
-	myusec_delay(40);
+	myusec_delay(10000);
 
 	/* Read product ID */
 	id1 = *(volatile uint8_t *)bios;
Index: flashrom-sst29le010/flashchips.c
===================================================================
--- flashrom-sst29le010/flashchips.c	(Revision 3098)
+++ flashrom-sst29le010/flashchips.c	(Arbeitskopie)
@@ -62,8 +62,14 @@
 	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write, generic_spi_chip_read},
 	{"SST25VF016B",	SST_ID,		SST_25VF016B,	2048,	256,
 	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write, generic_spi_chip_read},
+	{"SST29EE010",	SST_ID,		SST_29EE010,	128, 128,
+	 probe_jedec,	erase_chip_jedec, write_jedec},
+	{"SST29LE010",	SST_ID,		SST_29LE010,	128, 128,
+	 probe_jedec,	erase_chip_jedec, write_jedec},
 	{"SST29EE020A", SST_ID,		SST_29EE020A,	256, 128,
 	 probe_jedec,	erase_chip_jedec, write_jedec},
+	{"SST29LE020",	SST_ID,		SST_29LE020,	256, 128,
+	 probe_jedec,	erase_chip_jedec, write_jedec},
 	{"SST28SF040A", SST_ID,		SST_28SF040,	512, 256,
 	 probe_28sf040, erase_28sf040, write_28sf040},
 	{"SST39SF010A", SST_ID,		SST_39SF010,	128, 4096,






More information about the coreboot mailing list