mtd: nand: denali: enable bad block table scan
Now this driver is ready to remove NAND_SKIP_BBTSCAN. The BBT descriptors in denali.c are equivalent to the ones in nand_bbt.c. There is no need to duplicate the equivalent structures. The with-oob decriptors do not work for this driver anyway. The bbt_pattern (offs = 8) and the version (veroffs = 12) area overlaps the ECC area. Set NAND_BBT_NO_OOB flag to use the no_oob variant of the BBT descriptors. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
This commit is contained in:
Родитель
7d370b2c25
Коммит
777f2d49e8
|
@ -1211,29 +1211,6 @@ static const struct mtd_ooblayout_ops denali_ooblayout_ops = {
|
||||||
.free = denali_ooblayout_free,
|
.free = denali_ooblayout_free,
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint8_t bbt_pattern[] = {'B', 'b', 't', '0' };
|
|
||||||
static uint8_t mirror_pattern[] = {'1', 't', 'b', 'B' };
|
|
||||||
|
|
||||||
static struct nand_bbt_descr bbt_main_descr = {
|
|
||||||
.options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
|
|
||||||
| NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
|
|
||||||
.offs = 8,
|
|
||||||
.len = 4,
|
|
||||||
.veroffs = 12,
|
|
||||||
.maxblocks = 4,
|
|
||||||
.pattern = bbt_pattern,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct nand_bbt_descr bbt_mirror_descr = {
|
|
||||||
.options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE
|
|
||||||
| NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
|
|
||||||
.offs = 8,
|
|
||||||
.len = 4,
|
|
||||||
.veroffs = 12,
|
|
||||||
.maxblocks = 4,
|
|
||||||
.pattern = mirror_pattern,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* initialize driver data structures */
|
/* initialize driver data structures */
|
||||||
static void denali_drv_init(struct denali_nand_info *denali)
|
static void denali_drv_init(struct denali_nand_info *denali)
|
||||||
{
|
{
|
||||||
|
@ -1378,13 +1355,9 @@ int denali_init(struct denali_nand_info *denali)
|
||||||
* bad block management.
|
* bad block management.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Bad block management */
|
|
||||||
chip->bbt_td = &bbt_main_descr;
|
|
||||||
chip->bbt_md = &bbt_mirror_descr;
|
|
||||||
|
|
||||||
/* skip the scan for now until we have OOB read and write support */
|
|
||||||
chip->bbt_options |= NAND_BBT_USE_FLASH;
|
chip->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
chip->options |= NAND_SKIP_BBTSCAN;
|
chip->bbt_options |= NAND_BBT_NO_OOB;
|
||||||
|
|
||||||
chip->ecc.mode = NAND_ECC_HW_SYNDROME;
|
chip->ecc.mode = NAND_ECC_HW_SYNDROME;
|
||||||
|
|
||||||
/* no subpage writes on denali */
|
/* no subpage writes on denali */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче