NAND timeout issues with blank chip and Marvell NFC

Boris Brezillon boris.brezillon at
Wed Apr 25 23:06:42 PDT 2018

Hi Chris,

On Thu, 26 Apr 2018 05:16:57 +0000
Chris Packham <Chris.Packham at> wrote:

> > 
> >    ret = marvell_nfc_wait_op(chip,
> >                              chip->data_interface.timings.sdr.tPROG_max);
> > 
> > Based on the datasheet that number is 600 microseconds(us) not the
> > milliseconds expected by marvell_nfc_wait_op().
> >   
> So naturally throwing in some PSEC_TO_MSEC() calls stopped the really 
> long timeouts but then the probe would fail. It seems that I'm getting 
> some "page done" and "command done" interrupts indications (NDSR = 
> 0x0000500) while attempting to write the oob data.
> I've also re-done some of my initial tests and it seems that 4.17-rc2 
> cannot mount this chip. The 4.16.4 kernel can.

Hm, I suspect 07ad5a721484 ("mtd: nand: add ->setup_data_interface()
support for Marvell NFCv1") to be the source of our problems.

Can you add the 'marvell,nand-keep-config' property to your nand node?
Looks like we'll need another way to extract the NFC version in case
old bindings are in use (maybe by parsing the compatible of the root



More information about the linux-mtd mailing list