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>