[PATCH v2 3/3] mtd: spi-nor-id: Add S25FS064S, S25FS128S, S25FS256S IDs
Takahiro Kuwano
tkuw584924 at gmail.com
Wed Apr 10 04:22:40 CEST 2024
On 4/9/2024 8:54 PM, Pratyush Yadav wrote:
> On Tue, Apr 09 2024, tkuw584924 at gmail.com wrote:
>
>> From: Takahiro Kuwano <Takahiro.Kuwano at infineon.com>
>>
>> The S25FS064S, S25FS128S, and S25FS256S are the same family of SPI NOR
>> Flash devices with S25FS512S. Some difference depending on the device
>> densities are taken care in post SFDP fixup.
>>
>> Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano at infineon.com>
>> ---
>> drivers/mtd/spi/spi-nor-core.c | 24 ++++++++++++++++++------
>> drivers/mtd/spi/spi-nor-ids.c | 3 +++
>> 2 files changed, 21 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
>> index 9620852817..9b81b31e8e 100644
>> --- a/drivers/mtd/spi/spi-nor-core.c
>> +++ b/drivers/mtd/spi/spi-nor-core.c
>> @@ -3356,12 +3356,24 @@ static int s25fs_s_post_bfpt_fixup(struct spi_nor *nor,
>> static void s25fs_s_post_sfdp_fixup(struct spi_nor *nor,
>> struct spi_nor_flash_parameter *params)
>> {
>> - /* READ_1_1_2 is not supported */
>> - params->hwcaps.mask &= ~SNOR_HWCAPS_READ_1_1_2;
>> - /* READ_1_1_4 is not supported */
>> - params->hwcaps.mask &= ~SNOR_HWCAPS_READ_1_1_4;
>> - /* PP_1_1_4 is not supported */
>> - params->hwcaps.mask &= ~SNOR_HWCAPS_PP_1_1_4;
>> + /*
>> + * The S25FS064S(8MB) supports 1-1-2 and 1-1-4 commands, but params for
>> + * read ops in SFDP are wrong. The other density parts do not support
>> + * 1-1-2 and 1-1-4 commands.
>> + */
>> + if (params->size == SZ_8M) {
>> + spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_2],
>> + 0, 8, SPINOR_OP_READ_1_1_2,
>> + SNOR_PROTO_1_1_2);
>> + spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_4],
>> + 0, 8, SPINOR_OP_READ_1_1_4,
>> + SNOR_PROTO_1_1_4);
>> + } else {
>> + params->hwcaps.mask &= ~SNOR_HWCAPS_READ_1_1_2;
>> + params->hwcaps.mask &= ~SNOR_HWCAPS_READ_1_1_4;
>> + params->hwcaps.mask &= ~SNOR_HWCAPS_PP_1_1_4;
>> + }
>> +
>
> Reviewed-by: Pratyush Yadav <pratyush at kernel.org>
>
> BTW (not directly related to this patch), I looked at the datasheet you
> provided in the cover letter and it says dual and quad I/O is supported
> for the 16 MB and 32 MB parts as well. Why do you mask them out here
> then?
>
In the datasheet,
1-2-2 and 1-4-4 read are named as dual and quad I/O read.
1-1-2 and 1-1-4 read are named as dual and quad output read.
Dual and quad I/O read (1-2-2 and 1-4-4) is supported in all S25FS-S parts.
Dual and quad output read (1-1-2 and 1-1-4) is only supported in S25FS064S.
Thank you for reviewing!
Takahiro
More information about the U-Boot
mailing list