@@ -3315,6 +3315,41 @@ const struct flashchip flashchips[] = {
{
.vendor = "ESMT",
+ .name = "F25L004A",
+ .bustype = BUS_SPI,
+ .manufacture_id = ESMT_ID,
+ .model_id = ESMT_F25L004A,
+ .total_size = 512,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_EITHER,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 128} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve BP2 + AAI */
+ .unlock = spi_disable_blockprotect_bp2_srwd,
+ .write = spi_aai_write, /* AAI supported (0xAD) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "ESMT",
.name = "F25L008A",
.bustype = BUS_SPI,
.manufacture_id = ESMT_ID,
@@ -3322,7 +3357,7 @@ const struct flashchip flashchips[] = {
.total_size = 1024,
.page_size = 256,
.feature_bits = FEATURE_WRSR_EITHER,
- .tested = TEST_OK_PREW,
+ .tested = { .probe = OK, .read = OK, .erase = OK, .write = NT },
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.block_erasers =
@@ -3341,10 +3376,10 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
}
},
- .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_1,
- .read = spi_chip_read,
+ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve BP2 + AAI */
+ .unlock = spi_disable_blockprotect_bp2_srwd,
+ .write = spi_aai_write, /* AAI supported (0xAD) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
.voltage = {2700, 3600},
},
@@ -216,6 +216,7 @@
#define CATALYST_CAT28F512 0xB8
#define ESMT_ID 0x8C /* Elite Semiconductor Memory Technology (ESMT) / EFST Elite Flash Storage */
+#define ESMT_F25L004A 0x2013
#define ESMT_F25L008A 0x2014
#define ESMT_F25L32PA 0x2016
#define ESMT_F25D08QA 0x2534
Also, enable AAI for ESMT F25L008A. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> --- flashchips.c | 45 ++++++++++++++++++++++++++++++++++++++++----- flashchips.h | 1 + 2 files changed, 41 insertions(+), 5 deletions(-)