[PATCH] Add support for more XMC series

From: SSunk
Date: Thu Aug 17 2023 - 13:04:37 EST


Add XMC XM25QH128C/XM25QH256C/XM25QU256C/XM25QH512C/XM25QU512C
and set the parse_sfdp flag.

Signed-off-by: Kankan Sun <ssunkkan@xxxxxxxxx>
---
Hi Michael,
Since this is the first time I've submitted code to the Linux community, please forgive me for some of the missteps that I've made.
I uploaded the incorrect patch file.
In a previous e-mail you said:
XMC parts seem to have SFDP tables and they should work out of the box
without any patches with the generic spi nor driver [1]. Therefore,
you don't need any entry at all.

I think it is related to the PARSE_SFDP flag.
The XMC flash part supports SFDP, so i don’t need to add NO_SFDP_FLAGS() macro.
drivers/mtd/spi-nor/xmc.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/spi-nor/xmc.c b/drivers/mtd/spi-nor/xmc.c
index 051411e86339..e78bf11792d9 100644
--- a/drivers/mtd/spi-nor/xmc.c
+++ b/drivers/mtd/spi-nor/xmc.c
@@ -11,11 +11,20 @@
static const struct flash_info xmc_nor_parts[] = {
/* XMC (Wuhan Xinxin Semiconductor Manufacturing Corp.) */
{ "XM25QH64A", INFO(0x207017, 0, 64 * 1024, 128)
- NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
- SPI_NOR_QUAD_READ) },
+ PARSE_SFDP },
{ "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256)
- NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
- SPI_NOR_QUAD_READ) },
+ PARSE_SFDP },
+ { "XM25QH128C", INFO(0x204018, 0, 64 * 1024, 256)
+ PARSE_SFDP },
+ { "XM25QH256C", INFO(0x204019, 0, 64 * 1024, 512)
+ PARSE_SFDP },
+ { "XM25QU256C", INFO(0x204119, 0, 64 * 1024, 512)
+ PARSE_SFDP },
+ { "XM25QH512C", INFO(0x204020, 0, 64 * 1024, 1024)
+ PARSE_SFDP },
+ { "XM25QU512C", INFO(0x204120, 0, 64 * 1024, 1024)
+ PARSE_SFDP },
+
};

const struct spi_nor_manufacturer spi_nor_xmc = {
--
2.34.1