* [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt
@ 2022-08-25 7:48 tkuw584924
2022-08-25 7:48 ` [PATCH 1/3] mtd: spi-nor-core: Rename s28hs512t prefix tkuw584924
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: tkuw584924 @ 2022-08-25 7:48 UTC (permalink / raw)
To: u-boot
Cc: jagan, vigneshr, pratyush, a-govindraju, tkuw584924,
Bacem.Daassi, Takahiro Kuwano
From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
These devices are variants of s28hs512t(1.8V 512Mb) with different
density(1Gb) and power supply voltage(3V).
Datasheet:
https://www.infineon.com/dgdl/Infineon-S28HS256T_S28HS512T_S28HS01GT_S28HL256T_S28HL512T_S28HL01GT_256-Mb_(32-MB)_512-Mb_(64-MB)_1-Gb_(128-MB)_HS-T_(1.8-V)_HL-T_(3.0-V)_Semper_Flash_with_Octal_Interface-DataSheet-v03_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ee6bca96f97&da=t
Tested on Zynq-7000 platform with Infineon SPI controller
Takahiro Kuwano (3):
mtd: spi-nor-core: Rename s28hs512t prefix
mtd: spi-nor-core: Rename configuration macro for S28 support
mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs
configs/j721s2_evm_a72_defconfig | 2 +-
configs/j721s2_evm_r5_defconfig | 2 +-
drivers/mtd/spi/Kconfig | 10 +++----
drivers/mtd/spi/spi-nor-core.c | 48 +++++++++++++++++---------------
drivers/mtd/spi/spi-nor-ids.c | 5 +++-
5 files changed, 36 insertions(+), 31 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] mtd: spi-nor-core: Rename s28hs512t prefix
2022-08-25 7:48 [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt tkuw584924
@ 2022-08-25 7:48 ` tkuw584924
2022-08-25 7:48 ` [PATCH 2/3] mtd: spi-nor-core: Rename configuration macro for S28 support tkuw584924
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: tkuw584924 @ 2022-08-25 7:48 UTC (permalink / raw)
To: u-boot
Cc: jagan, vigneshr, pratyush, a-govindraju, tkuw584924,
Bacem.Daassi, Takahiro Kuwano
From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Change prefix to support all other devices in SEMPER S28 family.
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
---
drivers/mtd/spi/spi-nor-core.c | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index e3c86e080a..5f16bf7b1a 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -3369,15 +3369,15 @@ static int spi_nor_cypress_octal_dtr_enable(struct spi_nor *nor)
return 0;
}
-static int s28hs512t_erase_non_uniform(struct spi_nor *nor, loff_t addr)
+static int s28hx_t_erase_non_uniform(struct spi_nor *nor, loff_t addr)
{
/* Factory default configuration: 32 x 4 KiB sectors at bottom. */
return spansion_erase_non_uniform(nor, addr, SPINOR_OP_S28_SE_4K,
0, SZ_128K);
}
-static int s28hs512t_setup(struct spi_nor *nor, const struct flash_info *info,
- const struct spi_nor_flash_parameter *params)
+static int s28hx_t_setup(struct spi_nor *nor, const struct flash_info *info,
+ const struct spi_nor_flash_parameter *params)
{
struct spi_mem_op op;
u8 buf;
@@ -3404,19 +3404,19 @@ static int s28hs512t_setup(struct spi_nor *nor, const struct flash_info *info,
return ret;
if (!(buf & SPINOR_REG_CYPRESS_CFR3V_UNISECT))
- nor->erase = s28hs512t_erase_non_uniform;
+ nor->erase = s28hx_t_erase_non_uniform;
return spi_nor_default_setup(nor, info, params);
}
-static void s28hs512t_default_init(struct spi_nor *nor)
+static void s28hx_t_default_init(struct spi_nor *nor)
{
nor->octal_dtr_enable = spi_nor_cypress_octal_dtr_enable;
- nor->setup = s28hs512t_setup;
+ nor->setup = s28hx_t_setup;
}
-static void s28hs512t_post_sfdp_fixup(struct spi_nor *nor,
- struct spi_nor_flash_parameter *params)
+static void s28hx_t_post_sfdp_fixup(struct spi_nor *nor,
+ struct spi_nor_flash_parameter *params)
{
/*
* On older versions of the flash the xSPI Profile 1.0 table has the
@@ -3446,10 +3446,10 @@ static void s28hs512t_post_sfdp_fixup(struct spi_nor *nor,
params->rdsr_addr_nbytes = 4;
}
-static int s28hs512t_post_bfpt_fixup(struct spi_nor *nor,
- const struct sfdp_parameter_header *bfpt_header,
- const struct sfdp_bfpt *bfpt,
- struct spi_nor_flash_parameter *params)
+static int s28hx_t_post_bfpt_fixup(struct spi_nor *nor,
+ const struct sfdp_parameter_header *bfpt_header,
+ const struct sfdp_bfpt *bfpt,
+ struct spi_nor_flash_parameter *params)
{
struct spi_mem_op op;
u8 buf;
@@ -3486,10 +3486,10 @@ static int s28hs512t_post_bfpt_fixup(struct spi_nor *nor,
return 0;
}
-static struct spi_nor_fixups s28hs512t_fixups = {
- .default_init = s28hs512t_default_init,
- .post_sfdp = s28hs512t_post_sfdp_fixup,
- .post_bfpt = s28hs512t_post_bfpt_fixup,
+static struct spi_nor_fixups s28hx_t_fixups = {
+ .default_init = s28hx_t_default_init,
+ .post_sfdp = s28hx_t_post_sfdp_fixup,
+ .post_bfpt = s28hx_t_post_bfpt_fixup,
};
#endif /* CONFIG_SPI_FLASH_S28HS512T */
@@ -3824,7 +3824,7 @@ void spi_nor_set_fixups(struct spi_nor *nor)
#ifdef CONFIG_SPI_FLASH_S28HS512T
if (!strcmp(nor->info->name, "s28hs512t"))
- nor->fixups = &s28hs512t_fixups;
+ nor->fixups = &s28hx_t_fixups;
#endif
#ifdef CONFIG_SPI_FLASH_MT35XU
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] mtd: spi-nor-core: Rename configuration macro for S28 support
2022-08-25 7:48 [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt tkuw584924
2022-08-25 7:48 ` [PATCH 1/3] mtd: spi-nor-core: Rename s28hs512t prefix tkuw584924
@ 2022-08-25 7:48 ` tkuw584924
2022-08-25 7:48 ` [PATCH 3/3] mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs tkuw584924
2022-10-23 5:15 ` [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt Jagan Teki
3 siblings, 0 replies; 5+ messages in thread
From: tkuw584924 @ 2022-08-25 7:48 UTC (permalink / raw)
To: u-boot
Cc: jagan, vigneshr, pratyush, a-govindraju, tkuw584924,
Bacem.Daassi, Takahiro Kuwano
From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Change configuration macro name to support all other devices in SEMPER S28
family.
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
---
configs/j721s2_evm_a72_defconfig | 2 +-
configs/j721s2_evm_r5_defconfig | 2 +-
drivers/mtd/spi/Kconfig | 10 +++++-----
drivers/mtd/spi/spi-nor-core.c | 6 +++---
drivers/mtd/spi/spi-nor-ids.c | 2 +-
5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/configs/j721s2_evm_a72_defconfig b/configs/j721s2_evm_a72_defconfig
index 14dfb6946f..d7566c7cec 100644
--- a/configs/j721s2_evm_a72_defconfig
+++ b/configs/j721s2_evm_a72_defconfig
@@ -150,7 +150,7 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPI_FLASH_SOFT_RESET=y
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
CONFIG_SPI_FLASH_SPANSION=y
-CONFIG_SPI_FLASH_S28HS512T=y
+CONFIG_SPI_FLASH_S28HX_T=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_MT35XU=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
diff --git a/configs/j721s2_evm_r5_defconfig b/configs/j721s2_evm_r5_defconfig
index 98d69a18b9..eade24908f 100644
--- a/configs/j721s2_evm_r5_defconfig
+++ b/configs/j721s2_evm_r5_defconfig
@@ -129,7 +129,7 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPI_FLASH_SOFT_RESET=y
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
CONFIG_SPI_FLASH_SPANSION=y
-CONFIG_SPI_FLASH_S28HS512T=y
+CONFIG_SPI_FLASH_S28HX_T=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_MT35XU=y
CONFIG_PINCTRL=y
diff --git a/drivers/mtd/spi/Kconfig b/drivers/mtd/spi/Kconfig
index 096338f27b..7b858a3a91 100644
--- a/drivers/mtd/spi/Kconfig
+++ b/drivers/mtd/spi/Kconfig
@@ -166,13 +166,13 @@ config SPI_FLASH_SPANSION
help
Add support for various Spansion SPI flash chips (S25FLxxx)
-config SPI_FLASH_S28HS512T
- bool "Cypress S28HS512T chip support"
+config SPI_FLASH_S28HX_T
+ bool "Cypress SEMPER Octal (S28) chip support"
depends on SPI_FLASH_SPANSION
help
- Add support for the Cypress S28HS512T chip. This is a separate config
- because the fixup hooks for this flash add extra size overhead. Boards
- that don't use the flash can disable this to save space.
+ Add support for the Cypress S28HL-T and S28HS-T chip. This is a separate
+ config because the fixup hooks for this flash add extra size overhead.
+ Boards that don't use the flash can disable this to save space.
config SPI_FLASH_STMICRO
bool "STMicro SPI flash support"
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 5f16bf7b1a..67e54a5cb5 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -3310,7 +3310,7 @@ static struct spi_nor_fixups s25fl256l_fixups = {
};
#endif
-#ifdef CONFIG_SPI_FLASH_S28HS512T
+#ifdef CONFIG_SPI_FLASH_S28HX_T
/**
* spi_nor_cypress_octal_dtr_enable() - Enable octal DTR on Cypress flashes.
* @nor: pointer to a 'struct spi_nor'
@@ -3491,7 +3491,7 @@ static struct spi_nor_fixups s28hx_t_fixups = {
.post_sfdp = s28hx_t_post_sfdp_fixup,
.post_bfpt = s28hx_t_post_bfpt_fixup,
};
-#endif /* CONFIG_SPI_FLASH_S28HS512T */
+#endif /* CONFIG_SPI_FLASH_S28HX_T */
#ifdef CONFIG_SPI_FLASH_MT35XU
static int spi_nor_micron_octal_dtr_enable(struct spi_nor *nor)
@@ -3822,7 +3822,7 @@ void spi_nor_set_fixups(struct spi_nor *nor)
nor->fixups = &s25fl256l_fixups;
#endif
-#ifdef CONFIG_SPI_FLASH_S28HS512T
+#ifdef CONFIG_SPI_FLASH_S28HX_T
if (!strcmp(nor->info->name, "s28hs512t"))
nor->fixups = &s28hx_t_fixups;
#endif
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 4fe8b0d92c..743a87f172 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -294,7 +294,7 @@ const struct flash_info spi_nor_ids[] = {
USE_CLSR) },
{ INFO6("s25hs02gt", 0x342b1c, 0x0f0090, 256 * 1024, 1024,
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
-#ifdef CONFIG_SPI_FLASH_S28HS512T
+#ifdef CONFIG_SPI_FLASH_S28HX_T
{ INFO("s28hs512t", 0x345b1a, 0, 256 * 1024, 256, SPI_NOR_OCTAL_DTR_READ) },
#endif
#endif
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs
2022-08-25 7:48 [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt tkuw584924
2022-08-25 7:48 ` [PATCH 1/3] mtd: spi-nor-core: Rename s28hs512t prefix tkuw584924
2022-08-25 7:48 ` [PATCH 2/3] mtd: spi-nor-core: Rename configuration macro for S28 support tkuw584924
@ 2022-08-25 7:48 ` tkuw584924
2022-10-23 5:15 ` [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt Jagan Teki
3 siblings, 0 replies; 5+ messages in thread
From: tkuw584924 @ 2022-08-25 7:48 UTC (permalink / raw)
To: u-boot
Cc: jagan, vigneshr, pratyush, a-govindraju, tkuw584924,
Bacem.Daassi, Takahiro Kuwano
From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Add flash info table entries for s28hl512gt, s28hl01gt, and s28hs01gt.
These devices have the same functionality as s28hs512t.
In spi-nor-core, use device ID byte to detect S28 family instead of
device name.
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
---
drivers/mtd/spi/spi-nor-core.c | 12 +++++++-----
drivers/mtd/spi/spi-nor-ids.c | 3 +++
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 67e54a5cb5..ead97cee1c 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -3812,6 +3812,13 @@ void spi_nor_set_fixups(struct spi_nor *nor)
nor->fixups = &s25hx_t_fixups;
break;
+#ifdef CONFIG_SPI_FLASH_S28HX_T
+ case 0x5a: /* S28HL (Octal, 3.3V) */
+ case 0x5b: /* S28HS (Octal, 1.8V) */
+ nor->fixups = &s28hx_t_fixups;
+ break;
+#endif
+
default:
break;
}
@@ -3822,11 +3829,6 @@ void spi_nor_set_fixups(struct spi_nor *nor)
nor->fixups = &s25fl256l_fixups;
#endif
-#ifdef CONFIG_SPI_FLASH_S28HX_T
- if (!strcmp(nor->info->name, "s28hs512t"))
- nor->fixups = &s28hx_t_fixups;
-#endif
-
#ifdef CONFIG_SPI_FLASH_MT35XU
if (!strcmp(nor->info->name, "mt35xu512aba"))
nor->fixups = &mt35xu512aba_fixups;
diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 743a87f172..7e7a3e97bc 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -295,7 +295,10 @@ const struct flash_info spi_nor_ids[] = {
{ INFO6("s25hs02gt", 0x342b1c, 0x0f0090, 256 * 1024, 1024,
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
#ifdef CONFIG_SPI_FLASH_S28HX_T
+ { INFO("s28hl512t", 0x345a1a, 0, 256 * 1024, 256, SPI_NOR_OCTAL_DTR_READ) },
+ { INFO("s28hl01gt", 0x345a1b, 0, 256 * 1024, 512, SPI_NOR_OCTAL_DTR_READ) },
{ INFO("s28hs512t", 0x345b1a, 0, 256 * 1024, 256, SPI_NOR_OCTAL_DTR_READ) },
+ { INFO("s28hs01gt", 0x345b1b, 0, 256 * 1024, 512, SPI_NOR_OCTAL_DTR_READ) },
#endif
#endif
#ifdef CONFIG_SPI_FLASH_SST /* SST */
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt
2022-08-25 7:48 [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt tkuw584924
` (2 preceding siblings ...)
2022-08-25 7:48 ` [PATCH 3/3] mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs tkuw584924
@ 2022-10-23 5:15 ` Jagan Teki
3 siblings, 0 replies; 5+ messages in thread
From: Jagan Teki @ 2022-10-23 5:15 UTC (permalink / raw)
To: tkuw584924
Cc: u-boot, vigneshr, pratyush, a-govindraju, Bacem.Daassi, Takahiro Kuwano
On Thu, Aug 25, 2022 at 1:19 PM <tkuw584924@gmail.com> wrote:
>
> From: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
>
> These devices are variants of s28hs512t(1.8V 512Mb) with different
> density(1Gb) and power supply voltage(3V).
>
> Datasheet:
> https://www.infineon.com/dgdl/Infineon-S28HS256T_S28HS512T_S28HS01GT_S28HL256T_S28HL512T_S28HL01GT_256-Mb_(32-MB)_512-Mb_(64-MB)_1-Gb_(128-MB)_HS-T_(1.8-V)_HL-T_(3.0-V)_Semper_Flash_with_Octal_Interface-DataSheet-v03_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ee6bca96f97&da=t
>
> Tested on Zynq-7000 platform with Infineon SPI controller
>
> Takahiro Kuwano (3):
> mtd: spi-nor-core: Rename s28hs512t prefix
> mtd: spi-nor-core: Rename configuration macro for S28 support
> mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs
Applied to u-boot-spi/master
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-10-23 5:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-25 7:48 [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt tkuw584924
2022-08-25 7:48 ` [PATCH 1/3] mtd: spi-nor-core: Rename s28hs512t prefix tkuw584924
2022-08-25 7:48 ` [PATCH 2/3] mtd: spi-nor-core: Rename configuration macro for S28 support tkuw584924
2022-08-25 7:48 ` [PATCH 3/3] mtd: spi-nor-ids: Add s28hl512t, s28hl01gt, and s28hs01gt IDs tkuw584924
2022-10-23 5:15 ` [PATCH 0/3] mtd: spi-nor-core: Add support for s28hl512t, s28hl01gt, and s28hs01gt Jagan Teki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).