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
commitbecda742dc49fb2a2d3e5747f326d56b756852ae (patch)
tree2131a17a6a505dc863916f12b2572cd88c86d9b4
parent0ab1e5d5e3d37aa97eb4ae36caac06a800c86654 (diff)
downloadflashrom-becda742dc49fb2a2d3e5747f326d56b756852ae.tar.gz
flashrom-becda742dc49fb2a2d3e5747f326d56b756852ae.tar.bz2
flashrom-becda742dc49fb2a2d3e5747f326d56b756852ae.zip
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 78c18ca36..c8304360f 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 383dc1397..5fce532ff 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 */