From: miquel.raynal@free-electrons.com (Miquel RAYNAL)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/5] dt-bindings: mtd: add Marvell NAND controller documentation
Date: Sun, 7 Jan 2018 22:43:20 +0100 [thread overview]
Message-ID: <20180107224320.597c3a51@xps13> (raw)
In-Reply-To: <20171220210511.ty2e7mkiktvn4een@rob-hp-laptop>
Hi Rob,
On Wed, 20 Dec 2017 15:05:11 -0600
Rob Herring <robh@kernel.org> wrote:
> On Tue, Dec 19, 2017 at 02:29:38PM +0100, Miquel Raynal wrote:
> > Document the legacy and the new bindings for Marvell NAND
> > controller.
> >
> > The pxa3xx_nand.c driver does only support legacy bindings, which
> > are incomplete and inaccurate. A rework of this controller (called
> > marvell_nand.c) does support both.
> >
> > Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
> > ---
> > .../devicetree/bindings/mtd/marvell-nand.txt | 123
> > +++++++++++++++++++++ 1 file changed, 123 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/mtd/marvell-nand.txt
> >
> > diff --git a/Documentation/devicetree/bindings/mtd/marvell-nand.txt
> > b/Documentation/devicetree/bindings/mtd/marvell-nand.txt new file
> > mode 100644 index 000000000000..aa6a1ed045b2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell-nand.txt
> > @@ -0,0 +1,123 @@
> > +Marvell NAND Flash Controller (NFC)
> > +
> > +Required properties:
> > +- compatible: can be one of the following:
> > + * "marvell,armada-8k-nand-controller"
> > + * "marvell,armada370-nand-controller"
> > + * "marvell,pxa3xx-nand-controller"
> > + * "marvell,armada-8k-nand" (deprecated)
> > + * "marvell,armada370-nand" (deprecated)
> > + * "marvell,pxa3xx-nand" (deprecated)
> > + Compatibles marked deprecated support only the old bindings
> > described
> > + at the bottom.
> > +- reg: NAND flash controller memory area.
> > +- #address-cells: shall be set to 1. Encode the NAND CS.
> > +- #size-cells: shall be set to 0.
> > +- interrupts: shall define the NAND controller interrupt.
> > +- clocks: shall reference the NAND controller clock.
> > +- marvell,system-controller: Set to retrieve the syscon node that
> > handles
> > + NAND controller related registers (only required with the
> > + "marvell,armada-8k-nand[-controller]" compatibles).
> > +
> > +Optional properties:
> > +- label: see partition.txt. New platforms shall omit this property.
> > +- dmas: shall reference DMA channel associated to the NAND
> > controller.
> > + This property is only used with
> > "marvell,pxa3xx-nand[-controller]"
> > + compatible strings.
> > +- dma-names: shall be "rxtx".
> > + This property is only used with
> > "marvell,pxa3xx-nand[-controller]"
> > + compatible strings.
> > +
> > +Optional children nodes:
> > +Children nodes represent the available NAND chips.
> > +
> > +Required properties:
> > +- reg: shall contain the native Chip Select ids (0-3)
> > +- marvell,rb: shall contain the native Ready/Busy ids (0-1)
>
> We already have at least 2 other <vendor>,rb properties. Let's not
> add a 3rd and make a common one instead.
I switched to "nand-rb", added this property in nand.txt (in another
commit) and updated all the DT accordingly.
>
> > +
> > +Optional properties:
> > +- marvell,nand-keep-config: orders the driver not to take the
> > timings
> > + from the core and leaving them completely untouched. Bootloader
> > + timings will then be used.
> > +- label: MTD name.
> > +- nand-on-flash-bbt: see nand.txt.
> > +- nand-ecc-mode: see nand.txt. Will use hardware ECC if not
> > specified. +- nand-ecc-algo: see nand.txt. This property may be
> > added when using
> > + hardware ECC for clarification but will be ignored by the driver
> > + because ECC mode is chosen depending on the page size and the
> > strength
> > + required by the NAND chip. This value may be overwritten with
> > + nand-ecc-strength property.
>
> If not used, then drop it.
Well, nand-ecc-algo will be useful when not using the ECC
engine, so it cannot be removed. I tried to explain better the
situation.
>
> > +- nand-ecc-strength: see nand.txt.
> > +- nand-ecc-step-size: see nand.txt. This has no effect and will be
> > + ignored by the driver when using hardware ECC because Marvell's
> > NAND
> > + flash controller does use fixed strength (1-bit for Hamming,
> > 16-bit
> > + for BCH), so the step size will shrink or grow in order to fit
> > the
> > + required strength. Step sizes are not completely random for all
> > and
> > + follow certain patterns described in AN-379, "Marvell SoC NFC
> > ECC".
>
> Same here.
The comment about being ignored was not accurate, I simply removed
that part.
Thanks,
Miqu?l
next prev parent reply other threads:[~2018-01-07 21:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-19 13:29 [PATCH v2 0/5] Marvell NAND controller rework with ->exec_op() Miquel Raynal
2017-12-19 13:29 ` [PATCH v2 1/5] dt-bindings: mtd: add Marvell NAND controller documentation Miquel Raynal
2017-12-20 21:05 ` Rob Herring
2018-01-07 21:43 ` Miquel RAYNAL [this message]
2017-12-19 13:29 ` [PATCH v2 2/5] mtd: nand: add reworked Marvell NAND controller driver Miquel Raynal
2017-12-21 10:14 ` Boris Brezillon
2018-01-07 21:46 ` Miquel RAYNAL
2017-12-19 13:29 ` [PATCH v2 3/5] mtd: nand: replace pxa3xx_nand driver by its rework called marvell_nand Miquel Raynal
2017-12-22 20:47 ` Robert Jarzmik
2017-12-22 21:10 ` Boris Brezillon
2017-12-22 22:00 ` Willy Tarreau
2017-12-22 22:04 ` Boris Brezillon
2017-12-23 21:13 ` Robert Jarzmik
2017-12-24 4:55 ` Ezequiel Garcia
2017-12-19 13:29 ` [PATCH v2 4/5] dt-bindings: mtd: remove pxa3xx NAND controller documentation Miquel Raynal
2017-12-20 21:06 ` Rob Herring
2017-12-19 13:29 ` [PATCH v2 5/5] mtd: nand: remove useless fields from pxa3xx NAND platform data Miquel Raynal
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=20180107224320.597c3a51@xps13 \
--to=miquel.raynal@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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).