[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/9] m25p80: Add the mx25l25635e SFPD table
From: |
Cédric Le Goater |
Subject: |
[PATCH v2 3/9] m25p80: Add the mx25l25635e SFPD table |
Date: |
Wed, 2 Sep 2020 11:31:01 +0200 |
The SFDP table is 0x80 bytes long. The mandatory table for basic
features is available at byte 0x30 and an extra Macronix specific
table is available at 0x60.
4B opcodes are not supported.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/block/m25p80_sfdp.h | 3 +++
hw/block/m25p80.c | 3 ++-
hw/block/m25p80_sfdp.c | 26 ++++++++++++++++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/hw/block/m25p80_sfdp.h b/hw/block/m25p80_sfdp.h
index d3a0a778ae84..0c46e669b335 100644
--- a/hw/block/m25p80_sfdp.h
+++ b/hw/block/m25p80_sfdp.h
@@ -17,4 +17,7 @@
extern uint8_t m25p80_sfdp_n25q256a(uint32_t addr);
+extern uint8_t m25p80_sfdp_mx25l25635e(uint32_t addr);
+
+
#endif
diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index dbfd88b41a12..757beab3065f 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -219,7 +219,8 @@ static const FlashPartInfo known_devices[] = {
{ INFO("mx25l6405d", 0xc22017, 0, 64 << 10, 128, 0) },
{ INFO("mx25l12805d", 0xc22018, 0, 64 << 10, 256, 0) },
{ INFO("mx25l12855e", 0xc22618, 0, 64 << 10, 256, 0) },
- { INFO6("mx25l25635e", 0xc22019, 0xc22019, 64 << 10, 512, 0) },
+ { INFO6("mx25l25635e", 0xc22019, 0xc22019, 64 << 10, 512, 0),
+ .sfdp_read = m25p80_sfdp_mx25l25635e },
{ INFO("mx25l25655e", 0xc22619, 0, 64 << 10, 512, 0) },
{ INFO("mx66l51235f", 0xc2201a, 0, 64 << 10, 1024, ER_4K | ER_32K) },
{ INFO("mx66u51235f", 0xc2253a, 0, 64 << 10, 1024, ER_4K | ER_32K) },
diff --git a/hw/block/m25p80_sfdp.c b/hw/block/m25p80_sfdp.c
index 24ec05de79a1..6499c4c39954 100644
--- a/hw/block/m25p80_sfdp.c
+++ b/hw/block/m25p80_sfdp.c
@@ -56,3 +56,29 @@ static const uint8_t sfdp_n25q256a[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
};
define_sfdp_read(n25q256a);
+
+
+/*
+ * Matronix
+ */
+
+/* mx25l25635e. No 4B opcodes */
+static const uint8_t sfdp_mx25l25635e[] = {
+ 0x53, 0x46, 0x44, 0x50, 0x00, 0x01, 0x01, 0xff,
+ 0x00, 0x00, 0x01, 0x09, 0x30, 0x00, 0x00, 0xff,
+ 0xc2, 0x00, 0x01, 0x04, 0x60, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe5, 0x20, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x0f,
+ 0x44, 0xeb, 0x08, 0x6b, 0x08, 0x3b, 0x04, 0xbb,
+ 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
+ 0xff, 0xff, 0x00, 0xff, 0x0c, 0x20, 0x0f, 0x52,
+ 0x10, 0xd8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x36, 0x00, 0x27, 0xf7, 0x4f, 0xff, 0xff,
+ 0xd9, 0xc8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+};
+define_sfdp_read(mx25l25635e)
--
2.25.4
- [PATCH v2 0/9] 5p80: Add SFDP support, Cédric Le Goater, 2020/09/02
- [PATCH v2 1/9] m25p80: Add basic support for the SFDP command, Cédric Le Goater, 2020/09/02
- [PATCH v2 6/9] m25p80: Add the w25q256 SFPD table, Cédric Le Goater, 2020/09/02
- [PATCH v2 3/9] m25p80: Add the mx25l25635e SFPD table,
Cédric Le Goater <=
- [PATCH v2 5/9] m25p80: Add the mx66l1g45g SFDP table, Cédric Le Goater, 2020/09/02
- [PATCH v2 2/9] m25p80: Add the n25q256a SFDP table, Cédric Le Goater, 2020/09/02
- [PATCH v2 7/9] m25p80: Add the w25q512jv SFPD table, Cédric Le Goater, 2020/09/02
- [PATCH v2 8/9] arm/aspeed: Replace mx25l25635e chip model, Cédric Le Goater, 2020/09/02
- [PATCH v2 4/9] m25p80: Add the mx25l25635f SFPD table, Cédric Le Goater, 2020/09/02
- [PATCH v2 9/9] aspeed/smc: Add support for RDSFDP command, Cédric Le Goater, 2020/09/02