summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/nand_mxs.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-07-22 12:19:46 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-07-23 16:25:14 +0200
commit5e282091d69447d79a96c9d53fe89a107846f93a (patch)
treeb5e32c511738432a85c000a946669fcad5676b17 /drivers/mtd/nand/nand_mxs.c
parent0f15dee78fd362ba46bde62a0aa506970fc87a22 (diff)
downloadbarebox-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.c13
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);