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,



-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to