Re: [PATCH] Add support for more XMC series

Michael Walle
2023-08-31T06:41:15Z

Hi,

>>>> 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
> --
> Hi michael,
>
> If these entries are not added, the flash part name is unknown and our
> customers
> cannot see our flash part name on the kernel log.
> So,I think it's necessary to add these entries.

They can still see the jedec id in the sysfs. We don't add entries just
for the
names. Sorry.

-michael