Hello,
Second post. The first one has not reached the mailing list for some reason.
The first patch changes chip erase method from JEDEC Chip Erase to JEDEC Sector
Erase for
each sector. See the comment in util/flashrom/sst49lf040.c, line #40. Verified
on a real
SST49LF080A chip, for which JEDEC Chip Erase did not work as well.
The second patch makes printf working [as designed ?].
Roman
Index: util/flashrom/flashchips.c
===================================================================
--- util/flashrom/flashchips.c (revision 2434)
+++ util/flashrom/flashchips.c (working copy)
@@ -67,7 +67,7 @@
{"SST49LF040", SST_ID, SST_49LF040, NULL, 512, 4096,
probe_jedec, erase_49lf040, write_49lf040,NULL},
{"SST49LF080A", SST_ID, SST_49LF080A, NULL, 1024, 4096,
- probe_jedec, erase_chip_jedec, write_49lf040,NULL},
+ probe_jedec, erase_49lf040, write_49lf040,NULL},
{"SST49LF002A/B", SST_ID, SST_49LF002A, NULL, 256, 16 * 1024,
probe_sst_fwhub, erase_sst_fwhub, write_sst_fwhub, NULL},
{"SST49LF003A/B", SST_ID, SST_49LF003A, NULL, 384, 64 * 1024,
Index: util/flashrom/sst49lf040.c
===================================================================
--- util/flashrom/sst49lf040.c (revision 2434)
+++ util/flashrom/sst49lf040.c (working copy)
@@ -59,13 +59,11 @@
erase_sector_jedec(bios, i * page_size);
/* write to the sector */
- if((i&0xfff)==0xfff)
- printf("%04d at address: 0x%08x ", i, i * page_size);
+ printf("%04d at address: 0x%08x ", i, i * page_size);
write_sector_jedec(bios, buf + i * page_size,
bios + i * page_size, page_size);
- if((i&0xfff)==0xfff)
-
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
+
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
fflush(stdout);
}
printf("\n");
--
linuxbios mailing list
[email protected]
http://www.openbios.org/mailman/listinfo/linuxbios