aboutsummaryrefslogtreecommitdiff
path: root/drivers/mtd/nand
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2022-04-04 18:17:21 +0200
committerPriyanka Jain <priyanka.jain@nxp.com>2022-04-26 17:18:39 +0530
commit06ef911447fce6c3321e303e968dbb1945b23d38 (patch)
tree9f8afda05d937765bf63ef5456b728c8bd9b597f /drivers/mtd/nand
parentc9ea9019c5aaeac474d2a243dc1482e1db2b7c6d (diff)
downloadu-boot-06ef911447fce6c3321e303e968dbb1945b23d38.zip
u-boot-06ef911447fce6c3321e303e968dbb1945b23d38.tar.gz
u-boot-06ef911447fce6c3321e303e968dbb1945b23d38.tar.bz2
mtd: nand: raw: Add support for DT property nand-ecc-algo=bch
According to Linux kernel DT schema nand-controller.yaml, using DT property nand-ecc-algo=bch is the correct way for specifying BCH as ECC algorithm. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r--drivers/mtd/nand/raw/nand_base.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index a007603..6f81257 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -4598,6 +4598,12 @@ static int nand_dt_init(struct mtd_info *mtd, struct nand_chip *chip, ofnode nod
ecc_mode = NAND_ECC_SOFT_BCH;
}
+ if (ecc_mode == NAND_ECC_SOFT) {
+ str = ofnode_read_string(node, "nand-ecc-algo");
+ if (str && !strcmp(str, "bch"))
+ ecc_mode = NAND_ECC_SOFT_BCH;
+ }
+
ecc_strength = ofnode_read_s32_default(node,
"nand-ecc-strength", -1);
ecc_step = ofnode_read_s32_default(node,