mtd: add new ATO slc nand support

PD#170048: mtd: add new ATO slc nand support

add a ATO slc nand: AFND2G08U3A

Change-Id: I0263682231008c862c9f3f77d02ef7512de3a46f
Signed-off-by: Yi Zeng <yi.zeng@amlogic.com>
This commit is contained in:
Yi Zeng
2018-07-13 15:33:31 +08:00
committed by Yixun Lan
parent 86fbf24a70
commit 5a8f3c6232
2 changed files with 15 additions and 26 deletions

View File

@@ -275,6 +275,19 @@ struct aml_nand_flash_dev aml_nand_flash_ids[] = {
0,
(NAND_TIMING_MODE5 | NAND_ECC_BCH8_MODE)},
{"ATO NAND AFND2G08U3A 2Gb",
{NAND_MFR_HYNIX, 0xda, 0x90, 0x95, 0x46, 0xad},
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

@@ -309,7 +309,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_ATO ||
aml_chip->mfr_type == NAND_MFR_HYNIX) {
if (col0_oob != 0xFF) {
pr_info("factory Bad blk:%llx blk=%d chip=%d\n",
(uint64_t)addr, start_blk, i);
@@ -381,31 +382,6 @@ int aml_nand_scan_shipped_bbt(struct mtd_info *mtd)
break;
}
}
if (aml_chip->mfr_type == NAND_MFR_HYNIX) {
if (col0_oob != 0xFF) {
pr_info("factory Bad blk:%llx blk=%d chip=%d\n",
(uint64_t)addr, start_blk, i);
aml_chip->nand_bbt_info->nand_bbt[bad_blk_cnt++] =
start_blk|0x8000;
aml_chip->block_status[start_blk] = NAND_FACTORY_BAD;
/* if plane 0 is bad block,just set plane 1 to bad */
if ((start_blk % 2) == 0) {
start_blk += 1;
aml_chip->nand_bbt_info->nand_bbt[bad_blk_cnt++] =
start_blk|0x8000;
aml_chip->block_status[start_blk] = NAND_FACTORY_BAD;
pr_info(" pl0 is bad block,just set plane 1 to bad:\n");
} else {
aml_chip->nand_bbt_info->nand_bbt[bad_blk_cnt++] =
(start_blk - 1)|0x8000;
aml_chip->block_status[start_blk - 1] =
NAND_FACTORY_BAD;
pr_info(" pl1 is bad block,just set plane 0 to bad:\n");
}
break;
}
}
}
}
/* } */