summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2014-05-30 19:34:00 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2014-05-30 19:34:00 +0000
commitdac049b5de99d62b82aaceba0a97947c67ff2b54 (patch)
tree2131a17a6a505dc863916f12b2572cd88c86d9b4
parent1b0b5110a43908cc5fa2a2b1bbd44894126ab56a (diff)
downloadflashrom-dac049b5de99d62b82aaceba0a97947c67ff2b54.zip
flashrom-dac049b5de99d62b82aaceba0a97947c67ff2b54.tar.gz
Fix PMC Pm25LV512 and Pm25LV010 probing
Apparently PMC did not understand the purpose of the JEDEC continuation code. These chips reply to RES (the only supported ID command) with the prefix-less vendor ID, a device ID, eventually followed by the continuation byte for the vendor ID. This fix uses only the first two bytes instead of appending the continuation code to the device ID. The problem was reported by The Raven who also tested the fix on a Pm25LV010 (with an imprint of "Pm25LV010E"). Corresponding to flashrom svn r1806. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--flashchips.c10
-rw-r--r--flashchips.h3
2 files changed, 7 insertions, 6 deletions
diff --git a/flashchips.c b/flashchips.c
index 78c18ca..c830436 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -8595,13 +8595,13 @@ const struct flashchip flashchips[] = {
.vendor = "PMC",
.name = "Pm25LV512(A)",
.bustype = BUS_SPI,
- .manufacture_id = PMC_ID,
+ .manufacture_id = PMC_ID_NOPREFIX,
.model_id = PMC_PM25LV512,
.total_size = 64,
.page_size = 256,
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
- .probe = probe_spi_res3,
+ .probe = probe_spi_res2, /* The continuation code is transferred as the 3rd byte m( */
.probe_timing = TIMING_ZERO,
.block_erasers =
{
@@ -8627,13 +8627,13 @@ const struct flashchip flashchips[] = {
.vendor = "PMC",
.name = "Pm25LV010",
.bustype = BUS_SPI,
- .manufacture_id = PMC_ID,
+ .manufacture_id = PMC_ID_NOPREFIX,
.model_id = PMC_PM25LV010,
.total_size = 128,
.page_size = 256,
.feature_bits = FEATURE_WRSR_WREN,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_res3,
+ .tested = TEST_OK_PREW,
+ .probe = probe_spi_res2, /* The continuation code is transferred as the 3rd byte m( */
.probe_timing = TIMING_ZERO,
.block_erasers =
{
diff --git a/flashchips.h b/flashchips.h
index 383dc13..5fce532 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -503,7 +503,8 @@
/*
* Programmable Micro Corp is listed in JEP106W in bank 2, so it should
* have a 0x7F continuation code prefix.
- * Apparently this name is owned by "Chingis Technology Corporation" http://www.chingistek.com.
+ * Apparently this name is owned by "Chingis Technology Corporation" http://www.chingistek.com which is now a
+ * subsidiary of ISSI. They continue to use the PMC manufacturer ID nevertheless.
*/
#define PMC_ID 0x7F9D /* PMC */
#define PMC_ID_NOPREFIX 0x9D /* PMC, missing 0x7F prefix */
OpenPOWER on IntegriCloud