Use dedicated jede_probe_* functions where needed. The count of
functions could be reduced in the future by using the slowest one
instead(?).
To mimic previous delay behavior in the jedec_erase_* functions a
new feature flag was introduced: FEATURE_SLOW_ERASE_CMDS
Also, the feature_bits field was changed from int to uint16_t.
Default make size counterintuitively increases slightly with gcc but
shrinks with clang (about 4 kB or 0.75%).
Signed-off-by: Stefan Tauner <stefan.tauner(a)alumni.tuwien.ac.at>
---
chipdrivers.h | 6 +-
flash.h | 26 +--
flashchips.c | 658 +++++++++++-----------------------------------------------
jedec.c | 51 ++---
4 files changed, 162 insertions(+), 579 deletions(-)
diff --git a/chipdrivers.h b/chipdrivers.h
index 7fe3202..65f9772 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -138,7 +138,11 @@ int unlock_lh28f008bjt(struct flashctx *flash);
uint8_t oddparity(uint8_t val);
void toggle_ready_jedec(const struct flashctx *flash, chipaddr dst);
void data_polling_jedec(const struct flashctx *flash, chipaddr dst, uint8_t data);
-int probe_jedec(struct flashctx *flash);
+int probe_jedec_default(struct flashctx *flash);
+int probe_jedec_0(struct flashctx *flash);
+int probe_jedec_1(struct flashctx *flash);
+int probe_jedec_10(struct flashctx *flash);
+int probe_jedec_10000(struct flashctx *flash);
int write_jedec(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
int write_jedec_1(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
int erase_sector_jedec(struct flashctx *flash, unsigned int page, unsigned int pagesize);
diff --git a/flash.h b/flash.h
index cf496b6..7f40704 100644
--- a/flash.h
+++ b/flash.h
@@ -113,12 +113,13 @@ enum write_granularity {
#define FEATURE_ADDR_2AA (1 << 2)
#define FEATURE_ADDR_AAA (2 << 2)
#define FEATURE_ADDR_SHIFTED (1 << 5)
+#define FEATURE_SLOW_ERASE_CMDS (1 << 6)
/* Feature bits used for SPI only */
-#define FEATURE_WRSR_EWSR (1 << 6)
-#define FEATURE_WRSR_WREN (1 << 7)
+#define FEATURE_WRSR_EWSR (1 << 8)
+#define FEATURE_WRSR_WREN (1 << 9)
#define FEATURE_WRSR_EITHER (FEATURE_WRSR_EWSR | FEATURE_WRSR_WREN)
-#define FEATURE_OTP (1 << 8)
-#define FEATURE_QPI (1 << 9)
+#define FEATURE_OTP (1 << 10)
+#define FEATURE_QPI (1 << 11)
enum test_state {
OK = 0,
@@ -161,7 +162,7 @@ struct flashchip {
unsigned int total_size;
/* Chip page size in bytes */
unsigned int page_size;
- int feature_bits;
+ uint16_t feature_bits;
/* Indicate how well flashrom supports different operations of this flash chip. */
struct tested {
@@ -173,11 +174,6 @@ struct flashchip {
int (*probe) (struct flashctx *flash);
- /* Delay after "enter/exit ID mode" commands in microseconds.
- * NB: negative values have special meanings, see TIMING_* below.
- */
- signed int probe_timing;
-
/*
* Erase blocks and associated erase function. Any chip erase function
* is stored as chip-sized virtual block together with said function.
@@ -214,16 +210,6 @@ struct flashctx {
struct registered_programmer *pgm;
};
-/* Timing used in probe routines. ZERO is -2 to differentiate between an unset
- * field and zero delay.
- *
- * SPI devices will always have zero delay and ignore this field.
- */
-#define TIMING_FIXME -1
-/* this is intentionally same value as fixme */
-#define TIMING_IGNORED -1
-#define TIMING_ZERO -2
-
extern const struct flashchip flashchips[];
extern const unsigned int flashchips_size;
diff --git a/flashchips.c b/flashchips.c
index 78c18ca..4580f96 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -67,8 +67,7 @@ const struct flashchip flashchips[] = {
.page_size = 16 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -94,8 +93,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_SHORT_RESET | FEATURE_ADDR_2AA,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -126,8 +124,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_EITHER_RESET | FEATURE_ADDR_2AA,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -158,8 +155,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -185,8 +181,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -212,8 +207,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -239,8 +233,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -270,8 +263,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -301,8 +293,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -333,8 +324,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -365,8 +355,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -397,8 +386,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -429,8 +417,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -461,8 +448,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024, /* unused */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -493,8 +479,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -520,8 +505,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, /* datasheet specifies address as don't care */
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -548,7 +532,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -582,7 +565,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -616,7 +598,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -651,7 +632,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -686,7 +666,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -721,7 +700,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -761,7 +739,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -796,7 +773,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -831,7 +807,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PRE,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -866,7 +841,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -904,7 +878,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -942,7 +915,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -974,7 +946,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1006,7 +977,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1038,7 +1008,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1070,7 +1039,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1102,7 +1070,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1135,7 +1102,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1175,7 +1141,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { { 4 * 1024, 512 } },
@@ -1214,7 +1179,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1255,7 +1219,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1292,8 +1255,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -1324,8 +1286,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -1356,8 +1317,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -1383,8 +1343,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -1413,7 +1372,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1451,7 +1409,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1489,7 +1446,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1527,7 +1483,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1565,7 +1520,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PROBE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1603,7 +1557,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1642,7 +1595,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1680,7 +1632,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1719,7 +1670,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1757,7 +1707,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_at25f,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1786,7 +1735,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_at25f,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1817,7 +1765,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1860,7 +1807,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_at25f,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1889,7 +1835,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_at25f,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1918,7 +1863,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_at25f,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1948,7 +1892,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -1989,7 +1932,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2027,7 +1969,6 @@ const struct flashchip flashchips[] = {
/* does not support EWSR nor WREN and has no writable status register bits whatsoever */
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2059,7 +2000,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2097,7 +2037,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2135,7 +2074,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2174,7 +2112,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.printlock = spi_prettyprint_status_register_at26df081a,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
@@ -2192,7 +2129,6 @@ const struct flashchip flashchips[] = {
.tested = {.probe = NT, .read = NT, .erase = NT, .write = BAD },
.feature_bits = FEATURE_WRSR_WREN,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2228,8 +2164,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10mS, Enter=Exec */
+ .probe = probe_jedec_10000, /* 10 ms, Enter=Exec */
.block_erasers =
{
{
@@ -2252,8 +2187,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10mS, Enter=Exec */
+ .probe = probe_jedec_10000, /* 10 ms, Enter=Exec */
.block_erasers =
{
{
@@ -2276,8 +2210,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10ms */
+ .probe = probe_jedec_10000, /* 10ms */
.block_erasers =
{
{
@@ -2300,8 +2233,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10 ms */
+ .probe = probe_jedec_10000, /* 10 ms */
.block_erasers =
{
{
@@ -2327,7 +2259,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2359,7 +2290,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2401,7 +2331,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2443,7 +2372,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2485,7 +2413,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2527,7 +2454,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2569,7 +2495,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2612,7 +2537,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2654,7 +2578,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2696,7 +2619,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_at45db,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -2735,8 +2657,7 @@ const struct flashchip flashchips[] = {
.page_size = 64,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2759,8 +2680,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2791,8 +2711,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2823,8 +2742,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2848,8 +2766,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2879,8 +2796,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2910,8 +2826,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2942,8 +2857,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -2974,7 +2888,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP, /* TODO: LPC OK too? */
.tested = TEST_UNTESTED,
.probe = probe_82802ab, /* TODO: 0xff cmd not documented? */
- .probe_timing = TIMING_FIXME,
.block_erasers =
{
{
@@ -3009,8 +2922,7 @@ const struct flashchip flashchips[] = {
.page_size = 0, /* unused */
.feature_bits = 0,
.tested = TEST_OK_PR,
- .probe = probe_jedec, /* FIXME! */
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0, /* FIXME! */
.block_erasers =
{
{
@@ -3033,8 +2945,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -3060,8 +2971,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -3093,7 +3003,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3128,7 +3037,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3163,7 +3071,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3197,7 +3104,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3231,7 +3137,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3265,7 +3170,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3299,7 +3203,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3334,7 +3237,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3369,7 +3271,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3404,7 +3305,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3439,7 +3339,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3474,7 +3373,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3509,7 +3407,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3544,7 +3441,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3579,7 +3475,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3614,7 +3509,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3649,7 +3543,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3684,7 +3577,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3719,7 +3611,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3757,7 +3648,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3795,7 +3685,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3833,7 +3722,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PROBE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3868,7 +3756,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3903,7 +3790,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3938,7 +3824,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -3973,7 +3858,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4009,7 +3893,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4045,7 +3928,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4083,7 +3965,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4123,7 +4004,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4159,7 +4039,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4195,7 +4074,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4232,7 +4110,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4270,7 +4147,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4308,7 +4184,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 2048} },
@@ -4345,7 +4220,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 4096} },
@@ -4380,7 +4254,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 32} },
@@ -4415,7 +4288,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 64} },
@@ -4450,7 +4322,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 128} },
@@ -4485,7 +4356,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 256} },
@@ -4520,7 +4390,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 512} },
@@ -4558,7 +4427,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 1024} },
@@ -4596,7 +4464,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 2048} },
@@ -4629,8 +4496,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -4657,8 +4523,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -4689,8 +4554,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -4722,7 +4586,6 @@ const struct flashchip flashchips[] = {
.feature_bits = 0,
.tested = TEST_OK_PREW,
.probe = probe_en29lv640b,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -4751,8 +4614,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -4783,8 +4645,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -4817,7 +4678,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (m29f400bt.c) */
.block_erasers =
{
{
@@ -4849,7 +4709,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (m29f400bt.c) */
.block_erasers =
{
{
@@ -4881,7 +4740,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED,
.block_erasers =
{
{
@@ -4913,7 +4771,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED,
.block_erasers =
{
{
@@ -4946,7 +4803,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -4984,7 +4840,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 16} },
@@ -5018,7 +4873,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 32} },
@@ -5055,7 +4909,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5093,7 +4946,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5132,7 +4984,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5171,7 +5022,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5210,7 +5060,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5249,7 +5098,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5288,7 +5136,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5327,7 +5174,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 256} },
@@ -5363,8 +5209,7 @@ const struct flashchip flashchips[] = {
.page_size = 256 * 1024,
.feature_bits = FEATURE_EITHER_RESET, /* Some revisions may need FEATURE_ADDR_2AA */
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -5395,8 +5240,7 @@ const struct flashchip flashchips[] = {
.page_size = 256 * 1024,
.feature_bits = FEATURE_EITHER_RESET, /* Some revisions may need FEATURE_ADDR_2AA */
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -5427,8 +5271,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -5456,7 +5299,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5495,7 +5337,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5534,7 +5375,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5573,7 +5413,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5612,7 +5451,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5651,7 +5489,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -5687,8 +5524,7 @@ const struct flashchip flashchips[] = {
.total_size = 128,
.page_size = 128 * 1024, /* 8k + 2x4k + 112k */
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -5714,8 +5550,7 @@ const struct flashchip flashchips[] = {
.total_size = 128,
.page_size = 128 * 1024, /* 112k + 2x4k + 8k */
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -5742,7 +5577,6 @@ const struct flashchip flashchips[] = {
.page_size = 256 * 1024,
.tested = TEST_OK_PRE,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5769,7 +5603,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5792,7 +5625,6 @@ const struct flashchip flashchips[] = {
.page_size = 128 * 1024, /* maximal block size */
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5819,7 +5651,6 @@ const struct flashchip flashchips[] = {
.page_size = 128 * 1024, /* maximal block size */
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5847,7 +5678,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5875,7 +5705,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -5903,7 +5732,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine does not use probe_timing (82802ab.c) */
.block_erasers =
{
{
@@ -5928,7 +5756,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PR,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine does not use probe_timing (82802ab.c) */
.block_erasers =
{
{
@@ -5952,7 +5779,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = {.probe = OK, .read = OK, .erase = NA, .write = NA},
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL, /* MX23L3254 is a mask ROM, so it is read-only */
.read = spi_chip_read, /* Fast read (0x0B) supported */
.voltage = {3000, 3600},
@@ -5970,7 +5796,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6009,7 +5834,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6044,7 +5868,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6082,7 +5905,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6120,7 +5942,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6158,7 +5979,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6194,7 +6014,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6232,7 +6051,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6268,7 +6086,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6304,7 +6121,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6339,7 +6155,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6375,7 +6190,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6411,7 +6225,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6450,7 +6263,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6489,7 +6301,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6525,7 +6336,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6561,7 +6371,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6598,7 +6407,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6637,7 +6445,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6674,7 +6481,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6716,7 +6522,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6758,7 +6563,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -6796,8 +6600,7 @@ const struct flashchip flashchips[] = {
.page_size = 32 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6829,8 +6632,7 @@ const struct flashchip flashchips[] = {
.page_size = 32 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6862,8 +6664,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6894,8 +6695,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6926,8 +6726,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6953,8 +6752,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -6981,7 +6779,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7015,7 +6812,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res1,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7044,7 +6840,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PRE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7074,7 +6869,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res1,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7103,7 +6897,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7132,7 +6925,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_res1,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7161,7 +6953,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7190,7 +6981,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res1,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7218,7 +7008,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7247,7 +7036,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7276,7 +7064,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7305,7 +7092,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7334,7 +7120,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7363,7 +7148,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7395,7 +7179,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7427,7 +7210,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7459,7 +7241,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7491,7 +7272,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7524,7 +7304,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { { 4 * 1024, 256 } },
@@ -7556,7 +7335,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7589,7 +7367,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PRE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7622,7 +7399,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7653,7 +7429,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 512} },
@@ -7680,7 +7455,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 1024} },
@@ -7707,7 +7481,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 2048} },
@@ -7734,7 +7507,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 4096} },
@@ -7761,7 +7533,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 8192} },
@@ -7791,7 +7562,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7828,7 +7598,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7862,7 +7631,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7896,7 +7664,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7930,7 +7697,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -7964,7 +7730,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 4096 } },
@@ -7997,7 +7762,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 4096 } },
@@ -8027,8 +7791,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8054,8 +7817,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8081,8 +7843,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8108,8 +7869,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8135,8 +7895,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8162,8 +7921,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8189,8 +7947,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8217,7 +7974,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8258,7 +8014,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8299,7 +8054,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8340,7 +8094,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8378,7 +8131,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8413,7 +8165,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8450,7 +8201,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8488,7 +8238,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8526,7 +8275,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8564,7 +8312,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8602,7 +8349,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res3,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8634,7 +8380,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res3,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8666,7 +8411,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8698,7 +8442,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8730,7 +8473,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8762,7 +8504,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8800,7 +8541,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -8837,8 +8577,7 @@ const struct flashchip flashchips[] = {
.page_size = 8 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe = probe_jedec_default,
.block_erasers =
{
{
@@ -8869,8 +8608,7 @@ const struct flashchip flashchips[] = {
.page_size = 8 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe = probe_jedec_default,
.block_erasers =
{
{
@@ -8901,8 +8639,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8931,8 +8668,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8961,8 +8697,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -8991,8 +8726,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -9021,8 +8755,7 @@ const struct flashchip flashchips[] = {
.page_size = 16 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -9052,8 +8785,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -9084,7 +8816,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 128} },
@@ -9115,7 +8846,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 128} },
@@ -9145,7 +8875,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9176,7 +8905,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {256, 2 * 1024} },
@@ -9207,7 +8935,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 128} },
@@ -9238,7 +8965,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 256} },
@@ -9272,7 +8998,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {8 * 1024, 128} },
@@ -9302,7 +9027,6 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9333,7 +9057,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_EITHER_RESET | FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9366,7 +9089,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9395,7 +9117,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PRE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9424,7 +9145,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PR,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9453,7 +9173,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9482,7 +9201,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9511,7 +9229,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 128} },
@@ -9545,7 +9262,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 256} },
@@ -9580,7 +9296,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 512} },
@@ -9615,7 +9330,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 1024} },
@@ -9650,7 +9364,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 2048} },
@@ -9686,7 +9399,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 4096} },
@@ -9720,7 +9432,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9752,7 +9463,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9784,7 +9494,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_UNTESTED,
.probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9816,7 +9525,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9854,7 +9562,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9892,7 +9599,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_UNTESTED,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9924,7 +9630,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9962,7 +9667,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PR,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -9994,7 +9698,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10032,7 +9735,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rems,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10070,7 +9772,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10108,7 +9809,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10146,7 +9846,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10184,7 +9883,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EWSR,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10222,7 +9920,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10257,7 +9954,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10292,7 +9988,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10330,7 +10025,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10368,7 +10062,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -10406,7 +10099,6 @@ const struct flashchip flashchips[] = {
.feature_bits = 0,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst28sf040.c) */
.block_erasers =
{
{
@@ -10433,8 +10125,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -10457,8 +10148,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -10481,8 +10171,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -10505,8 +10194,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -10529,8 +10217,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10556,8 +10243,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10583,8 +10269,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10610,8 +10295,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10637,8 +10321,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10664,8 +10347,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10691,8 +10373,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10718,8 +10399,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10745,8 +10425,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10775,8 +10454,7 @@ const struct flashchip flashchips[] = {
.page_size = 16 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10807,8 +10485,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10842,8 +10519,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10875,7 +10551,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst49lfxxxc.c) */
.block_erasers =
{
{
@@ -10907,8 +10582,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -10940,7 +10614,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst49lfxxxc.c) */
.block_erasers =
{
{
@@ -10973,7 +10646,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst49lfxxxc.c) */
.block_erasers =
{
{
@@ -11005,8 +10677,7 @@ const struct flashchip flashchips[] = {
.page_size = 16 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -11035,8 +10706,7 @@ const struct flashchip flashchips[] = {
.page_size = 4 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PRE,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -11065,8 +10735,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150 ns */
+ .probe = probe_jedec_1, /* 150 ns */
.block_erasers =
{
{
@@ -11095,8 +10764,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET | FEATURE_REGISTERMAP,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 1, /* 150ns */
+ .probe = probe_jedec_1, /* 150ns */
.block_erasers =
{
{
@@ -11126,8 +10794,7 @@ const struct flashchip flashchips[] = {
.page_size = 4096,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe = probe_jedec_default,
.block_erasers =
{
{
@@ -11157,7 +10824,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PRE,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst49lfxxxc.c) */
.block_erasers =
{
{
@@ -11189,8 +10855,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11221,8 +10886,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11253,8 +10917,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* datasheet specifies no timing */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11282,7 +10945,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (m29f400bt.c) */
.block_erasers =
{
{
@@ -11314,7 +10976,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_m29f400bt,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (m29f400bt.c) */
.block_erasers =
{
{
@@ -11345,8 +11006,7 @@ const struct flashchip flashchips[] = {
.page_size = 16 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11372,8 +11032,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11399,8 +11058,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11424,7 +11082,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_FIXME,
.block_erasers =
{
{
@@ -11457,7 +11114,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_FIXME,
.block_erasers =
{
{
@@ -11490,7 +11146,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PRE,
.probe = probe_82802ab,
- .probe_timing = TIMING_FIXME,
.block_erasers =
{
{
@@ -11523,7 +11178,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_FIXME,
.block_erasers =
{
{
@@ -11556,7 +11210,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (sst49lfxxxc.c) */
.block_erasers =
{
{
@@ -11586,7 +11239,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (82802ab.c) */
.block_erasers =
{
{
@@ -11611,7 +11263,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PR,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (82802ab.c) */
.block_erasers =
{
{
@@ -11636,7 +11287,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (82802ab.c) */
.block_erasers =
{
{
@@ -11661,7 +11311,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -11686,7 +11335,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
@@ -11716,8 +11364,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11743,8 +11390,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11770,8 +11416,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11796,8 +11441,7 @@ const struct flashchip flashchips[] = {
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11822,8 +11466,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11849,8 +11492,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11876,8 +11518,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11903,8 +11544,7 @@ const struct flashchip flashchips[] = {
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11930,8 +11570,7 @@ const struct flashchip flashchips[] = {
.page_size = 16384, /* Non-uniform sectors */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11962,8 +11601,7 @@ const struct flashchip flashchips[] = {
.page_size = 16384, /* Non-uniform sectors */
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_jedec_0,
.block_erasers =
{
{
@@ -11997,7 +11635,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12037,7 +11674,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12077,7 +11713,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12117,7 +11752,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12157,7 +11791,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12196,7 +11829,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12235,7 +11867,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12274,7 +11905,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12314,7 +11944,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12354,7 +11983,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12394,7 +12022,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12432,7 +12059,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12464,7 +12090,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12496,7 +12121,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12528,7 +12152,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12560,7 +12183,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12598,7 +12220,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12636,7 +12257,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PROBE,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
@@ -12674,7 +12294,6 @@ const struct flashchip flashchips[] = {
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
.probe = probe_w29ee011,
- .probe_timing = TIMING_IGNORED, /* routine doesn't use probe_timing (w29ee011.c) */
.block_erasers =
{
{
@@ -12696,8 +12315,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10, /* used datasheet for the W29C011A */
+ .probe = probe_jedec_10, /* used datasheet for the W29C011A */
.block_erasers =
{
{
@@ -12719,8 +12337,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12743,8 +12360,7 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12767,8 +12383,7 @@ const struct flashchip flashchips[] = {
.page_size = 4 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12795,8 +12410,7 @@ const struct flashchip flashchips[] = {
.page_size = 4 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12823,8 +12437,7 @@ const struct flashchip flashchips[] = {
.page_size = 4 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12854,8 +12467,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12885,8 +12497,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12913,8 +12524,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12941,8 +12551,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -12969,8 +12578,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13001,8 +12609,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13030,8 +12637,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13058,8 +12664,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13086,8 +12691,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13118,8 +12722,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PROBE,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13142,8 +12745,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13174,8 +12776,7 @@ const struct flashchip flashchips[] = {
.page_size = 128,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13206,8 +12807,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13235,8 +12835,7 @@ const struct flashchip flashchips[] = {
.page_size = 64 * 1024,
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10,
+ .probe = probe_jedec_10,
.block_erasers =
{
{
@@ -13308,7 +12907,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13323,7 +12921,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13338,7 +12935,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13353,7 +12949,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13368,7 +12963,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13383,7 +12977,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13398,7 +12991,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13413,7 +13005,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
@@ -13428,7 +13019,6 @@ const struct flashchip flashchips[] = {
.page_size = 256,
.tested = TEST_BAD_PREW,
.probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
.write = NULL,
.read = NULL,
},
diff --git a/jedec.c b/jedec.c
index 08cc88b..a9ace95 100644
--- a/jedec.c
+++ b/jedec.c
@@ -120,29 +120,14 @@ static void start_program_jedec_common(const struct flashctx *flash, unsigned in
chip_writeb(flash, 0xA0, bios + (0x5555 & mask));
}
-static int probe_jedec_common(struct flashctx *flash, unsigned int mask)
+static int probe_jedec_common(struct flashctx *flash, unsigned int probe_timing_enter, unsigned int probe_timing_exit)
{
chipaddr bios = flash->virtual_memory;
const struct flashchip *chip = flash->chip;
+ const unsigned int mask = getaddrmask(flash->chip);
uint8_t id1, id2;
uint32_t largeid1, largeid2;
uint32_t flashcontent1, flashcontent2;
- unsigned int probe_timing_enter, probe_timing_exit;
-
- if (chip->probe_timing > 0)
- probe_timing_enter = probe_timing_exit = chip->probe_timing;
- else if (chip->probe_timing == TIMING_ZERO) { /* No delay. */
- probe_timing_enter = probe_timing_exit = 0;
- } else if (chip->probe_timing == TIMING_FIXME) { /* == _IGNORED */
- msg_cdbg("Chip lacks correct probe timing information, "
- "using default 10mS/40uS. ");
- probe_timing_enter = 10000;
- probe_timing_exit = 40;
- } else {
- msg_cerr("Chip has negative value in probe_timing, failing "
- "without chip access\n");
- return 0;
- }
/* Earlier probes might have been too fast for the chip to enter ID
* mode completely. Allow the chip to finish this before seeing a
@@ -245,7 +230,7 @@ static int erase_sector_jedec_common(struct flashctx *flash, unsigned int page,
{
chipaddr bios = flash->virtual_memory;
unsigned int delay_us = 0;
- if(flash->chip->probe_timing != TIMING_ZERO)
+ if (flash->chip->feature_bits & FEATURE_SLOW_ERASE_CMDS)
delay_us = 10;
/* Issue the Sector Erase command */
@@ -275,7 +260,7 @@ static int erase_block_jedec_common(struct flashctx *flash, unsigned int block,
{
chipaddr bios = flash->virtual_memory;
unsigned int delay_us = 0;
- if(flash->chip->probe_timing != TIMING_ZERO)
+ if (flash->chip->feature_bits & FEATURE_SLOW_ERASE_CMDS)
delay_us = 10;
/* Issue the Sector Erase command */
@@ -304,7 +289,7 @@ static int erase_chip_jedec_common(struct flashctx *flash, unsigned int mask)
{
chipaddr bios = flash->virtual_memory;
unsigned int delay_us = 0;
- if(flash->chip->probe_timing != TIMING_ZERO)
+ if (flash->chip->feature_bits & FEATURE_SLOW_ERASE_CMDS)
delay_us = 10;
/* Issue the JEDEC Chip Erase command */
@@ -477,12 +462,30 @@ int erase_chip_block_jedec(struct flashctx *flash, unsigned int addr,
return erase_chip_jedec_common(flash, mask);
}
-int probe_jedec(struct flashctx *flash)
+int probe_jedec_default(struct flashctx *flash)
{
- unsigned int mask;
+ msg_cdbg("Chip lacks exact probe timing information, using default 10 ms/40 us. ");
+ return probe_jedec_common(flash, 10000, 40);
+}
- mask = getaddrmask(flash->chip);
- return probe_jedec_common(flash, mask);
+int probe_jedec_0(struct flashctx *flash)
+{
+ return probe_jedec_common(flash, 0, 0);
+}
+
+int probe_jedec_1(struct flashctx *flash)
+{
+ return probe_jedec_common(flash, 1, 1);
+}
+
+int probe_jedec_10(struct flashctx *flash)
+{
+ return probe_jedec_common(flash, 10, 10);
+}
+
+int probe_jedec_10000(struct flashctx *flash)
+{
+ return probe_jedec_common(flash, 10000, 10000);
}
int erase_sector_jedec(struct flashctx *flash, unsigned int page,
--
Kind regards, Stefan Tauner