On 1/20/10 2:16 AM, Michael Karcher wrote:
- .block_erasers =
- {
- {
- .eraseblocks = { {4 * 1024, 64} },
- .block_erase = erase_sector_jedec,
- }, {
- .eraseblocks = { {16 * 1024, 16} },
- .block_erase = erase_block_jedec,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
- }
- },
This chip supports erase_chip only in A/A mux mode (although the datasheet calls it "parallel". Do we really want to have that listed? This also applies to:
I don't think we can determine if the chip is in LPC or A/A mux mode.
- .block_erasers =
- {
- {
- .eraseblocks = { {4 * 1024, 512} },
- .block_erase = erase_sector_49lfxxxc,
- }, {
- .eraseblocks = {
- {64 * 1024, 31},
- {32 * 1024, 1},
- {8 * 1024, 2},
- {16 * 1024, 1},
- },
- .block_erase = erase_block_49lfxxxc,
- }, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = erase_chip_49lfxxxc,
- }
- },
erase_chip_49lfxxxc is just calling erase_sector_49lfxxxc. No need to add it as chip erase function.
erase_chip_49lfxxc is needed to convert to block_eraser(struct flashrom *flash, unsigned int addr, unsigned int size), its also needed because of unlocking.