summaryrefslogtreecommitdiffstats
path: root/flashchips.c
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-08-27 18:02:19 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-08-27 18:02:19 +0000
commit1dd5d3aa6605ed8c6928d10f4fd48f3f0abf04c2 (patch)
tree3181bbab82b26b34181d4357033e28b9e85edf6c /flashchips.c
parentfdc4f7ebb9c8986e8244bcbc2c52c320c2112d45 (diff)
downloadast2050-flashrom-1dd5d3aa6605ed8c6928d10f4fd48f3f0abf04c2.zip
ast2050-flashrom-1dd5d3aa6605ed8c6928d10f4fd48f3f0abf04c2.tar.gz
Add support for AT45CS1282
This one is even more strange than the AT45DB chips. Like the AT45DB321C it does not support any power-of-2 page sizes. There is only one asymmetrical eraser and that uses two opcodes. Corresponding to flashrom svn r1725. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Diffstat (limited to 'flashchips.c')
-rw-r--r--flashchips.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/flashchips.c b/flashchips.c
index deff618..5cf4aa4 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -2323,11 +2323,26 @@ const struct flashchip flashchips[] = {
.total_size = 16896 /* No power of two sizes */,
.page_size = 1056 /* No power of two sizes */,
/* does not support EWSR nor WREN and has no writable status register bits whatsoever */
- .tested = TEST_BAD_REW,
+ /* OTP: 128B total, 64B pre-programmed; read 0x77 (4 dummy bytes); write 0x9A (via buffer) */
+ .feature_bits = FEATURE_OTP,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL /* Incompatible Page write */,
- .read = NULL /* Incompatible read */,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {8 * 1056, 1}, /* sector 0a: opcode 50h */
+ {248 * 1056, 1}, /* sector 0b: opcode 7Ch */
+ {256 * 1056, 63}, /* sectors 1 - 63: opcode 7Ch */
+ },
+ .block_erase = spi_erase_at45cs_sector,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_plain,
+ .gran = write_gran_1056bytes,
+ .write = spi_write_at45db,
+ .read = spi_read_at45db,
.voltage = {2700, 3600},
},
OpenPOWER on IntegriCloud