Re: [PATCH] mtd: rawnand: ingenic: Convert the driver to exec_op()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Le mar. 19 mai 2020 à 17:01, Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> a écrit :
On Tue, 19 May 2020 16:52:27 +0200
Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote:

 Hi Boris,

 Le lun. 18 mai 2020 à 21:24, Boris Brezillon
 <boris.brezillon@xxxxxxxxxxxxx> a écrit :
 > On Mon, 18 May 2020 19:50:04 +0200
 > Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote:
 >
 >>  Hi Boris,
 >>
 >>  Le lun. 18 mai 2020 à 18:56, Boris Brezillon
 >>  <boris.brezillon@xxxxxxxxxxxxx> a écrit :
 >>  > Let's convert the driver to exec_op() to have one less driver
 >> relying
 >>  > on the legacy interface.
 >>
 >>  Great work, thanks for that.
 >>
 >>  However it does not work :( nand_scan() returns error -145.
 >
 > Looks like the R/B signal is inverted. Can you try with the
 > following diff applied?

 Still doesn't work properly. I get -ENODEV in nand_detect(), at the
 "second ID read did not match..." pr_info().

 The R/B signal doesn't seem to be the primary cause, if I use
 nand_soft_waitrdy() it doesn't work any better.

Well, it does solve the ETIMEDOUT issue, so we're one step further ;-).
Can you print the returned ID?

It reads 00/00, so it doesn't seem to be able to read any data.


 One thing I noticed that jz4780_nemc_assert() is called with
 assert=true unconditionally, while before it was called with (ctrl &
NAND_NCE), whatever that is. Whether or not that's a problem, I have no
 idea.

Yes, we really want to assert the CE signal unconditionally here, but
maybe we should add a delay after asserting it/before de-asserting it.

I added some udelay() here and there, unfortunately it didn't change anything.

-Paul



______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux