mtd: nand: support new slc nand [1/1]

PD#SWPL-3542

Problem:
2Gb SLC Nand ZDND2G08U3D-IA requested by Marketing
aka ZDND2GXXXXX module number

Solution:
add the nand id and MFR id into amlogic id table
adapt it's bad block identification

Verify:
AXG_S400

Change-Id: I6f0e2caf424e09c1f186beb42a146d92b675f161
Signed-off-by: Yi Zeng <yi.zeng@amlogic.com>
This commit is contained in:
Yi Zeng
2018-12-27 14:43:36 +08:00
committed by Luke Go
parent ea62328656
commit cd4cf3b28c
4 changed files with 17 additions and 1 deletions

View File

@@ -288,6 +288,19 @@ struct aml_nand_flash_dev aml_nand_flash_ids[] = {
0,
(NAND_TIMING_MODE5 | NAND_ECC_BCH8_MODE)},
{"Zetta NAND ZDND2GXXXXX 2Gb",
{NAND_MFR_ZETTA, 0xda, 0x90, 0x95, 0x46},
2048,
256,
0x20000,
64,
1,
20,
15,
0,
0,
(NAND_TIMING_MODE5 | NAND_ECC_BCH8_MODE)},
{"A revision NAND 1GiB sF1G-A",
{NAND_MFR_AMD, 0xf1, 0x80, 0x1d, 0x01, 0xf1},
2048,

View File

@@ -324,7 +324,8 @@ int aml_nand_scan_shipped_bbt(struct mtd_info *mtd)
if (aml_chip->mfr_type == NAND_MFR_DOSILICON ||
aml_chip->mfr_type == NAND_MFR_ATO ||
aml_chip->mfr_type == NAND_MFR_HYNIX) {
aml_chip->mfr_type == NAND_MFR_HYNIX ||
aml_chip->mfr_type == NAND_MFR_ZETTA) {
if (col0_oob != 0xFF) {
pr_info("factory Bad blk:%llx blk=%d chip=%d\n",
(uint64_t)addr, start_blk, i);

View File

@@ -182,6 +182,7 @@ struct nand_manufacturers nand_manuf_ids[] = {
{NAND_MFR_SANDISK, "SanDisk"},
{NAND_MFR_INTEL, "Intel"},
{NAND_MFR_ATO, "ATO"},
{NAND_MFR_ZETTA, "Zetta"},
{0x0, "Unknown"}
};

View File

@@ -929,6 +929,7 @@ static inline void nand_set_controller_data(struct nand_chip *chip, void *priv)
#define NAND_MFR_INTEL 0x89
#define NAND_MFR_ATO 0x9b
#define NAND_MFR_DOSILICON 0xf8
#define NAND_MFR_ZETTA 0xba
/* add extra flash manufacturer ID Codes */
#if defined(CONFIG_AMLOGIC_NAND) || defined(CONFIG_AMLOGIC_M8B_NAND)