Hi Dinh, Boris, On 07/07/18 05:21, Boris Brezillon wrote: > On Fri, 6 Jul 2018 12:03:49 -0500 > Dinh Nguyen <dinguyen at kernel.org> wrote: > >> Hi, >> >> It looks like commit: "51f3b3970a8c mtd: rawnand: micron: detect forced >> on-die ECC" is causing the NAND chip on the SoCFPGA Arria10 devkit to >> stop working on linux-next. >> >> If I revert the commit, then the NAND driver is able to detect the NAND >> chip. >> >> The NAND chip is a Micron MT29F1G08ABBEAH4 part. >> >> >> [ 0.741984] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xa1 >> [ 0.748336] nand: Micron MT29F1G08ABBEAH4 >> [ 0.752330] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, >> OOB siz >> e: 64 >> [ 0.763358] ecc.mode = 3 >> [ 0.766312] On-die ECC forcefully enabled, not supported >> [ 0.771654] denali-nand-dt: probe of ffb90000.nand failed with error -22 >> >> With commit reverted: >> >> [ 0.742481] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xa1 >> [ 0.748833] nand: Micron MT29F1G08ABBEAH4 >> [ 0.752828] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, >> OOB siz >> e: 64 >> [ 0.760610] Bad block table found at page 65472, version 0x01 >> [ 0.766433] Bad block table found at page 65408, version 0x01 >> [ 0.772464] 2 fixed-partitions partitions found on MTD device denali-nand >> [ 0.779247] Creating 2 MTD partitions on "denali-nand": >> [ 0.784453] 0x000000000000-0x000001c00000 : "Boot and fpga data" >> [ 0.791241] 0x000001c00000-0x000008000000 : "Root Filesystem - JFFS2" >> >> Looks like if I comment out this part of the patch in >> drivers/mtd/nand/raw/nand_micron.c >> >> +#if 0 >> for (i = 0; i < ARRAY_SIZE(micron_on_die_ecc); i++) >> if (chip->id.data[1] == micron_on_die_ecc[i]) >> return MICRON_ON_DIE_MANDATORY; >> - >> +#endif > > Oops, I overlooked that detail. Testing only the ID bytes is not > enough, because it does not encode whether the NAND has on-die ECC or > not. We should really test the model name here... > > Chris, can you prepare a fixup for that? > With the latest set of changes is there anything left to do for this? I think we now have on-die ECC detection that doesn't require checking the ID.