From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel RAYNAL Subject: Re: [RFC 05/12] dt-bindings: mtd: add Marvell NAND controller documentation Date: Mon, 6 Nov 2017 14:24:48 +0100 Message-ID: <20171106142448.40ca5033@xps13> References: <20171018143629.29302-1-miquel.raynal@free-electrons.com> <20171018143629.29302-6-miquel.raynal@free-electrons.com> <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Rob Herring Cc: Mark Rutland , Andrew Lunn , Catalin Marinas , Hanna Hawa , Will Deacon , Stefan Agner , Nadav Haklai , Masahiro Yamada , linux-mtd@lists.infradead.org, Matthias Brugger , Robert Jarzmik , devel@driverdev.osuosl.org, Boris Brezillon , Maxim Levitsky , Kamal Dasu , Josh Wu , Russell King , Marek Vasut , Chen-Yu Tsai , bcm-kernel-feedback-list@broadcom.com, Sebastian Hesselbarth , Ezequiel Garcia , Sylvain Lemieux List-Id: devicetree@vger.kernel.org SGkgUm9iLAoKPiA+ICtSZXF1aXJlZCBwcm9wZXJ0aWVzOgo+ID4gK0MnZXN0IGZhdXgsIHQnZW4g YSByYWpvdXTDqSB1biB5IGEgcGFzIGxvbmd0cHMgOikuCj4gPiArSmUgY29uc2VpbGxlIGRlIG1l dHRyZSDDp2Egc291cyBmb3JtZSBkZSBsaXN0ZSwgZ2VucmUgIAo+IAo+IEh1bW0uCgpPb3BzIQoK PiAKPiA+ICsKPiA+ICstIGNvbXBhdGlibGU6IGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzoK PiA+ICsgICAgKiAibWFydmVsbCxhcm1hZGEtOGstbmFuZC1jb250cm9sbGVyIgo+ID4gKyAgICAq ICJtYXJ2ZWxsLGFybWFkYTM3MC1uYW5kLWNvbnRyb2xsZXIiCj4gPiArICAgICogIm1hcnZlbGws cHhhM3h4LW5hbmQtY29udHJvbGxlciIKPiA+ICsgICAgKiAibWFydmVsbCxhcm1hZGEtOGstbmFu ZCIgKGRlcHJlY2F0ZWQpCj4gPiArICAgICogIm1hcnZlbGwsYXJtYWRhMzcwLW5hbmQiIChkZXBy ZWNhdGVkKQo+ID4gKyAgICAqICJtYXJ2ZWxsLHB4YTN4eC1uYW5kIiAoZGVwcmVjYXRlZCkKPiA+ ICstIHJlZzogc2hhbGwgY29udGFpbiByZWdpc3RlcnMgbG9jYXRpb24gYW5kIGxlbmd0aCBmb3Ig ZGF0YSBhbmQKPiA+IHJlZy4gIAo+IAo+IDIgcmVnaW9ucz8KCkp1c3Qgb25lLCByZXBocmFzZWQu Cgo+IAo+ID4gKy0gI2FkZHJlc3MtY2VsbHM6IHNoYWxsIGJlIHNldCB0byAxLiBFbmNvZGUgdGhl IG5hbmQgQ1MuCj4gPiArLSAjc2l6ZS1jZWxsczogc2hhbGwgYmUgc2V0IHRvIDAuCj4gPiArLSBp bnRlcnJ1cHRzOiBzaGFsbCBkZWZpbmUgdGhlIG5hbmQgY29udHJvbGxlciBpbnRlcnJ1cHQuCj4g PiArLSBjbG9ja3M6IHNoYWxsIHJlZmVyZW5jZSBuYW5kIGNvbnRyb2xsZXIgY2xvY2tzLiAgCj4g Cj4gSG93IG1hbnkgY2xvY2tzPwoKT25seSBvbmUgdG9vOiAicmVmZXJlbmNlIHRoZSBOQU5EIGNv bnRyb2xsZXIgY2xvY2siLgoKPiAKPiA+ICstIG1hcnZlbGwsc3lzdGVtLWNvbnRyb2xsZXI6IFNl dCB0byByZXRyaWV2ZSB0aGUgc3lzY29uIG5vZGUgdGhhdAo+ID4gaGFuZGxlcwo+ID4gKyAgTkFO RCBjb250cm9sbGVyIHJlbGF0ZWQgcmVnaXN0ZXJzIChvbmx5IHJlcXVpcmVkIHdpdGggdGhlCj4g PiArICAibWFydmVsbCxhcm1hZGEtOGstbmFuZFstY29udHJvbGxlcl0iIGNvbXBhdGlibGVzKS4K PiA+ICsKPiA+ICtPcHRpb25hbCBwcm9wZXJ0aWVzOgo+ID4gKy0gZG1hczogc2hhbGwgcmVmZXJl bmNlIERNQSBjaGFubmVsIGFzc29jaWF0ZWQgdG8gdGhlIE5BTkQKPiA+IGNvbnRyb2xsZXIuICst IGRtYS1uYW1lczogc2hhbGwgYmUgInJ4dHgiLgo+ID4gKwo+ID4gK09wdGlvbmFsIGNoaWxkcmVu IG5vZGVzOgo+ID4gK0NoaWxkcmVuIG5vZGVzIHJlcHJlc2VudCB0aGUgYXZhaWxhYmxlIE5BTkQg Y2hpcHMuCj4gPiArCj4gPiArUmVxdWlyZWQgcHJvcGVydGllczoKPiA+ICstIHJlZzogc2hhbGwg Y29udGFpbiB0aGUgbmF0aXZlIENoaXAgU2VsZWN0IGlkcyAoMC0zKQo+ID4gKy0gbWFydmVsbCxy Yjogc2hhbGwgY29udGFpbiB0aGUgbmF0aXZlIFJlYWR5L0J1c3kgaWRzICgwLTEpCj4gPiArCj4g PiArT3B0aW9uYWwgcHJvcGVydGllczoKPiA+ICstIG1hcnZlbGwsbmFuZC1rZWVwLWNvbmZpZzog b3JkZXJzIHRoZSBkcml2ZXIgbm90IHRvIHRha2UgdGhlCj4gPiB0aW1pbmdzCj4gPiArICBmcm9t IHRoZSBjb3JlIGFuZCBsZWF2aW5nIHRoZW0gY29tcGxldGVseSB1bnRvdWNoZWQuIEJvb3Rsb2Fk ZXIKPiA+ICsgIHRpbWluZ3Mgd2lsbCB0aGVuIGJlIHVzZWQuCj4gPiArLSBtYXJ2ZWxsLG5hbmQt ZW5hYmxlLWFyYml0ZXI6IG9ubHkgdXNlZnVsIGZvciBQWEEgcGxhdGZvcm1zLCB3aWxsCj4gPiAr ICBlbmFibGUgYnVzIGFyYml0ZXIgYmV0d2VlbiBORkMgYW5kIERGSSBidXMgKG11c3QgYmUgZW5h YmxlZCBmb3IKPiA+ICsgIE5GQyBvcGVyYXRpb24pICAKPiAKPiBXaHkgZG8geW91IG5lZWQgdGhp cyBpZiBpdCBtdXN0IGJlIGVuYWJsZWQ/CgpUaGF0IGlzIHJpZ2h0LCB0aGVyZSBpcyBubyBtb3Jl IG5lZWQgZm9yIGl0LCBhbHNvIHJlbW92ZWQgaXQgZnJvbSB0aGUKZHJpdmVyLCBqdXN0IGtub3dp bmcgdGhlIGJvYXJkIHdpdGggdGhlIGNvbXBhdGlibGUgc3RyaW5nIGlzIGVub3VnaC4KCj4gCj4g PiArLSBuYW5kLW9uLWZsYXNoLWJidDogc3BlZWQgdXAgdGhlIGJvb3QgcHJvY2VzcyBieSBub3Qg ZGlzY292ZXJpbmcKPiA+IGFsbAo+ID4gKyAgdGhlIGJhZCBibG9ja3MgYXQgZWFjaCBib290IGFu ZCByZWFkaW5nIGRpcmVjdGx5IGFuIG9uIGZsYXNoCj4gPiB0YWJsZS4gKy0gbmFuZC1lY2MtbW9k ZTogb25lIG9mIHRoZSBzdXBwb3J0ZWQgRUNDIG1vZGVzICgibm9uZSIsCj4gPiAic29mdCIsCj4g PiArICAiaHciKS4gSWYgbm90IHNwZWNpZmllZCwgaGFyZHdhcmUgRUNDIHdpbGwgYmUgdXNlZC4K PiA+ICstIG5hbmQtZWNjLWFsZ286IGFsZ29yaXRobSB0byB1c2UgaWYgcHJldmlvdXMgY2hvaWNl IHdhcyAic29mdCIKPiA+ICsgICgiaGFtbWluZyIgb3IgImJjaCkuIFRoaXMgcHJvcGVydHkgbWF5 IGJlIGFkZGVkIGZvciBoYXJkd2FyZSBFQ0MKPiA+IGZvcgo+ID4gKyAgY2xhcmlmaWNhdGlvbiBi dXQgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSBkcml2ZXIgYmVjYXVzZSBFQ0MgbW9kZQo+ID4gaXMK PiA+ICsgIGNob3NlbiBkZXBlbmRpbmcgb24gdGhlIHBhZ2Ugc2l6ZSBhbmQgdGhlIHN0cmVuZ3Ro IHJlcXVpcmVkIGJ5Cj4gPiB0aGUKPiA+ICsgIE5BTkQgY2hpcC4gVGhpcyB2YWx1ZSBtYXkgYmUg b3ZlcndyaXR0ZW4gd2l0aCB0aGUKPiA+IG5hbmQtZWNjLXN0cmVuZ3RoCj4gPiArICBwcm9wZXJ0 eS4KPiA+ICstIG5hbmQtZWNjLXN0cmVuZ3RoOiBkZXNpcmVkIEVDQyBzdHJlbmd0aC4KPiA+ICst IG5hbmQtZWNjLXN0ZXAtc2l6ZTogaW5kaWNhdGlvbiBvbiB0aGUgRUNDIHN0ZXAgc2l6ZS4gVGhp cyBoYXMgbm8KPiA+ICsgIGVmZmVjdCBhbmQgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSBkcml2ZXIg d2hlbiB1c2luZyBoYXJkd2FyZQo+ID4gKyAgRUNDLiBCZWNhdXNlIE1hcnZlbGwncyBOQU5EIGZs YXNoIGNvbnRyb2xsZXIgZG9lcyB1c2UgZml4ZWQKPiA+IHN0cmVuZ3RoCj4gPiArICAoMS1iaXQg Zm9yIEhhbW1pbmcsIDE2LWJpdCBmb3IgQkNIKSwgdGhlIHN0ZXAgc2l6ZSB3aWxsIHNocmluayBv cgo+ID4gKyAgZ3Jvd24gaW4gb3JkZXIgdG8gZml0IHRoZSByZXF1aXJlZCBzdHJlbmd0aCBhbmQg dGhlIHZhbHVlCj4gPiArICB1cGRhdGVkLiBTdGVwIHNpemVzIGFyZSBub3QgY29tcGxldGVseSBy YW5kb20gZm9yIGFsbCBhbmQgZm9sbG93Cj4gPiArICBjZXJ0YWluIHBhdHRlcm5zIGRlc2NyaWJl ZCBpbiBBTi0zNzksICJNYXJ2ZWxsIFNvQyBORkMgRUNDIi4gIAo+IAo+IEZvciBzdGFuZGFyZCBw cm9wZXJ0aWVzLCBqdXN0IHJlZmVyZW5jZSBuYW5kLnR4dCBhbmQgYWRkIGFueSAKPiBjb25zdHJh aW50cy4gRG9uJ3QgZGVmaW5lIHdoYXQgdGhlIHByb3BlcnR5IGlzIGFnYWluLgoKT2suCgo+IAo+ ID4gKwo+ID4gK1NlZSBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL25hbmQu dHh0IGZvciBtb3JlCj4gPiBkZXRhaWxzIG9uICtnZW5lcmljIGJpbmRpbmdzLgo+ID4gKwo+ID4g Kwo+ID4gK0V4YW1wbGU6Cj4gPiArbmFuZF9jb250cm9sbGVyOiBuYW5kLWNvbnRyb2xsZXJAZDAw MDAgewo+ID4gKwljb21wYXRpYmxlID0gIm1hcnZlbGwsYXJtYWRhMzcwLW5hbmQtY29udHJvbGxl ciI7Cj4gPiArCXJlZyA9IDwweGQwMDAwIDB4NTQ+Owo+ID4gKwkjYWRkcmVzcy1jZWxscyA9IDwx PjsKPiA+ICsJI3NpemUtY2VsbHMgPSA8MD47Cj4gPiArCWludGVycnVwdHMgPSA8R0lDX1NQSSA4 NCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKPiA+ICsJY2xvY2tzID0gPCZjb3JlZGl2Y2xrIDA+Owo+ ID4gKwlzdGF0dXMgPSAib2theSI7ICAKPiAKPiBEb24ndCBzaG93IHN0YXR1cyBpbiBleGFtcGxl cy4KCk9rLgoKPiAKPiA+ICsKPiA+ICsJbmFuZEAwIHsKPiA+ICsJCXJlZyA9IDwwPjsKPiA+ICsJ CW1hcnZlbGwscmIgPSA8MD47Cj4gPiArCQluYW5kLWVjYy1tb2RlID0gImh3IjsKPiA+ICsJCW1h cnZlbGwsbmFuZC1rZWVwLWNvbmZpZzsKPiA+ICsJCW1hcnZlbGwsbmFuZC1lbmFibGUtYXJiaXRl cjsKPiA+ICsJCW5hbmQtb24tZmxhc2gtYmJ0Owo+ID4gKwkJbmFuZC1lY2Mtc3RyZW5ndGggPSA8 ND47Cj4gPiArCQluYW5kLWVjYy1zdGVwLXNpemUgPSA8NTEyPjsKPiA+ICsKPiA+ICsJCXBhcnRp dGlvbnMgewo+ID4gKwkJCWNvbXBhdGlibGUgPSAiZml4ZWQtcGFydGl0aW9ucyI7Cj4gPiArCQkJ I2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4gPiArCQkJI3NpemUtY2VsbHMgPSA8MT47Cj4gPiArCj4g PiArCQkJcGFydGl0aW9uQDAgewo+ID4gKwkJCQlsYWJlbCA9ICJSb290ZnMiOwo+ID4gKwkJCQly ZWcgPSA8MHgwMDAwMDAwMCAweDQwMDAwMDAwPjsKPiA+ICsJCQl9Owo+ID4gKwkJfTsKPiA+ICsJ fTsKPiA+ICt9Owo+ID4gLS0gCj4gPiAyLjExLjAKPiA+ICAgCgpUaGFua3MgZm9yIHRoZSByZXZp ZXcsCk1pcXXDqGwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZGV2ZWwgbWFpbGluZyBsaXN0CmRldmVsQGxpbnV4ZHJpdmVycHJvamVjdC5vcmcKaHR0cDov L2RyaXZlcmRldi5saW51eGRyaXZlcnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vZHJpdmVy ZGV2LWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 6 Nov 2017 14:24:48 +0100 From: Miquel RAYNAL To: Rob Herring Cc: Andrew Lunn , bcm-kernel-feedback-list@broadcom.com, Boris Brezillon , Brian Norris , Catalin Marinas , Chen-Yu Tsai , Cyrille Pitchen , Daniel Mack , David Woodhouse , devel@driverdev.osuosl.org, devicetree@vger.kernel.org, Ezequiel Garcia , Greg Kroah-Hartman , Gregory Clement , Han Xu , Haojian Zhuang , Jason Cooper , Josh Wu , Kamal Dasu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-mtd@lists.infradead.org, Marc Gonzalez , Marek Vasut , Mark Rutland , Masahiro Yamada , Matthias Brugger , Maxime Ripard , Maxim Levitsky , Richard Weinberger , Robert Jarzmik , Russell King , Sebastian Hesselbarth , Stefan Agner , Sylvain Lemieux , Vladimir Zapolskiy , Wenyou Yang , Will Deacon , Thomas Petazzoni , Antoine Tenart , Igor Grinberg , Nadav Haklai , Ofer Heifetz , Neta Zur Hershkovits , Hanna Hawa Subject: Re: [RFC 05/12] dt-bindings: mtd: add Marvell NAND controller documentation Message-ID: <20171106142448.40ca5033@xps13> In-Reply-To: <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> References: <20171018143629.29302-1-miquel.raynal@free-electrons.com> <20171018143629.29302-6-miquel.raynal@free-electrons.com> <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi Rob, > > +Required properties: > > +C'est faux, t'en a rajout=C3=A9 un y a pas longtps :). > > +Je conseille de mettre =C3=A7a sous forme de liste, genre =20 >=20 > Humm. Oops! >=20 > > + > > +- 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) > > +- reg: shall contain registers location and length for data and > > reg. =20 >=20 > 2 regions? Just one, rephrased. >=20 > > +- #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 nand controller clocks. =20 >=20 > How many clocks? Only one too: "reference the NAND controller clock". >=20 > > +- 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: > > +- dmas: shall reference DMA channel associated to the NAND > > controller. +- dma-names: shall be "rxtx". > > + > > +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) > > + > > +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. > > +- marvell,nand-enable-arbiter: only useful for PXA platforms, will > > + enable bus arbiter between NFC and DFI bus (must be enabled for > > + NFC operation) =20 >=20 > Why do you need this if it must be enabled? That is right, there is no more need for it, also removed it from the driver, just knowing the board with the compatible string is enough. >=20 > > +- nand-on-flash-bbt: speed up the boot process by not discovering > > all > > + the bad blocks at each boot and reading directly an on flash > > table. +- nand-ecc-mode: one of the supported ECC modes ("none", > > "soft", > > + "hw"). If not specified, hardware ECC will be used. > > +- nand-ecc-algo: algorithm to use if previous choice was "soft" > > + ("hamming" or "bch). This property may be added for 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 the > > nand-ecc-strength > > + property. > > +- nand-ecc-strength: desired ECC strength. > > +- nand-ecc-step-size: indication on the ECC step size. 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), the step size will shrink or > > + grown in order to fit the required strength and the value > > + updated. Step sizes are not completely random for all and follow > > + certain patterns described in AN-379, "Marvell SoC NFC ECC". =20 >=20 > For standard properties, just reference nand.txt and add any=20 > constraints. Don't define what the property is again. Ok. >=20 > > + > > +See Documentation/devicetree/bindings/mtd/nand.txt for more > > details on +generic bindings. > > + > > + > > +Example: > > +nand_controller: nand-controller@d0000 { > > + compatible =3D "marvell,armada370-nand-controller"; > > + reg =3D <0xd0000 0x54>; > > + #address-cells =3D <1>; > > + #size-cells =3D <0>; > > + interrupts =3D ; > > + clocks =3D <&coredivclk 0>; > > + status =3D "okay"; =20 >=20 > Don't show status in examples. Ok. >=20 > > + > > + nand@0 { > > + reg =3D <0>; > > + marvell,rb =3D <0>; > > + nand-ecc-mode =3D "hw"; > > + marvell,nand-keep-config; > > + marvell,nand-enable-arbiter; > > + nand-on-flash-bbt; > > + nand-ecc-strength =3D <4>; > > + nand-ecc-step-size =3D <512>; > > + > > + partitions { > > + compatible =3D "fixed-partitions"; > > + #address-cells =3D <1>; > > + #size-cells =3D <1>; > > + > > + partition@0 { > > + label =3D "Rootfs"; > > + reg =3D <0x00000000 0x40000000>; > > + }; > > + }; > > + }; > > +}; > > --=20 > > 2.11.0 > > =20 Thanks for the review, Miqu=C3=A8l From mboxrd@z Thu Jan 1 00:00:00 1970 From: miquel.raynal@free-electrons.com (Miquel RAYNAL) Date: Mon, 6 Nov 2017 14:24:48 +0100 Subject: [RFC 05/12] dt-bindings: mtd: add Marvell NAND controller documentation In-Reply-To: <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> References: <20171018143629.29302-1-miquel.raynal@free-electrons.com> <20171018143629.29302-6-miquel.raynal@free-electrons.com> <20171024190433.r5xy25eqdesz7jjs@rob-hp-laptop> Message-ID: <20171106142448.40ca5033@xps13> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Rob, > > +Required properties: > > +C'est faux, t'en a rajout? un y a pas longtps :). > > +Je conseille de mettre ?a sous forme de liste, genre > > Humm. Oops! > > > + > > +- 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) > > +- reg: shall contain registers location and length for data and > > reg. > > 2 regions? Just one, rephrased. > > > +- #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 nand controller clocks. > > How many clocks? Only one too: "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: > > +- dmas: shall reference DMA channel associated to the NAND > > controller. +- dma-names: shall be "rxtx". > > + > > +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) > > + > > +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. > > +- marvell,nand-enable-arbiter: only useful for PXA platforms, will > > + enable bus arbiter between NFC and DFI bus (must be enabled for > > + NFC operation) > > Why do you need this if it must be enabled? That is right, there is no more need for it, also removed it from the driver, just knowing the board with the compatible string is enough. > > > +- nand-on-flash-bbt: speed up the boot process by not discovering > > all > > + the bad blocks at each boot and reading directly an on flash > > table. +- nand-ecc-mode: one of the supported ECC modes ("none", > > "soft", > > + "hw"). If not specified, hardware ECC will be used. > > +- nand-ecc-algo: algorithm to use if previous choice was "soft" > > + ("hamming" or "bch). This property may be added for 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 the > > nand-ecc-strength > > + property. > > +- nand-ecc-strength: desired ECC strength. > > +- nand-ecc-step-size: indication on the ECC step size. 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), the step size will shrink or > > + grown in order to fit the required strength and the value > > + updated. Step sizes are not completely random for all and follow > > + certain patterns described in AN-379, "Marvell SoC NFC ECC". > > For standard properties, just reference nand.txt and add any > constraints. Don't define what the property is again. Ok. > > > + > > +See Documentation/devicetree/bindings/mtd/nand.txt for more > > details on +generic bindings. > > + > > + > > +Example: > > +nand_controller: nand-controller at d0000 { > > + compatible = "marvell,armada370-nand-controller"; > > + reg = <0xd0000 0x54>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + interrupts = ; > > + clocks = <&coredivclk 0>; > > + status = "okay"; > > Don't show status in examples. Ok. > > > + > > + nand at 0 { > > + reg = <0>; > > + marvell,rb = <0>; > > + nand-ecc-mode = "hw"; > > + marvell,nand-keep-config; > > + marvell,nand-enable-arbiter; > > + nand-on-flash-bbt; > > + nand-ecc-strength = <4>; > > + nand-ecc-step-size = <512>; > > + > > + partitions { > > + compatible = "fixed-partitions"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + partition at 0 { > > + label = "Rootfs"; > > + reg = <0x00000000 0x40000000>; > > + }; > > + }; > > + }; > > +}; > > -- > > 2.11.0 > > Thanks for the review, Miqu?l