devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Boris BREZILLON <b.brezillon.dev@gmail.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Grant Likely <grant.likely@linaro.org>,
	Brian Norris <computersforpeace@gmail.com>,
	Rob Herring <rob.herring@calxeda.com>,
	devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mtd@lists.infradead.org, dev@linux-sunxi.org
Subject: Re: [RFC PATCH v2 04/14] mtd: nand: define struct nand_timings
Date: Wed, 12 Mar 2014 13:07:37 -0600	[thread overview]
Message-ID: <20140312190737.GA27388@obsidianresearch.com> (raw)
In-Reply-To: <53208F7D.8090104@gmail.com>

On Wed, Mar 12, 2014 at 05:46:53PM +0100, Boris BREZILLON wrote:

> >>I see at least 3 of those timings that could be useful (for the moment) :
> >>- tR: this one should be used to fill the chip_delay field
> >>- tPROG and tBERS: could be used within nand_wait to choose the timeo
> >>   value appropriately.
> >IIRC these timing values are really only necessary if the controller
> >does not support the READY/BUSY input, in that case drivers typically
> >seem to use 'chip_delay' which is the maximum possible command
> >execution time (a sleep long enough to guarentee that READY/BUSY is
> >de-asserted).

> You're right about tR (or chip_delay): it's only used when there are
> no R/B pin.  I experienced it when I tried the RB_NONE case in the
> sunxi driver: the default chip_delay set by the NAND core code was
> too small to fit the NAND chip requirements.
> 
> Anyway, I really think the chip_delay field should be set according
> to NAND chip characteristics not harcoded in NAND controller driver
> code (as currently done).

Drivers these days are often taking this value from the DT node
property 'chip-delay'. I think this would be nice to have in common
code too...

> tPROG and tBERS, would be used in nand_wait function and do not
> depend on the R/B pin.  These are just used as timeouts.

tPROG/tBERS have that special mode where R/B remains asserted but you
can still issue a status read to the chip to check on the command, so
the timeout required here is just a big number to detect failed NAND
controllers, it isn't really too important to have an exact value..

> >>Or should I create a new struct for these timings ?
> >>In the latter case how should I name it ?
> >struct onfi_command_timings ?
> 
> I'm not a big fan of this name. I think timing structs should not
> contain onfi in their names, because these timings are also
> available on non ONFI chips.

Explicitly defering to the ONFI spec makes it clear what the
definition of the timing parameter actually is.

If JEDEC has a different model then drivers will need to configure
their interfaces a little differently.

So we might end up with a jedec_sdr_timings too :|

> What do you think ?

I'd focus on getting the bus timings working before tackling too much
more ...

Jason

  reply	other threads:[~2014-03-12 19:07 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-29 14:34 [RFC PATCH v2 00/14] mtd: nand: add sunxi NAND Flash Controller support Boris BREZILLON
     [not found] ` < 1391006064-28890-4-git-send-email-b.brezillon.dev@gmail.com>
     [not found] ` <1391006064-28890-1-git-send-email-b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-29 14:34   ` [RFC PATCH v2 01/14] mtd: nand: retrieve ECC requirements from Hynix READ ID byte 4 Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 02/14] of: mtd: add NAND ECC level requirements retrieval Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 03/14] of: mtd: add documentation for nand-ecc-level property Boris BREZILLON
2014-01-29 17:53     ` Ezequiel Garcia
2014-01-29 18:39       ` Boris BREZILLON
2014-02-05 11:15       ` Grant Likely
     [not found]         ` <20140205111500.B19FDC40A89-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-02-05 13:34           ` Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 04/14] mtd: nand: define struct nand_timings Boris BREZILLON
2014-03-10 13:44     ` Boris BREZILLON
2014-03-11 18:55       ` Jason Gunthorpe
     [not found]         ` <20140311185554.GD31835-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-03-12 16:46           ` Boris BREZILLON
2014-03-12 19:07             ` Jason Gunthorpe [this message]
2014-03-12 20:18               ` Warner Losh
2014-01-29 14:34   ` [RFC PATCH v2 05/14] mtd: nand: add ONFI timing mode to nand_timings converter Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 06/14] of: mtd: add NAND timing mode retrieval support Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-29 17:56     ` Jason Gunthorpe
     [not found]       ` <20140129175641.GF1427-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-01-29 18:46         ` Ezequiel Garcia
2014-01-29 19:10           ` Jason Gunthorpe
     [not found]             ` <20140129191005.GG1427-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-01-30  8:57               ` Boris BREZILLON
2014-03-10 11:17               ` Boris BREZILLON
     [not found]                 ` <531D9F4B.6040505-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-10 11:37                   ` [linux-sunxi] " Lucas Stach
2014-03-11 18:45                   ` Jason Gunthorpe
2014-01-29 19:02       ` Boris BREZILLON
2014-01-30 11:22     ` Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 09/14] mtd: nand: add sunxi NFC dt bindings doc Boris BREZILLON
     [not found]     ` <1391006064-28890-10-git-send-email-b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-29 17:11       ` Rob Herring
     [not found]         ` <CAL_JsqLVr1gSLArqtfOiHce+u6ZK8FiKMX0o9bvMrMoGGhATvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 17:12           ` Rob Herring
2014-01-29 22:37           ` Henrik Nordström
2014-01-30  8:38             ` boris brezillon dev
2014-01-30  8:46             ` boris brezillon dev
2014-01-29 18:01         ` Boris BREZILLON
2014-01-29 18:02         ` Gupta, Pekon
     [not found]           ` <20980858CB6D3A4BAE95CA194937D5E73EA6C01D-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2014-01-29 18:30             ` Boris BREZILLON
2014-01-29 18:33           ` Boris BREZILLON
2014-01-29 18:36           ` Gupta, Pekon
2014-01-29 14:34   ` [RFC PATCH v2 10/14] ARM: dt/sunxi: add NFC node to Allwinner A20 SoC Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 11/14] ARM: dt/sunxi: add NFC pinctrl pin definitions Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 12/14] ARM: sunxi/dt: enable NAND on cubietruck board Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 14/14] ARM: sunxi/dt: enable HW ECC on cubietruck board Boris BREZILLON
2014-01-30 13:39   ` [RFC PATCH pre-v3 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-30 14:36     ` Russell King - ARM Linux
     [not found]       ` <20140130143641.GZ15937-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-01-30 15:04         ` Boris BREZILLON
2014-01-30 13:41   ` [RFC PATCH pre-v3 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-30 13:46 ` [RFC PATCH pre-v3 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140312190737.GA27388@obsidianresearch.com \
    --to=jgunthorpe@obsidianresearch.com \
    --cc=b.brezillon.dev@gmail.com \
    --cc=computersforpeace@gmail.com \
    --cc=dev@linux-sunxi.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=grant.likely@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=rob.herring@calxeda.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).