summaryrefslogtreecommitdiffstats
path: root/flashchips.c
diff options
context:
space:
mode:
authorSean Nelson <audiohacked@gmail.com>2010-03-22 04:39:31 +0000
committerSean Nelson <audiohacked@gmail.com>2010-03-22 04:39:31 +0000
commitfef5e0c0624f6eef87733faa4b9a4a9272d44ded (patch)
tree6cb766627da69c3d73e6c75b63fc207733d8f334 /flashchips.c
parentf5b78647d1821ef5c58707b2b517d2536d727d8b (diff)
downloadflashrom-fef5e0c0624f6eef87733faa4b9a4a9272d44ded.zip
flashrom-fef5e0c0624f6eef87733faa4b9a4a9272d44ded.tar.gz
To access/read the lock bits, we use the same mode to read the chip id
This patch looks into the write situation for the Intel 28F001BX-{B,T}. Looks like they're just a 82802ab page write. Unlock_28f004s5 has been changed to read all the lock bits and if at least one of the block lock bits are set, clear them all. If the master lock bit is set, we can't do anything about it, so we return. Corresponding to flashrom svn r965. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'flashchips.c')
-rw-r--r--flashchips.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/flashchips.c b/flashchips.c
index 86c766b..1d239da 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -2316,7 +2316,7 @@ struct flashchip flashchips[] = {
.model_id = P28F001BXB,
.total_size = 128,
.page_size = 128 * 1024, /* 8k + 2x4k + 112k */
- .tested = TEST_BAD_WRITE,
+ .tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
@@ -2330,7 +2330,7 @@ struct flashchip flashchips[] = {
.block_erase = erase_block_82802ab,
},
},
- .write = NULL,
+ .write = write_82802ab,
.read = read_memmapped,
},
@@ -2342,7 +2342,7 @@ struct flashchip flashchips[] = {
.model_id = P28F001BXT,
.total_size = 128,
.page_size = 128 * 1024, /* 112k + 2x4k + 8k */
- .tested = TEST_BAD_WRITE,
+ .tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
@@ -2356,7 +2356,7 @@ struct flashchip flashchips[] = {
.block_erase = erase_block_82802ab,
},
},
- .write = NULL,
+ .write = write_82802ab,
.read = read_memmapped,
},
@@ -2368,7 +2368,6 @@ struct flashchip flashchips[] = {
.model_id = E_28F004S5,
.total_size = 512,
.page_size = 256,
- .feature_bits = FEATURE_REGISTERMAP,
.tested = TEST_UNTESTED,
.probe = probe_82802ab,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
@@ -2379,7 +2378,7 @@ struct flashchip flashchips[] = {
.block_erase = erase_block_82802ab,
},
},
- .unlock = unlock_82802ab,
+ .unlock = unlock_28f004s5,
.write = write_82802ab,
.read = read_memmapped,
},
OpenPOWER on IntegriCloud