[flashrom] via epia cn1000eg flash failed.
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Tue Oct 20 01:34:45 CEST 2009
Hi Yuri,
here's the patch I'd like you to try. It will also show up at
http://patchwork.coreboot.org/project/flashrom/list/
Handle LPC mode of Pm49FL004 correctly.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Index: flashrom-pm49fl004_lpc/pm49fl00x.c
===================================================================
--- flashrom-pm49fl004_lpc/pm49fl00x.c (Revision 751)
+++ flashrom-pm49fl004_lpc/pm49fl00x.c (Arbeitskopie)
@@ -53,8 +53,10 @@
int page_size = flash->page_size;
/* unprotected */
+#if 0
write_lockbits_49fl00x(flash->virtual_registers,
total_size, 0, page_size);
+#endif
/*
* erase_chip_jedec() will not work... Datasheet says
@@ -74,8 +76,10 @@
printf("\n");
/* protected */
+#if 0
write_lockbits_49fl00x(flash->virtual_registers,
total_size, 1, page_size);
+#endif
return 0;
}
@@ -88,29 +92,39 @@
chipaddr bios = flash->virtual_memory;
/* unprotected */
+#if 0
write_lockbits_49fl00x(flash->virtual_registers, total_size, 0,
page_size);
+#endif
- printf("Programming page: ");
+ printf("Programming...");
for (i = 0; i < total_size / page_size; i++) {
/* erase the page before programming */
+#if 0
if (erase_block_jedec(flash, i * page_size, page_size)) {
fprintf(stderr, "ERASE FAILED!\n");
return -1;
}
+#endif
/* write to the sector */
+#if 0
printf("%04d at address: 0x%08x", i, i * page_size);
+#endif
write_sector_jedec(bios, buf + i * page_size,
bios + i * page_size, page_size);
+#if 0
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");
fflush(stdout);
+#endif
}
printf("\n");
/* protected */
+#if 0
write_lockbits_49fl00x(flash->virtual_registers, total_size, 1,
page_size);
+#endif
return 0;
}
--
Developer quote of the week:
"We are juggling too many chainsaws and flaming arrows and tigers."
More information about the flashrom
mailing list