public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Pratyush Yadav <pratyush@kernel.org>
To: tkuw584924@gmail.com
Cc: u-boot@lists.denx.de,  jagan@amarulasolutions.com,
	 vigneshr@ti.com, tudor.ambarus@linaro.org,  pratyush@kernel.org,
	 d-gole@ti.com, Bacem.Daassi@infineon.com,
	 Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Subject: Re: [PATCH v2 3/3] mtd: spi-nor-id: Add S25FS064S, S25FS128S, S25FS256S IDs
Date: Tue, 09 Apr 2024 13:54:19 +0200	[thread overview]
Message-ID: <mafs0edbe92fo.fsf@kernel.org> (raw)
In-Reply-To: <37d92e2931b646f97f73650c0306adb736bd0efc.1712638210.git.Takahiro.Kuwano@infineon.com> (tkuw's message of "Tue, 9 Apr 2024 15:20:22 +0900")

On Tue, Apr 09 2024, tkuw584924@gmail.com wrote:

> From: Takahiro Kuwano <Takahiro.Kuwano@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@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(&params->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(&params->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@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?

>  	/* Use volatile register to enable quad */
>  	params->quad_enable = s25fs_s_quad_enable;
>  }
> diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
> index a3dca506a3..9ca1f244f0 100644
> --- a/drivers/mtd/spi/spi-nor-ids.c
> +++ b/drivers/mtd/spi/spi-nor-ids.c
> @@ -341,6 +341,9 @@ const struct flash_info spi_nor_ids[] = {
>  	{ INFO6("s25fl256s0", 0x010219, 0x4d0080, 256 * 1024, 128, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>  	{ INFO6("s25fl256s1", 0x010219, 0x4d0180,  64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>  	{ INFO6("s25fl512s",  0x010220, 0x4d0080, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
> +	{ INFO6("s25fs064s",  0x010217, 0x4d0181,  64 * 1024, 128, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
> +	{ INFO6("s25fs128s",  0x012018, 0x4d0181,  64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
> +	{ INFO6("s25fs256s",  0x010219, 0x4d0181,  64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>  	{ INFO6("s25fs512s",  0x010220, 0x4d0081, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>  	{ INFO("s25fl512s_256k",  0x010220, 0x4d00, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>  	{ INFO("s25fl512s_64k",  0x010220, 0x4d01, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },

-- 
Regards,
Pratyush Yadav

  reply	other threads:[~2024-04-09 12:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09  6:20 [PATCH v2 0/3] mtd: spi-nor: Add support for S25FS-S family tkuw584924
2024-04-09  6:20 ` [PATCH v2 1/3] mtd: spi-nore-core: Fix 4KB erase opcode for s25fs-s tkuw584924
2024-04-09  9:46   ` Pratyush Yadav
2024-04-10 18:16   ` Dhruva Gole
2024-04-09  6:20 ` [PATCH v2 2/3] mtd: spi-nor-id: Use INFO6 macro for S25FL-S tkuw584924
2024-04-09 10:03   ` Pratyush Yadav
2024-04-10 18:13   ` Dhruva Gole
2024-04-09  6:20 ` [PATCH v2 3/3] mtd: spi-nor-id: Add S25FS064S, S25FS128S, S25FS256S IDs tkuw584924
2024-04-09 11:54   ` Pratyush Yadav [this message]
2024-04-10  2:22     ` Takahiro Kuwano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mafs0edbe92fo.fsf@kernel.org \
    --to=pratyush@kernel.org \
    --cc=Bacem.Daassi@infineon.com \
    --cc=Takahiro.Kuwano@infineon.com \
    --cc=d-gole@ti.com \
    --cc=jagan@amarulasolutions.com \
    --cc=tkuw584924@gmail.com \
    --cc=tudor.ambarus@linaro.org \
    --cc=u-boot@lists.denx.de \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox