diff mbox series

MTD: NAND: Select timings for Kioxia TH58NVG3S0HBAI4

Message ID 20220429080549.29236-1-rickaran@axis.com
State Changes Requested
Headers show
Series MTD: NAND: Select timings for Kioxia TH58NVG3S0HBAI4 | expand

Commit Message

Rickard x Andersson April 29, 2022, 8:05 a.m. UTC
From: Rickard x Andersson <rickaran@axis.com>

Add timings for Kioxia/Toshiba TH58NVG3S0HBAI4. Timings
for this memory matches the timings selected for
TH58NVG2S3HBAI4.

This patch increases eraseblock write speed from 5248 KiB/s
to 6864 KiB/s and erase block read speed from 8542 KiB/s
to 18360 KiB/s

Tested on i.MX6SX.

Signed-off-by: Rickard x Andersson <rickaran@axis.com>
---
 drivers/mtd/nand/raw/nand_ids.c     | 3 +++
 drivers/mtd/nand/raw/nand_toshiba.c | 6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

Comments

Miquel Raynal April 29, 2022, 8:16 a.m. UTC | #1
Hi Rickard,

rickaran@axis.com wrote on Fri, 29 Apr 2022 10:05:49 +0200:

> From: Rickard x Andersson <rickaran@axis.com>
> 
> Add timings for Kioxia/Toshiba TH58NVG3S0HBAI4. Timings
> for this memory matches the timings selected for
> TH58NVG2S3HBAI4.
> 
> This patch increases eraseblock write speed from 5248 KiB/s
> to 6864 KiB/s and erase block read speed from 8542 KiB/s
> to 18360 KiB/s
> 
> Tested on i.MX6SX.

Please change the title to something like:
"mtd: rawnand: kioxia: Add support for TH58NVG3S0HBAI4"

And we'll be good.

> 
> Signed-off-by: Rickard x Andersson <rickaran@axis.com>
> ---
>  drivers/mtd/nand/raw/nand_ids.c     | 3 +++
>  drivers/mtd/nand/raw/nand_toshiba.c | 6 ++++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/nand_ids.c b/drivers/mtd/nand/raw/nand_ids.c
> index d64adbd1ce6b..88c2440b47d8 100644
> --- a/drivers/mtd/nand/raw/nand_ids.c
> +++ b/drivers/mtd/nand/raw/nand_ids.c
> @@ -61,6 +61,9 @@ struct nand_flash_dev nand_flash_ids[] = {
>  	{"TH58NVG2S3HBAI4 4G 3.3V 8-bit",
>  		{ .id = {0x98, 0xdc, 0x91, 0x15, 0x76} },
>  		  SZ_2K, SZ_512, SZ_128K, 0, 5, 128, NAND_ECC_INFO(8, SZ_512) },
> +	{"TH58NVG3S0HBAI4 8G 3.3V 8-bit",
> +		{ .id = {0x98, 0xd3, 0x91, 0x26, 0x76} },
> +		  SZ_4K, SZ_1K, SZ_256K, 0, 5, 256, NAND_ECC_INFO(8, SZ_512)},
>  
>  	LEGACY_ID_NAND("NAND 4MiB 5V 8-bit",   0x6B, 4, SZ_8K, SP_OPTIONS),
>  	LEGACY_ID_NAND("NAND 4MiB 3,3V 8-bit", 0xE3, 4, SZ_8K, SP_OPTIONS),
> diff --git a/drivers/mtd/nand/raw/nand_toshiba.c b/drivers/mtd/nand/raw/nand_toshiba.c
> index cf4f37959421..d3d34d71921f 100644
> --- a/drivers/mtd/nand/raw/nand_toshiba.c
> +++ b/drivers/mtd/nand/raw/nand_toshiba.c
> @@ -287,8 +287,10 @@ static int toshiba_nand_init(struct nand_chip *chip)
>  	if (!strncmp("TC58NVG0S3E", chip->parameters.model,
>  		     sizeof("TC58NVG0S3E") - 1))
>  		tc58nvg0s3e_init(chip);
> -	if (!strncmp("TH58NVG2S3HBAI4", chip->parameters.model,
> -		     sizeof("TH58NVG2S3HBAI4") - 1))
> +	if ((!strncmp("TH58NVG2S3HBAI4", chip->parameters.model,
> +		     sizeof("TH58NVG2S3HBAI4") - 1)) ||
> +	    (!strncmp("TH58NVG3S0HBAI4", chip->parameters.model,
> +		     sizeof("TH58NVG3S0HBAI4") - 1)))
>  		th58nvg2s3hbai4_init(chip);
>  
>  	return 0;


Thanks,
Miquèl
diff mbox series

Patch

diff --git a/drivers/mtd/nand/raw/nand_ids.c b/drivers/mtd/nand/raw/nand_ids.c
index d64adbd1ce6b..88c2440b47d8 100644
--- a/drivers/mtd/nand/raw/nand_ids.c
+++ b/drivers/mtd/nand/raw/nand_ids.c
@@ -61,6 +61,9 @@  struct nand_flash_dev nand_flash_ids[] = {
 	{"TH58NVG2S3HBAI4 4G 3.3V 8-bit",
 		{ .id = {0x98, 0xdc, 0x91, 0x15, 0x76} },
 		  SZ_2K, SZ_512, SZ_128K, 0, 5, 128, NAND_ECC_INFO(8, SZ_512) },
+	{"TH58NVG3S0HBAI4 8G 3.3V 8-bit",
+		{ .id = {0x98, 0xd3, 0x91, 0x26, 0x76} },
+		  SZ_4K, SZ_1K, SZ_256K, 0, 5, 256, NAND_ECC_INFO(8, SZ_512)},
 
 	LEGACY_ID_NAND("NAND 4MiB 5V 8-bit",   0x6B, 4, SZ_8K, SP_OPTIONS),
 	LEGACY_ID_NAND("NAND 4MiB 3,3V 8-bit", 0xE3, 4, SZ_8K, SP_OPTIONS),
diff --git a/drivers/mtd/nand/raw/nand_toshiba.c b/drivers/mtd/nand/raw/nand_toshiba.c
index cf4f37959421..d3d34d71921f 100644
--- a/drivers/mtd/nand/raw/nand_toshiba.c
+++ b/drivers/mtd/nand/raw/nand_toshiba.c
@@ -287,8 +287,10 @@  static int toshiba_nand_init(struct nand_chip *chip)
 	if (!strncmp("TC58NVG0S3E", chip->parameters.model,
 		     sizeof("TC58NVG0S3E") - 1))
 		tc58nvg0s3e_init(chip);
-	if (!strncmp("TH58NVG2S3HBAI4", chip->parameters.model,
-		     sizeof("TH58NVG2S3HBAI4") - 1))
+	if ((!strncmp("TH58NVG2S3HBAI4", chip->parameters.model,
+		     sizeof("TH58NVG2S3HBAI4") - 1)) ||
+	    (!strncmp("TH58NVG3S0HBAI4", chip->parameters.model,
+		     sizeof("TH58NVG3S0HBAI4") - 1)))
 		th58nvg2s3hbai4_init(chip);
 
 	return 0;