Hi On Thu, Oct 20, 2022 at 5:58 PM Marcin Gołaś <[email protected]> wrote: > > Hi, > > after uboot update from 2022.07 to 2022.10 SAMSUNG NAND is not recognized > correctly. > I use device with SAMSUNG K9K8G08U0F flash which does not support ONFI and > JEDEC. > Both uboot versions read 8-byte id_data in the same way: 0xD3ECC65A9551D3EC. > However 2022.07 recognized flash correctly as: > nand_base: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: > 64 > 1024 MiB > The new 2022.10 recognized flash incorrectly: > nand_base: 1024 MiB, SLC, erase size: 4096 KiB, page size: 4096, OOB size: > 128 > 1024 MiB > > This behavior is caused by not setting chip->bits_per_cell value which is > in my case equal to zero. > To fix the issue we need to set it before we enter to function > nand_manufacturer_detect. > Following patch do this: > > diff --git a/drivers/mtd/nand/raw/nand_base.c > b/drivers/mtd/nand/raw/nand_base.c > index 4b09a11288..143d3cb755 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c > @@ -4375,6 +4375,8 @@ struct nand_flash_dev *nand_get_flash_type(struct > nand_chip *chip, int *maf_id, > > chip->chipsize = (uint64_t)type->chipsize << 20; > > + chip->bits_per_cell = nand_get_bits_per_cell(chip->id.data[2]); > + > if (!type->pagesize) { > nand_manufacturer_detect(chip); > } else { >
Can you please send a patch for it? I will check this regression Michael > > BR, > Marcin -- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 [email protected] __________________________________ Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 [email protected] www.amarulasolutions.com

