summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Jin <Jason.jin@freescale.com>2008-12-09 07:32:31 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2008-12-10 17:44:28 +0100
commit03ed107805aff09ae13e50a86ea929f12ff74eb7 (patch)
tree66ad19134e43a001047fcbc8729125e94af9fecd
parent[MTD] [NAND] remove excess kernel-doc notation (diff)
downloadlinux-03ed107805aff09ae13e50a86ea929f12ff74eb7.tar.xz
linux-03ed107805aff09ae13e50a86ea929f12ff74eb7.zip
[MTD] [NAND] Set the fsl elbc ECCM according the settings in bootloader.
The ECCM maybe set in bootloader, Get ECCM settings from the bootloader, can avoid the image written by bootloader cannot read out by kernel. But the limitation of doing it this way is that, it could break large page NAND if it is written with NAND disabled in u-boot and read with NAND enabled, or vice versa. Signed-off-by: Jason Jin <Jason.jin@freescale.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r--drivers/mtd/nand/fsl_elbc_nand.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index 4aa5bd6158da..65929db29446 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -777,7 +777,9 @@ static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
/* Fill in fsl_elbc_mtd structure */
priv->mtd.priv = chip;
priv->mtd.owner = THIS_MODULE;
- priv->fmr = 0; /* rest filled in later */
+
+ /* Set the ECCM according to the settings in bootloader.*/
+ priv->fmr = in_be32(&lbc->fmr) & FMR_ECCM;
/* fill in nand_chip structure */
/* set up function call table */