Re: [PATCH RFC 3/3] mtd: rawnand: Add support Macronix power down mode

From: Miquel Raynal
Date: Tue Oct 15 2019 - 03:56:48 EST


Hi Mason,

masonccyang@xxxxxxxxxxx wrote on Tue, 15 Oct 2019 10:33:29 +0800:

> Hi Boris,
>
>
> > > > > + nand_select_target(chip, 0);
> > > >
> > > > On several NAND controllers there is no way to act on the CS line
> > > > without actually writing bytes to the NAND chip. So basically this
> > > > is very likely to not work.
> > >
> > > any other way to make it work ? GPIO ?
> > > or just have some comments description here.
> > > i.e,.
> > >
> > > /* The NAND chip will exit the deep power down mode with #CS toggling,
>
> > > * please refer to datasheet for the timing requirement of tCRDP and
> tRDP.
> > > */
> > >
> >
> > Good luck with that. As Miquel said, on most NAND controllers
> > select_target() is a dummy operation that just assigns nand_chip->target
> > to the specified value but doesn't assert the CS line. You could send a
> > dummy command here, like a READ_ID, but I guess you need CS to be
> > asserted for at least 20ns before asserting any other signals (CLE/ALE)
> > which might be an issue.
>
> okay, got it.
> But if possible, I think adding CS line control in nand_select_target()
> is a simple and generic way for MTD and all raw NAND controllers.

The problem is not that we do not want to; the problem is that
controllers are not capable of doing it reliably if no byte is sent
over the NAND bus.


Thanks,
MiquÃl