Hi,
I've updated the .probe_timing structs in flashchips.c with the correct timing information from the data sheets.
find below a diff against flashrom-0.9.0-r701.
Note: for chips that specified no timing information ,I've put a TIMING_ZERO with a comment saying /* Datasheet has no timing info specified */
Index: flashchips.c
===================================================================
--- flashchips.c (revision 701)
+++ flashchips.c (working copy)
@@ -58,7 +58,7 @@
.page_size = 16 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_29f040b,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO,
.erase = erase_29f040b,
.write = write_pm29f002,
.read = read_memmapped,
@@ -74,7 +74,7 @@
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO,
.erase = erase_chip_jedec,
.write = write_en29f002a,
.read = read_memmapped,
@@ -90,7 +90,7 @@
.page_size = 256,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO,
.erase = erase_chip_jedec,
.write = write_en29f002a,
.read = read_memmapped,
@@ -138,7 +138,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO,
.erase = erase_29f040b,
.write = write_29f040b,
.read = read_memmapped,
@@ -668,7 +668,7 @@
.page_size = 64,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -684,7 +684,7 @@
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME, /* doc1008.pdf dont says anything about probe timing */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -700,7 +700,7 @@
.page_size = 256,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME, /* doc1008.pdf dont says anything about probe timing */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -780,7 +780,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_49fl00x,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
+ .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
.erase = erase_49fl00x,
.write = write_49fl00x,
.read = read_memmapped,
@@ -796,7 +796,7 @@
.page_size = 4096,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -1068,7 +1068,7 @@
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_en29f002a,
.read = read_memmapped,
@@ -1084,7 +1084,7 @@
.page_size = 256,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_en29f002a,
.read = read_memmapped,
@@ -1100,7 +1100,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -1116,7 +1116,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -1164,7 +1164,7 @@
.page_size = 128 * 1024, /* 8k + 2x4k + 112k */
.tested = TEST_BAD_ERASE|TEST_BAD_WRITE,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -1180,7 +1180,7 @@
.page_size = 128 * 1024, /* 112k + 2x4k + 8k */
.tested = TEST_OK_PR|TEST_BAD_ERASE|TEST_BAD_WRITE,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -1692,7 +1692,7 @@
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -1916,7 +1916,7 @@
.page_size = 128,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
@@ -2076,7 +2076,7 @@
.page_size = 16 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_sst_fwhub,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (sst_fwhub.c) */
+ .probe_timing = 1, /* 150 ns | routine is wrapper to probe_jedec (sst_fwhub.c) */
.erase = erase_sst_fwhub,
.write = write_sst_fwhub,
.read = read_memmapped,
@@ -2092,7 +2092,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PROBE,
.probe = probe_sst_fwhub,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (sst_fwhub.c) */
+ .probe_timing = 1, /* 150 ns | routine is wrapper to probe_jedec (sst_fwhub.c) */
.erase = erase_sst_fwhub,
.write = write_sst_fwhub,
.read = read_memmapped,
@@ -2108,7 +2108,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_sst_fwhub,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (sst_fwhub.c) */
+ .probe_timing = 1, /* 150 ns | routine is wrapper to probe_jedec (sst_fwhub.c) */
.erase = erase_sst_fwhub,
.write = write_sst_fwhub,
.read = read_memmapped,
@@ -2140,7 +2140,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_sst_fwhub,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (sst_fwhub.c) */
+ .probe_timing = 1, /* 150 ns | routine is wrapper to probe_jedec (sst_fwhub.c) */
.erase = erase_sst_fwhub,
.write = write_sst_fwhub,
.read = read_memmapped,
@@ -2236,7 +2236,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_sst_fwhub,
- .probe_timing = TIMING_FIXME, /* routine is wrapper to probe_jedec (sst_fwhub.c) */
+ .probe_timing = 1, /* 150ns | routine is wrapper to probe_jedec (sst_fwhub.c) */
.erase = erase_sst_fwhub,
.write = write_sst_fwhub,
.read = read_memmapped,
@@ -2482,7 +2482,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_m29f002,
.write = write_m29f002b,
.read = read_memmapped,
@@ -2498,7 +2498,7 @@
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_m29f002,
.write = write_m29f002t,
.read = read_memmapped,
@@ -2546,7 +2546,7 @@
.page_size = 16 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
@@ -2562,7 +2562,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
@@ -2706,7 +2706,7 @@
.page_size = 64 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
@@ -2722,7 +2722,7 @@
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -2738,7 +2738,7 @@
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -2754,7 +2754,7 @@
.page_size = 128,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -2770,7 +2770,7 @@
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO,
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -2786,7 +2786,7 @@
.page_size = 16384, /* Non-uniform sectors */
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -2802,7 +2802,7 @@
.page_size = 16384, /* Non-uniform sectors */
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.erase = NULL,
.write = NULL,
.read = read_memmapped,
@@ -2898,7 +2898,7 @@
.page_size = 128,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10, /* used datasheet for the W29C011A */
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
@@ -3042,7 +3042,7 @@
.page_size = 128,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
@@ -3074,7 +3074,7 @@
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
Signed-off-by: Udu Ogah <putlinuxonit@gmail.com>