summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-02-02 15:35:44 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-02-02 15:35:44 +0000
commitf656e8088e95eaa9a4690529597133d0daf66c2a (patch)
tree4ed016fe0ff14231ceb6a9d121b95aa3744f76da
parent67d163d2fa6e7db9673e8ec820b8ef21bca5e907 (diff)
downloadast2050-flashrom-f656e8088e95eaa9a4690529597133d0daf66c2a.zip
ast2050-flashrom-f656e8088e95eaa9a4690529597133d0daf66c2a.tar.gz
Update Macronix MX25L512, MX25L1005, MX25L2005, MX25L4005, MX25L8005
Update MX25L512 with references to and data about MX25L512E, MX25V512, MX25V512C. Update MX25L1005 with references to and data about MX25L1005C, MX25L1006E. Update MX25L2005 with references to and data about MX25L2005C. Update MX25L4005 with references to and data about MX25L4005A, MX25L4005C. Update MX25L8005 with references to and data about MX25V8005. Bonus: add chip IDs of MX25U1635E, MX25U3235E/F, MX25U6435E/F. Corresponding to flashrom svn r1647. 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.c36
-rw-r--r--flashchips.h11
2 files changed, 26 insertions, 21 deletions
diff --git a/flashchips.c b/flashchips.c
index 1c86677..b976ee6 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -5068,12 +5068,13 @@ const struct flashchip flashchips[] = {
{
.vendor = "Macronix",
- .name = "MX25L512",
+ .name = "MX25L512(E)/MX25V512(C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
.model_id = MACRONIX_MX25L512,
.total_size = 64,
.page_size = 256,
+ /* MX25L512E supports SFDP */
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
@@ -5097,21 +5098,22 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
},
},
- .printlock = spi_prettyprint_status_register_default_bp1, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp1,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
- .voltage = {2700, 3600},
+ .read = spi_chip_read, /* Fast read (0x0B) supported, MX25L512E supports dual I/O */
+ .voltage = {2700, 3600}, /* 2.35-3.6V for MX25V512(C) */
},
{
.vendor = "Macronix",
- .name = "MX25L1005",
+ .name = "MX25L1005(C)/MX25L1006E",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
.model_id = MACRONIX_MX25L1005,
.total_size = 128,
.page_size = 256,
+ /* MX25L1006E supports SFDP */
.feature_bits = FEATURE_WRSR_WREN,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
@@ -5132,16 +5134,16 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
},
},
- .printlock = spi_prettyprint_status_register_default_bp3, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp1,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
+ .read = spi_chip_read, /* Fast read (0x0B) supported, MX25L1006E supports dual I/O */
.voltage = {2700, 3600},
},
{
.vendor = "Macronix",
- .name = "MX25L2005",
+ .name = "MX25L2005(C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
.model_id = MACRONIX_MX25L2005,
@@ -5170,16 +5172,16 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
},
},
- .printlock = spi_prettyprint_status_register_default_bp3, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp1,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
.voltage = {2700, 3600},
},
{
.vendor = "Macronix",
- .name = "MX25L4005",
+ .name = "MX25L4005(A/C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
.model_id = MACRONIX_MX25L4005,
@@ -5208,16 +5210,16 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
},
},
- .printlock = spi_prettyprint_status_register_default_bp3, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp2,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
.voltage = {2700, 3600},
},
{
.vendor = "Macronix",
- .name = "MX25L8005",
+ .name = "MX25L8005/MX25V8005",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
.model_id = MACRONIX_MX25L8005,
@@ -5246,11 +5248,11 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
},
},
- .printlock = spi_prettyprint_status_register_default_bp3, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp2,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
- .voltage = {2700, 3600},
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600}, /* 2.35-3.6V for MX25V8005 */
},
{
diff --git a/flashchips.h b/flashchips.h
index 99e37d5..d123ab0 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -382,10 +382,10 @@
* and use the same set of IDs.
*/
#define MACRONIX_ID 0xC2 /* Macronix (MX) */
-#define MACRONIX_MX25L512 0x2010 /* Same as MX25V512 */
-#define MACRONIX_MX25L1005 0x2011
-#define MACRONIX_MX25L2005 0x2012
-#define MACRONIX_MX25L4005 0x2013 /* MX25L4005{,A} */
+#define MACRONIX_MX25L512 0x2010 /* Same as MX25L512E, MX25V512, MX25V512C */
+#define MACRONIX_MX25L1005 0x2011 /* Same as MX25L1005C, MX25L1006E */
+#define MACRONIX_MX25L2005 0x2012 /* Same as MX25L2005C */
+#define MACRONIX_MX25L4005 0x2013 /* Same as MX25L4005A, MX25L4005C */
#define MACRONIX_MX25L8005 0x2014 /* Same as MX25V8005 */
#define MACRONIX_MX25L1605 0x2015 /* MX25L1605{,A,D} */
#define MACRONIX_MX25L3205 0x2016 /* MX25L3205{,A} */
@@ -393,6 +393,9 @@
#define MACRONIX_MX25L12805 0x2018 /* MX25L12805 */
#define MACRONIX_MX25L1635D 0x2415
#define MACRONIX_MX25L1635E 0x2515 /* MX25L1635{E} */
+#define MACRONIX_MX25U1635E 0x2535
+#define MACRONIX_MX25U3235E 0x2536 /* Same as MX25U6435F */
+#define MACRONIX_MX25U6435E 0x2537 /* Same as MX25U6435F */
#define MACRONIX_MX25L3235D 0x5E16 /* MX25L3225D/MX25L3235D/MX25L3237D */
#define MACRONIX_MX29F001B 0x19
#define MACRONIX_MX29F001T 0x18
OpenPOWER on IntegriCloud