[PATCH] Add support for more XMC series

Michael Walle michael at walle.cc
Mon Aug 28 23:48:45 PDT 2023


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



More information about the linux-mtd mailing list