From: Pali Rohár Date: Mon, 4 Apr 2022 16:17:21 +0000 (+0200) Subject: mtd: nand: raw: Add support for DT property nand-ecc-algo=bch X-Git-Tag: baikal/mips/sdk5.9~3^2~75^2~30 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=2d1f09b94f2fb05be0fbe0d75ed928a78013ed41;p=uboot.git 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 Reviewed-by: Priyanka Jain --- diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index a007603df1..6f81257cf1 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,