On 11/19/08, Peter Stuge <[email protected]> wrote: > The page_size member is considered an eraseblock size by the code.
On Wed, Nov 19, 2008 at 8:36 PM, Carl-Daniel Hailfinger <[email protected]> wrote: > Yes. We should have one eraseblock_size member and one write_size member. In the flashchips array, the value of page_size is page size if the chip has page-write as the only write command. At other times, it is just a parameter of the memory geometry - maybe erase block size, maybe not. I have made some investigation to figure out the above result. I am attaching it below for convenience of further discussion. Vendor Model Type Visibleness ----------------------------------------------------------------------- S P L F Wr Wp Px Ar Ap Po 1p Zp ?r ?p S = SPI P = Parallel (did not seperate parallel into sub-types when investigating those flash chips) Px = Parallel, using JEDEC Single-Supply EEPROM like Command Set (command preceded by addresses and data containing alternated 1 and 0 bits, i.e., 55, 555, 5555, AA, AAA, 2AA, 2AAA, etc.) Po = Parallel, without preceded cycles L = LPC F = FWH N = There is no page concept or page is not visible to host. Wr = Page read can start at any address within a page and will wrap back at page boundary in one page read instruction Wp = Page program can start at any address within a page and will wrap back at page boundary in one page program instruction Ar = Automatically page boundary alignment for page read Ap = Automatically page boundary alignment for page program 1p = Every byte in a page has to be specified in one page program instruction Zp = Page address is determined by the address of the last data to be programmed. ?r = Host should guarantee page address consistency when reading. How the flash chip behaves when inconsistency happens is unknown. ?p = Host should guarantee page address consistency when page programming. How the flash chip behaves when inconsistency happens is unknown. Vendor Model Type Visibleness ----------------------------------------------------------------------- AMD Am29F002 - Px - - - - Am29F016D - Px - - - - ATMEL AT25DF021 S - - - - Wp AT25F512B S - - - - Wp AT25FS010 S - - - - Wp AT26DF041 S - - - - Wp AT26F004 S - - - - - AT29C020 - - - - - 1p AT45CS1282 S - - - Wr Wp AT45DB011D S - - - Wr Wp AT49F002(N)(T) - P - - - - AMIC A25L40P S - - - - Wp A29002(1) - P - - - - A29040B - P - - - - A49LF040A - - L - - - EMST F49B002UA - P - - - - EON EN29F002(N) - P - - - - Fujitsu MBM29F004BC/TC - P - - - - MBM29F400BC/TC - P - - - - Intel 82802AB/AC - - - F - - Macronix MX25L512 S - - - - Wp MX25L1005 S - - - - Wp MX29F002(N)T/B - P - - - - MX29LV040C - P - - - - Numonyx M25PE10/20 S - - - - Wp PMC Pm25LV512A S - - - - Wp Pm25LV010A S - - - - Wp Pm25LV020 S - - - - Wp Pm25LV040 S - - - - Wp Pm25LV080B/016B S - - - - Wp Pm49FL002/004 - - L F - - Sharp LHF00L04 - - - F ?r - Spansion S25FL016A S - - - - ?p SST SST25VF040B S - - - - - SST25VF080B S - - - - - SST25VF016B S - - - - - SST25VF032B S - - - - - SST28SF040A - - - - - - SST29EE010 - P - - - Zp SST29LE010 - P - - - Zp SST29VE010 - P - - - Zp SST29EE020A - P - - - Zp SST29LE020A - P - - - Zp SST29VE020A - P - - - Zp SST39SF010A - P - - - - SST39SF020A - P - - - - SST39SF040 - P - - - - SST39VF512 - P - - - - SST39VF010 - P - - - - SST39VF020 - P - - - - SST39VF040 - P - - - - SST49LF002A - P - F - - SST49LF003A - P - F - - SST49LF004A - P - F - - SST49LF008A - P - F - - SST49LF002B - P L F - - SST49LF003B - P L F - - SST49LF004B - P L F - - SST49LF004C - - - F - Ap SST49LF008C - - - F - Ap SST49LF016C - - - F - Ap SST49LF020A - P L - - - SST49LF040 - P L - - - SST49LF040B - P L - - - SST49LF080A - P L - - - SST49LF160C - - L - - Ap ST M25P05-A S - - - - Wp M25P10-A S - - - - Wp M25P20 S - - - - Wp M25P40 S - - - - Wp M25P80 S - - - - Wp M25P16 S - - - - Wp M25P32 S - - - - Wp M25P64 S - - - - Wp M25P128 S - - - - Wp M29F002T/NT/B - Px - - - - M29F040B - Px - - - - M29F400BT - Px - - - - M29W010B - Px - - - - M29W040B - Px - - - - M50FLW040A/B - - L F Ar - M50FLW080A/B - - L F Ar - M50FW002 - Po - F - - M50FW040 - Po - F - - M50FW080 - Po - F - - M50LPW116 - Po L - - - SyncMOS S29C31004T - Px - - - - S29C51001T - Px - - - - S29C51002T - Px - - - - S29C51004T - Px - - - - Winbond W25x10 S - - - - Wp W25x20 S - - - - Wp W25x40 S - - - - Wp W25x80 S - - - - Wp W29C011A - Px - - - ?p W29C020C - Px - - - ?p W29C040 - Px - - - ?p W29EE011 - Px - - - ?p W39V040A - Px L - - - W39V040B - Px L - - - W39V040C - Px L - - - W39V040FA - Px - F - - W39V080A - Px L - - - W49F002U - Px - - - - W49V002A - Px L - - - W49V002FA - Px - F - - W39V080FA - Px - F - -
page
Description: Binary data
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

