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,
}
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);
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;
- }
- }
}
}
/* } */