[flashrom] Macronix MX25L6445E

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Jul 18 23:44:55 CEST 2011


Am 18.07.2011 19:07 schrieb Stefan Reinauer:
> * Wagner, Helge (GE Intelligent Platforms) <Helge.Wagner at ge.com> [110527 15:46]:
>   
>> To be sure that the spi_block_erase_20 works for both the MX25L6405 and the
>> MX25L6445E, we could change the block erase size from 64K to 4K. This should
>> work even for the MX25L6405, but with the side effect of the erase taking
>> longer than needed.
>>
>>  
>>
>> Any comments?
>>     
>  
> works great for me! 
>  
>   
>> Please find my patches included.
>>
>> Signed-off-by: Helge Wagner <helge.wagner at ge.com>
>>     
> Acked-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
>   

Sorry, but AFAICS this will cause chip corruption. To be exact,
specifying a too small eraseblock size (4 kB instead of 64 kB) means
that flashrom will walk the device in 4 kB blocks, erase each block and
write to it. Now if the actual erase block size is bigger than the
specified block size, you'll get this:

Erase @0 kB: 0-4 kB assumed, 0-64 kB actual. No problem.
Write @0-4 kB: No problem.
Erase @4 kB: 4-8 kB assumed, 0-64 kB actual. You just deleted 0-4 kB again.
Write @4-8 kB: No problem.
Erase @8 kB: 8-12 kB assumed, 0-64 kB actual. You just deleted 0-8 kB again.
....
Erase @60 kB: 60-64 kB assumed, 0-64 kB actual. You just deleted 0-60 kB
again.
Write @60-64 kB: No problem.

End result: 0-60 kB blank, 60-64 kB has the desired data.

We either have to be able to distinguish between both chips at probe
time or we force the user to make a selection or we have flashrom detect
this special evil twin problem and make flashrom use only those
functions which have identical characteristics for both chips (there is
a semi-finished patch for the last variant).


Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the flashrom mailing list