2013/2/7 David Hendricks
<dhendrix@google.com>
Sorry but i don't see this "usually" in this code strings
for example:
{
.vendor = "SST",
.name = "SST25VF040B",
.bustype = BUS_SPI,
.manufacture_id = SST_ID,
.model_id = SST_SST25VF040B,
.total_size = 512,
.page_size = 256,
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 128} },
.block_erase = spi_block_erase_20,
}, {
.eraseblocks = { {32 * 1024, 16} },
.block_erase = spi_block_erase_52,
}, {
.eraseblocks = { {64 * 1024, 8} },
.block_erase = spi_block_erase_d8,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = spi_block_erase_60,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = spi_block_erase_c7,
},
},
.printlock = spi_prettyprint_status_register_sst25vf040b,
.unlock = spi_disable_blockprotect,
.write = spi_aai_write, /* "FEATURE_ADDR_AAA" ? */ this is a fetch The software must will use spi_chip_write_256 function.
.read = spi_chip_read,
.voltage = {2700, 3600},
},
and i thinking that this struct is a little complicated
because:
1. this struct has not used field like a voltage and this field can't uniquely define chip voltage because different chips can have a equivalent ID
2. this struct has a not informative field like a name for example that is that - SST25VF040B.REMS. Sorry but i can't understanding different SST25VF040B and that is REMS - is this a comment or other? and i can't found documentation on SST25VF040B.REMS chip. Next example EN25Q80(A) Is this a two chips EN25Q80 and EN25Q80A or other? Is this chip EN25Q80 real?
I think adding an array of struct will be not effort, but testing a software will be effort.
If we know chip ID that we can easy searching any chip parameters in other structure. And i think we can easy exclude this parameters from structure
thanks. I'm understanding this is a simple stack but we have a one ID on two different chips..... Will user use flashrom software for program MX25L25835E if software didn't support this chip in list on wiki page, but support MX25L12805D? How will you distinguish chip MX25L25835E from MX25L12805D that chips have a equivalent chip ID.