mtd: rawnand: kioxia: Add support for TH58NVG3S0HBAI4
authorRickard x Andersson <rickaran@axis.com>
Fri, 29 Apr 2022 08:39:31 +0000 (10:39 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 12 May 2022 14:43:01 +0000 (16:43 +0200)
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>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220429083931.26795-1-rickaran@axis.com
drivers/mtd/nand/raw/nand_ids.c
drivers/mtd/nand/raw/nand_toshiba.c

index d64adbd1ce6b38cfd57c02e81ac26e272783c73e..88c2440b47d84a50dea28420fb8aa99682eb8db6 100644 (file)
@@ -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),
index cf4f37959421ce5ad3a77d94faa68a1b4e984895..d3d34d71921f080b4794c0b53e8b56ae019c1cdb 100644 (file)
@@ -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;