[coreboot] How to find out "page size" of a flash chip?
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Wed Nov 19 13:34:19 CET 2008
On 19.11.2008 07:50, Peter Stuge wrote:
> Hello Yu Ning,
>
> FENG Yu Ning wrote:
>
>> Questions:
>> 1. How do we decide the page-sizes of other SST(and other vendors)
>> flash chips, which have no page mechanism?
>>
>
> The page_size member is considered an eraseblock size by the code.
>
Sorry, that is incorrect.
>> 2. Since we operate the flash chips (in case of ich) with
>> ich_spi_read/write, which in turn call ich_spi_read/write_page,
>> what happens to those chips without a page-read/write operation? I
>> am going to investigate the source code and data sheets further,
>> but it is appreciated if anyone familiar with this tell me directly
>> (and it would guide me through the investigation).
>>
>
> As you may have found, the code is pretty ugly overall. In the case
> of ichspi, read_page and write_page simply assume that it is possible
> to read or write all of page_size bytes in a loop.
>
> Other SPI "bus" drivers work differently, but page_size is always
> assumed to describe an eraseblock size.
>
On ICH SPI, page_size is the maximum number of bytes you can write and
read in one operation. ICH SPI hardcodes eraseblock size to 4k. ITE SPI
is different.
I sent a patch to use explicit erase block sizes, but that patch does
not have any Ack yet.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the coreboot
mailing list