Re: [PATCH] Add support for more XMC series

SSunk
2023-08-29T04:56:59Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2085 bytes --]

>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 = {
>> Correct. If the flash is working with PARSE_SFDP, it has SFDP and
>> all the information of the flash_info table is pulled from the SFDP
>> tables, except for the part name. Therefore, you don't need any entry
>> at all. The flash should just work out of the box. Are you using the
>> latest kernel?
>>
>> -michael
--
Hi Michael,

According to you, does this piece of my code still need to be modified?

Thanks,
Ssunk