diff options
author | Ye Li <ye.li@nxp.com> | 2018-12-27 00:59:11 -0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2019-01-16 02:23:57 -0800 |
commit | edc9581d87d7a6f27b7f9673e2959169c9be15c7 (patch) | |
tree | f1d4ee112fd209e9f6a2bbf2cd679b887d1bcaac /drivers | |
parent | 48d58d07b9005c94c62fcdc345e65b0a8236d378 (diff) |
MLK-20664-4 mtd: mxc_nand: Enable flash BBT
Current MXC NAND driver uses memory BBT, it will create memory BBT in each
booting by searching bad blocks.
This patch enables the flash BBT, so the NAND driver can read back Bad block
table on the flash chip to create memory BBT.
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/nand/mxs_nand.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c index ae1570e060..e2df50f791 100644 --- a/drivers/mtd/nand/mxs_nand.c +++ b/drivers/mtd/nand/mxs_nand.c @@ -82,6 +82,14 @@ struct nand_ecclayout fake_ecc_layout; static int chunk_data_size = MXS_NAND_CHUNK_DATA_CHUNK_SIZE; static int galois_field = 13; +static uint8_t scan_ff_pattern[] = { 0xff }; +static struct nand_bbt_descr gpmi_bbt_descr = { + .options = 0, + .offs = 0, + .len = 1, + .pattern = scan_ff_pattern +}; + /* * Cache management functions */ @@ -1339,6 +1347,8 @@ int board_nand_init(struct nand_chip *nand) nand_set_controller_data(nand, nand_info); nand->options |= NAND_NO_SUBPAGE_WRITE; + nand->bbt_options = NAND_BBT_USE_FLASH | NAND_BBT_NO_OOB; + nand->badblock_pattern = &gpmi_bbt_descr; nand->cmd_ctrl = mxs_nand_cmd_ctrl; |