On 20.01.2010 17:49, Anders Juel Jensen wrote:
update to block_erasers
Signed-off-by Anders Juel Jensen
Your original Signed-off-by: statement (with : and mail address) had the format we want. No need to worry, someone will fix up on commit.
On Sunday 17 January 2010 05:53:00 Sean Nelson wrote:
Could you please redo patch to use block_erasers?
if this is done right i will add the 512 version too
That would be nice.
Index: flashchips.c
--- flashchips.c (revision 876) +++ flashchips.c (working copy) @@ -3372,6 +3372,64 @@
{ .vendor = "PMC",
.name = "Pm39LV020",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = PMC_ID_NOPREFIX,
.model_id = PMC_39F020,
.total_size = 256,
.page_size = 4096,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
Ahem. While you're correct that the command sequence is JEDEC, it seems the PMC chips use a reduced address scheme of 0x555 and 0x2aa, so probe_jedec is not really correct. Same problem for the erase functions. Before you redo the patch, let us merge Sean's last eraseblock patch, and then finish the infrastructure for reduced addresses. That way, your patch only has to set .feature_bits and can keep the reast as it was in this submission.
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 64} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {64 * 1024, 4} },
.block_erase = erase_block_jedec,
}, {
.eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
Looks good.
}
},
.write = write_49f002,
.read = read_memmapped,
- },
- {
.vendor = "PMC",
.name = "Pm39LV040",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = PMC_ID_NOPREFIX,
.model_id = PMC_39F040,
.total_size = 512,
.page_size = 4096,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 128} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {64 * 1024, 8} },
.block_erase = erase_block_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
Looks good as well.
}
},
.write = write_49f002,
.read = read_memmapped,
- },
- {
.name = "Pm49FL002", .bustype = CHIP_BUSTYPE_LPC|CHIP_BUSTYPE_FWH, /* A/A Mux*/ .manufacture_id = PMC_ID_NOPREFIX,.vendor = "PMC",
Regards, Carl-Daniel