Invalid ONFI PARAM PAGE
Marco Felsch
m.felsch at pengutronix.de
Thu Jul 30 08:14:25 EDT 2020
Hi,
a customer of us uses micron nand flash devices for their local storage.
They are now having some troubles with a few devices. Let me start with
the following:
1) We can successfully read the nand id field by:
-> select_chip
-> cmdfunc(mtd, NAND_CMD_RESET)
-> cmdfunc(mtd, NAND_CMD_READID) Addr=0x00
-> 8times: read_byte(mtd)
The NAND device response with the following:
nand: id_data[0]: 0x2c
nand: id_data[1]: 0xdc
nand: id_data[2]: 0x90
nand: id_data[3]: 0x95
nand: id_data[4]: 0x56
nand: id_data[5]: 0x0
nand: id_data[6]: 0x0
nand: id_data[7]: 0x0
Accroding the schematic and the datasheet this is right.
2) To detect the ONFI compatibility we now issue:
-> cmdfunc(mtd, NAND_CMD_READID) Addr=0x20
and getting the expected 'O','N','F','I' signature.
3) Now we are trying to Read the PARAM Page by:
-> cmdfunc(mtd, NAND_CMD_PARAM)
-> try to read the the param page and if not successful try to
read the copies.
Here things getting crazy since we are reading all the time '0xff'.
4) Since Barebox (Bootloader) can't read the ONFI param page we
calculate the values as expected from the param page. But now we
can't access BBT (not found) nor we are not able to write to the
OOB Area (the chip is not write protected).
The electrical signals are looking good and since we can retrieve the
id-data it should be no PCB bug. Did anyone struggled with such problems
too?
BTW:
I also get '0xff' if I send a READ_UNIQUE_ID command and trying to read
the 16 copies of the 32byte unique-id.
Any answers are welcome :)
Regards,
Marco
More information about the linux-mtd
mailing list