Re: [PATCH] Add support for more XMC series

Michael Walle
2023-08-29T06:49:32Z

Am 2023-08-29 06:56, schrieb SSunk:
>> 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?

You don't need it at all. The flash will work as is - that is without
that
piece of code.

-michael