NAND timeout issues with blank chip and Marvell NFC
Boris Brezillon
boris.brezillon at bootlin.com
Wed Apr 25 23:21:54 PDT 2018
On Thu, 26 Apr 2018 08:06:42 +0200
Boris Brezillon <boris.brezillon at bootlin.com> wrote:
> Hi Chris,
>
> On Thu, 26 Apr 2018 05:16:57 +0000
> Chris Packham <Chris.Packham at alliedtelesis.co.nz> 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
> node).
Forget what I said, it seems you're already using nand-armada370 which
maps to NFCv2.
I guess a git bisect would be useful here to find what causes the
regression.
More information about the linux-mtd
mailing list