[PATCH] mtd: spi-nor: sst: Unlock addition for sst26vf016

Tudor Ambarus tudor.ambarus at linaro.org
Fri Mar 31 03:25:48 PDT 2023


Hi, Nicolas,

On 3/31/23 10:55, nicolas.ferre at microchip.com wrote:
> From: Guillaume Socquet <guillaume.socquet at microchip.com>
> 
> Modify sst26vf016 flash_info struct so when such device is detected by
> the driver it may be unlocked for write operation as sst26vf064.
> 
> Signed-off-by: Guillaume Socquet <guillaume.socquet at microchip.com>
> Signed-off-by: Nicolas Ferre <nicolas.ferre at microchip.com>
> ---
>  drivers/mtd/spi-nor/sst.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/spi-nor/sst.c b/drivers/mtd/spi-nor/sst.c
> index 63bcc97bf978..99c8a19493f5 100644
> --- a/drivers/mtd/spi-nor/sst.c
> +++ b/drivers/mtd/spi-nor/sst.c
> @@ -110,7 +110,9 @@ static const struct flash_info sst_nor_parts[] = {
>  		NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
>  			      SPI_NOR_QUAD_READ) },
>  	{ "sst26vf016b", INFO(0xbf2641, 0, 64 * 1024, 32)
> -		NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ) },
> +		FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE)
> +		NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ)

If I remember correctly this flash has SFDP support. If so, we may be
able to get rid of the "NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ)". You
can check whether the flash defines the SFDP tables or not by dumping
the sfdp sysfs entry. Check the link from below on how to do that.

Also the sector size and nsectors should be superfluous if the SFDP
tables are present.

> +		.fixups = &sst26vf_nor_fixups },
So I'd try:

{ "sst26vf016b", INFO(0xbf2641, 0, 0, 0)
		PARSE_SFDP
		FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE)
		.fixups = &sst26vf_nor_fixups },

We ask people that update or add new flash entries to do an erase,
verify erase, write, read back and compare test. Also to dump the sysfs
entries. Here's how to do that:

https://lore.kernel.org/lkml/97a3b023-b9bc-c34d-45a4-ddd56f47bd76@microchip.com/T/

Cheers,
ta



More information about the linux-arm-kernel mailing list