diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-22 12:19:46 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-23 16:25:14 +0200 |
commit | 5e282091d69447d79a96c9d53fe89a107846f93a (patch) | |
tree | b5e32c511738432a85c000a946669fcad5676b17 /drivers/mtd/nand/nand_mxs.c | |
parent | 0f15dee78fd362ba46bde62a0aa506970fc87a22 (diff) | |
download | barebox-5e282091d69447d79a96c9d53fe89a107846f93a.tar.gz barebox-5e282091d69447d79a96c9d53fe89a107846f93a.tar.xz |
mtd: nand: mxs-nand: Add on flash bbt support
For DT only at the moment.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/nand/nand_mxs.c')
-rw-r--r-- | drivers/mtd/nand/nand_mxs.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c index 68eb0403b7..8e5c83cef3 100644 --- a/drivers/mtd/nand/nand_mxs.c +++ b/drivers/mtd/nand/nand_mxs.c @@ -1214,6 +1214,17 @@ err1: return -ENOMEM; } +static void mxs_nand_probe_dt(struct device_d *dev, struct mxs_nand_info *nand_info) +{ + struct nand_chip *nand = &nand_info->nand_chip; + + if (!IS_ENABLED(CONFIG_OFTREE)) + return; + + if (of_get_nand_on_flash_bbt(dev->device_node)) + nand->bbt_options |= NAND_BBT_USE_FLASH | NAND_BBT_NO_OOB; +} + static int mxs_nand_probe(struct device_d *dev) { struct mxs_nand_info *nand_info; @@ -1232,6 +1243,8 @@ static int mxs_nand_probe(struct device_d *dev) return -ENOMEM; } + mxs_nand_probe_dt(dev, nand_info); + nand_info->type = type; nand_info->io_base = dev_request_mem_region(dev, 0); nand_info->bch_base = dev_request_mem_region(dev, 1); |