From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Date: Fri, 22 Dec 2023 05:46:02 +0000 (+0900)
Subject: mtd: spi-nor-core: Rework s25_mdp_ready() to support Octal DTR mode
X-Git-Tag: v2025.01-rc5-pxa1908~682^2~4
X-Git-Url: http://git.dujemihanovic.xyz/img/static//%22brlog.php?a=commitdiff_plain;h=c4de92d949b62440706c9f9e7f33076907a5a946;p=u-boot.git

mtd: spi-nor-core: Rework s25_mdp_ready() to support Octal DTR mode

s25_mdp_ready() handles status polling for multi-die package parts that
requires to read and check status register for each die. To support
S28HS02GT(dual-die package with Octal DTR support), rename function and
use nor->rdsr_dummy in octal DTR mode.

Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
---

diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 829ca7b56c..32cdb9d1d5 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -3370,13 +3370,13 @@ static struct spi_nor_fixups s25fs_s_fixups = {
 	.post_sfdp = s25fs_s_post_sfdp_fixup,
 };
 
-static int s25_mdp_ready(struct spi_nor *nor)
+static int s25_s28_mdp_ready(struct spi_nor *nor)
 {
 	u32 addr;
 	int ret;
 
 	for (addr = 0; addr < nor->mtd.size; addr += SZ_128M) {
-		ret = spansion_sr_ready(nor, addr, 0);
+		ret = spansion_sr_ready(nor, addr, nor->rdsr_dummy);
 		if (!ret)
 			return ret;
 	}
@@ -3446,7 +3446,7 @@ static int s25_setup(struct spi_nor *nor, const struct flash_info *info,
 	 * all dies' status via read any register.
 	 */
 	if (nor->mtd.size > SZ_128M)
-		nor->ready = s25_mdp_ready;
+		nor->ready = s25_s28_mdp_ready;
 
 	return spi_nor_default_setup(nor, info, params);
 }