summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Nikolaev <evrinoma@gmail.com>2013-06-28 21:29:03 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-06-28 21:29:03 +0000
commit01dac17ec586e0476eaea3410d68d516fd6d6a61 (patch)
tree8557b004046d1dace6ca40256ca0bc41a31e1172
parent3f3390b22c7b94a9d1d5573a030fd0bcc9a8f7bf (diff)
downloadast2050-flashrom-01dac17ec586e0476eaea3410d68d516fd6d6a61.zip
ast2050-flashrom-01dac17ec586e0476eaea3410d68d516fd6d6a61.tar.gz
Add support for Numonyx M45PE series
Add... - M45PE10 - M45PE20 - M45PE40 - M45PE80 - M45PE16 Corresponding to flashrom svn r1686. Signed-off-by: Nikolay Nikolaev <evrinoma@gmail.com> Reviewed-by: Steven Zakulec <spzakulec@gmail.com> 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.c135
-rw-r--r--flashchips.h5
2 files changed, 140 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index 331ea4d..9e1f9a5 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -6699,6 +6699,141 @@ const struct flashchip flashchips[] = {
{
.vendor = "Numonyx",
+ .name = "M45PE10",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M45PE10,
+ .total_size = 128,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {256, 512} },
+ .block_erase = spi_block_erase_db,
+ }, {
+ .eraseblocks = { {64 * 1024, 2} },
+ .block_erase = spi_block_erase_d8,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_welwip,
+ .unlock = NULL, /* #WP pin write-protects lower 64kB. */
+ .write = spi_chip_write_256, /* Page write (similar to PP but allows 0->1 changes) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Numonyx",
+ .name = "M45PE20",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M45PE20,
+ .total_size = 256,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {256, 1024} },
+ .block_erase = spi_block_erase_db,
+ }, {
+ .eraseblocks = { {64 * 1024, 4} },
+ .block_erase = spi_block_erase_d8,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_welwip,
+ .unlock = NULL, /* #WP pin write-protects lower 64kB. */
+ .write = spi_chip_write_256, /* Page write (similar to PP but allows 0->1 changes) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Numonyx",
+ .name = "M45PE40",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M45PE40,
+ .total_size = 512,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {256, 2048} },
+ .block_erase = spi_block_erase_db,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = spi_block_erase_d8,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_welwip,
+ .unlock = NULL, /* #WP pin write-protects lower 64kB. */
+ .write = spi_chip_write_256, /* Page write (similar to PP but allows 0->1 changes) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Numonyx",
+ .name = "M45PE80",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M45PE80,
+ .total_size = 1024,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {256, 4096} },
+ .block_erase = spi_block_erase_db,
+ }, {
+ .eraseblocks = { {64 * 1024, 16} },
+ .block_erase = spi_block_erase_d8,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_welwip,
+ .unlock = NULL, /* #WP pin write-protects lower 64kB. */
+ .write = spi_chip_write_256, /* Page write (similar to PP but allows 0->1 changes) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Numonyx",
+ .name = "M45PE16",
+ .bustype = BUS_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M45PE16,
+ .total_size = 2048,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {256, 8192} },
+ .block_erase = spi_block_erase_db,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = spi_block_erase_d8,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_welwip,
+ .unlock = NULL, /* #WP pin write-protects lower 64kB. */
+ .write = spi_chip_write_256, /* Page write (similar to PP but allows 0->1 changes) */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Numonyx",
.name = "N25Q016",
.bustype = BUS_SPI,
.manufacture_id = ST_ID,
diff --git a/flashchips.h b/flashchips.h
index 17893d9..696233d 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -610,6 +610,11 @@
#define ST_M25P32 0x2016
#define ST_M25P64 0x2017
#define ST_M25P128 0x2018
+#define ST_M45PE10 0x4011
+#define ST_M45PE20 0x4012
+#define ST_M45PE40 0x4013
+#define ST_M45PE80 0x4014
+#define ST_M45PE16 0x4015
#define ST_M25PX16 0x7115
#define ST_M25PX32 0x7116
#define ST_M25PX64 0x7117
OpenPOWER on IntegriCloud