mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 06:23:18 +02:00
Move implicit erase out of chip drivers
Flashrom had an implicit erase-on-write for most flash chip and programmer drivers, but it was not entirely consistent. Some drivers had their own hand-rolled partial update functionality which made handling partial updates from generic code impossible. Move implicit erase out of chip drivers, and kill some dead erase functions at the same time. A full chip erase is now performed in the generic code for all flash chips on write, and after that the whole chip is written. Corresponding to flashrom svn r1206. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
156
flashchips.c
156
flashchips.c
@ -65,7 +65,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 16 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -231,7 +231,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (am29f040b.c) */
|
||||
.block_erasers =
|
||||
@ -477,7 +477,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = AMIC_A25L40PT,
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid4,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -509,7 +509,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = AMIC_A25L40PU,
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid4,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -541,7 +541,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = AMIC_A25L80P,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid4,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -608,7 +608,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = AMIC_A25L16PU,
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid4,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -927,7 +927,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
|
||||
.block_erasers =
|
||||
@ -984,7 +984,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
|
||||
.block_erasers =
|
||||
@ -1196,7 +1196,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -1658,7 +1658,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10000, /* 10mS, Enter=Exec */
|
||||
.block_erasers =
|
||||
@ -1885,7 +1885,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -1939,7 +1939,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -2744,7 +2744,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -2843,7 +2843,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -2870,7 +2870,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -2901,7 +2901,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -3057,7 +3057,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 256 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET, /* Some revisions may need FEATURE_ADDR_2AA */
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -3196,7 +3196,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = INTEL_28F002T,
|
||||
.total_size = 256,
|
||||
.page_size = 256 * 1024,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_82802ab,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -3510,7 +3510,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -3546,7 +3546,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -3582,7 +3582,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -3684,7 +3684,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -3911,7 +3911,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
|
||||
.block_erasers =
|
||||
@ -4262,7 +4262,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25PE80,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -4507,7 +4507,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 8 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_FIXME,
|
||||
.block_erasers =
|
||||
@ -4569,7 +4569,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -4656,7 +4656,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 16 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
|
||||
.block_erasers =
|
||||
@ -4686,7 +4686,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
|
||||
.block_erasers =
|
||||
@ -4773,7 +4773,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SPANSION_S25FL008A,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -4799,7 +4799,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SPANSION_S25FL016A,
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -4825,7 +4825,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SST_SST25VF016B,
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -4860,7 +4860,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SST_SST25VF032B,
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -4895,7 +4895,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SST_SST25VF064C,
|
||||
.total_size = 8192,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -5058,7 +5058,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = SST_SST25VF080B,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -5120,7 +5120,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -5166,7 +5166,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -5189,7 +5189,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -5238,7 +5238,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5264,7 +5264,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5290,7 +5290,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5316,7 +5316,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 64,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5342,7 +5342,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5449,7 +5449,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 16 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5514,7 +5514,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5577,7 +5577,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5640,7 +5640,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 2048,
|
||||
.page_size = 4 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_82802ab,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (sst49lfxxxc.c) */
|
||||
.block_erasers =
|
||||
@ -5672,7 +5672,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 16 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5701,7 +5701,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 4 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5730,7 +5730,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150 ns */
|
||||
.block_erasers =
|
||||
@ -5759,7 +5759,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET | FEATURE_REGISTERMAP,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 1, /* 150ns */
|
||||
.block_erasers =
|
||||
@ -5789,7 +5789,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 4096,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_FIXME,
|
||||
.block_erasers =
|
||||
@ -5818,7 +5818,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 2048,
|
||||
.page_size = 4 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_82802ab,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (sst49lfxxxc.c) */
|
||||
.block_erasers =
|
||||
@ -5906,7 +5906,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25P10A,
|
||||
.total_size = 128,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -5985,7 +5985,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25P40,
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6037,7 +6037,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25P80,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6063,7 +6063,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25P16,
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6089,7 +6089,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25P32,
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6167,7 +6167,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25PX32,
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6196,7 +6196,7 @@ struct flashchip flashchips[] = {
|
||||
.model_id = ST_M25PX64,
|
||||
.total_size = 8192,
|
||||
.page_size = 256,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6429,7 +6429,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 64,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -6522,7 +6522,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_82802ab,
|
||||
.probe_timing = TIMING_FIXME,
|
||||
.block_erasers =
|
||||
@ -6816,7 +6816,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 512,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
|
||||
.block_erasers =
|
||||
@ -7008,7 +7008,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7080,7 +7080,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7116,7 +7116,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 8192,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7212,7 +7212,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7242,7 +7242,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7272,7 +7272,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
@ -7380,7 +7380,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10, /* used datasheet for the W29C011A */
|
||||
.block_erasers =
|
||||
@ -7403,7 +7403,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7449,7 +7449,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 128,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_LONG_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_w29ee011,
|
||||
.probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (w29ee011.c) */
|
||||
.block_erasers =
|
||||
@ -7472,7 +7472,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7498,7 +7498,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7551,7 +7551,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 512,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7608,7 +7608,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7662,7 +7662,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7693,7 +7693,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 256,
|
||||
.page_size = 128,
|
||||
.feature_bits = FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PRW,
|
||||
.tested = TEST_OK_PR,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = 10,
|
||||
.block_erasers =
|
||||
@ -7724,7 +7724,7 @@ struct flashchip flashchips[] = {
|
||||
.total_size = 1024,
|
||||
.page_size = 64 * 1024,
|
||||
.feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
|
||||
.tested = TEST_OK_PREW,
|
||||
.tested = TEST_OK_PRE,
|
||||
.probe = probe_jedec,
|
||||
.probe_timing = TIMING_FIXME,
|
||||
.block_erasers =
|
||||
|
Reference in New Issue
Block a user