diff options
author | Pali Rohár <pali@kernel.org> | 2022-04-04 18:17:21 +0200 |
---|---|---|
committer | Priyanka Jain <priyanka.jain@nxp.com> | 2022-04-26 17:18:39 +0530 |
commit | 06ef911447fce6c3321e303e968dbb1945b23d38 (patch) | |
tree | 9f8afda05d937765bf63ef5456b728c8bd9b597f /drivers/mtd/nand | |
parent | c9ea9019c5aaeac474d2a243dc1482e1db2b7c6d (diff) | |
download | u-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.c | 6 |
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, |