2023-10-20 15:30:21 +00:00
|
|
|
From 8d8b37d3af2bdccf0a37d2017d876bfc6ce42552 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Chukun Pan <amadeus@jmu.edu.cn>
|
|
|
|
Date: Fri, 20 Oct 2023 23:18:21 +0800
|
|
|
|
Subject: [PATCH 1/1] mtd: rawnand: add support for TH58NYG3S0HBAI4 NAND flash
|
|
|
|
|
|
|
|
The Toshiba TH58NYG3S0HBAI4 is detected with 128 byte OOB while the flash
|
|
|
|
has 256 bytes OOB. Since it is not an ONFI compliant NAND, the model name
|
|
|
|
cannot be read from anywhere, add a static NAND ID entry to correct this.
|
|
|
|
|
|
|
|
However, the NAND ID of this flash is inconsistent with the datasheet.
|
|
|
|
The actual NAND ID is only 4 ID bytes, the last ID byte is missing.
|
|
|
|
|
|
|
|
Datasheet available at (the ID table is on page 50):
|
|
|
|
https://europe.kioxia.com/content/dam/kioxia/newidr/productinfo/datasheet/201910/DST_TH58NYG3S0HBAI4-TDE_EN_31565.pdf
|
|
|
|
|
|
|
|
Datasheet NAND ID: {0x98, 0xa3, 0x91, 0x26, 0x76}
|
|
|
|
Actual NAND ID: {0x98, 0xa3, 0x91, 0x26}
|
|
|
|
|
|
|
|
It seems that this flash may be counterfeit, but another Toshiba flash
|
|
|
|
also has the same problem. Maybe the driver has a bug, or some Toshiba
|
|
|
|
nand flash is like this. Anyway, add a static NAND ID entry with only
|
|
|
|
4 ID bytes as a hack to make sure it works.
|
|
|
|
|
|
|
|
Tested on Arcadyan AW1000 flashed with OpenWrt.
|
|
|
|
|
|
|
|
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
|
|
|
|
---
|
|
|
|
drivers/mtd/nand/raw/nand_ids.c | 3 +++
|
|
|
|
1 file changed, 3 insertions(+)
|
|
|
|
|
|
|
|
--- a/drivers/mtd/nand/raw/nand_ids.c
|
|
|
|
+++ b/drivers/mtd/nand/raw/nand_ids.c
|
2024-03-22 10:08:54 +00:00
|
|
|
@@ -58,6 +58,9 @@ struct nand_flash_dev nand_flash_ids[] =
|
2023-10-20 15:30:21 +00:00
|
|
|
{ .id = {0xad, 0xde, 0x14, 0xa7, 0x42, 0x4a} },
|
|
|
|
SZ_16K, SZ_8K, SZ_4M, NAND_NEED_SCRAMBLING, 6, 1664,
|
|
|
|
NAND_ECC_INFO(40, SZ_1K) },
|
|
|
|
+ {"TH58NYG3S0HBAI4 8G 1.8V 8-bit", /* Last ID bytes missing */
|
|
|
|
+ { .id = {0x98, 0xa3, 0x91, 0x26} },
|
|
|
|
+ SZ_4K, SZ_1K, SZ_256K, 0, 4, 256, NAND_ECC_INFO(8, SZ_512) },
|
|
|
|
{"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) },
|