From patchwork Thu Jan 24 06:11:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,2/3] mtd: add a new table for the unparsable nand chips Date: Wed, 23 Jan 2013 20:11:40 -0000 From: Huang Shijie X-Patchwork-Id: 215266 Message-Id: <1359007901-26464-3-git-send-email-b32955@freescale.com> To: Cc: artem.bityutskiy@linux.intel.com, linux-kernel@vger.kernel.org, Huang Shijie , linux-mtd@lists.infradead.org, shmulik.ladkani@gmail.com, computersforpeace@gmail.com We have 4 Toshiba nand chips which can not be parsed out by the id data. Add a new table for the unparsable nand chips. It makes mess if we add these entries to the nand_flash_ids table. The entries in the nand_flash_ids stands for a class of nand chips. But the unparsable nand chips are just some singular chips. Signed-off-by: Huang Shijie --- drivers/mtd/nand/nand_ids.c | 22 ++++++++++++++++++++++ include/linux/mtd/nand.h | 1 + 2 files changed, 23 insertions(+), 0 deletions(-) diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c index 9dc2e54..c1e32d2 100644 --- a/drivers/mtd/nand/nand_ids.c +++ b/drivers/mtd/nand/nand_ids.c @@ -11,6 +11,28 @@ #include #include #include +#include + +/* This table uses the full ID data as the keyword. */ +struct nand_flash_dev nand_flash_full_ids[] = { + /* TOSHIBA */ + {"TC58NVG2S0F 4G 3.3V 8-bit ", + {0x98, 0xdc, 0x90, 0x26, 0x76, 0x15, 0x01, 0x08}, + SZ_4K, SZ_512, SZ_256K, 0, 8, 224}, + {"TC58NVG3S0F 8G 3.3V 8-bit ", + {0x98, 0xd3, 0x90, 0x26, 0x76, 0x15, 0x02, 0x08}, + SZ_4K, SZ_1K, SZ_256K, 0, 8, 232}, + {"TC58NVG5D2 32G 3.3V 8-bit ", + {0x98, 0xd7, 0x94, 0x32, 0x76, 0x56, 0x09, 0x00}, + SZ_8K, SZ_4K, SZ_1M, 0, 8, 640}, + {"TC58NVG6D2 64G 3.3V 8-bit ", + {0x98, 0xde, 0x94, 0x82, 0x76, 0x56, 0x04, 0x20}, + SZ_8K, SZ_8K, SZ_2M, 0, 8, 640}, + + /* end here */ + {NULL,} +}; + /* * Chip ID list diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 5293447..346a389 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -620,6 +620,7 @@ struct nand_manufacturers { }; extern struct nand_flash_dev nand_flash_ids[]; +extern struct nand_flash_dev nand_flash_full_ids[]; extern struct nand_manufacturers nand_manuf_ids[]; extern int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd);