]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mtd: nand: arasan: Print warning for unsupported ecc modes
authorVenkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Wed, 6 Mar 2024 03:27:03 +0000 (08:57 +0530)
committerMichal Simek <michal.simek@amd.com>
Tue, 12 Mar 2024 15:06:45 +0000 (16:06 +0100)
Currently only hw ecc is supported in U-Boot. If any other ecc mode is
given in DT, it simply through an error. So better print
what is being done.

Revert this patch once soft ecc support is fixed in future.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20240306032703.17508-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/mtd/nand/raw/arasan_nfc.c

index 14766401bf6863a07bb961a5039c3fe7f6f18248..0b1b91f7711ecc260cadfd164ab3783d41f362d0 100644 (file)
@@ -1233,6 +1233,7 @@ static int arasan_probe(struct udevice *dev)
        struct mtd_info *mtd;
        ofnode child;
        int err = -1;
+       const char *str;
 
        info->reg = dev_read_addr_ptr(dev);
        mtd = nand_to_mtd(nand_chip);
@@ -1263,6 +1264,12 @@ static int arasan_probe(struct udevice *dev)
                goto fail;
        }
 
+       str = ofnode_read_string(nand_chip->flash_node, "nand-ecc-mode");
+       if (!str || strcmp(str, "hw") != 0) {
+               printf("%s ecc mode is not supported\n", str);
+               return -EINVAL;
+       }
+
        nand_chip->ecc.mode = NAND_ECC_HW;
        nand_chip->ecc.hwctl = NULL;
        nand_chip->ecc.read_page = arasan_nand_read_page_hwecc;