From: Conor Dooley <conor@kernel.org>
To: Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
Cc: Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
linux-kernel@vger.kernel.org,
Vignesh Raghavendra <vigneshr@ti.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
devicetree@vger.kernel.org, Richard Weinberger <richard@nod.at>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
linux-mtd@lists.infradead.org,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Miquel Raynal <miquel.raynal@bootlin.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/3] dt-bindings: mtd: atmel-nand: add deprecated bindings
Date: Wed, 20 Mar 2024 16:25:58 +0000 [thread overview]
Message-ID: <20240320-audibly-emoticon-400e3a42550b@spud> (raw)
In-Reply-To: <20240320-linux-next-nand-yaml-v1-3-2d2495363e88@microchip.com>
[-- Attachment #1.1: Type: text/plain, Size: 7969 bytes --]
On Wed, Mar 20, 2024 at 11:22:09AM +0530, Balamanikandan Gunasundar wrote:
> Add nand bindings for legacy nand controllers. These bindings are not used
> with the new device trees. This is still maintained to support legacy dt
> bindings.
>
> Signed-off-by: Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
> ---
> .../bindings/mtd/atmel-nand-deprecated.yaml | 156 +++++++++++++++++++++
> .../devicetree/bindings/mtd/atmel-nand.txt | 116 ---------------
> 2 files changed, 156 insertions(+), 116 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand-deprecated.yaml b/Documentation/devicetree/bindings/mtd/atmel-nand-deprecated.yaml
> new file mode 100644
> index 000000000000..c8922ab0f1d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/atmel-nand-deprecated.yaml
Node name matching the devices please.
> @@ -0,0 +1,156 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/atmel-nand-deprecated.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel NAND flash controller deprecated bindings
/stuff/linux-dt/Documentation/devicetree/bindings/mtd/atmel-nand-deprecated.yaml: title: 'Atmel NAND flash controller deprecated bindings' should not be valid under {'pattern': '([Bb]inding| [Ss]chema)'}
hint: Everything is a binding/schema, no need to say it. Describe what hardware the binding is for.
> +
> +maintainers:
> + - Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
> +
> +description: |
> + This should not be used in the new device trees.
If these should not be used in new files, where are the replacement
bindings for the three devices listed here? I think, rather than being
deprecated, these are the only bindings for these devices and what you
actually want to say here is that these should not be used for /new
devices/. I'd drop mention of deprecation from the title as these
bindings are the only ones for this hardware AFAICT and just say that
new devices should be documented in $new_file.
> +properties:
> + compatible:
> + enum:
> + - atmel,at91rm9200-nand
> + - atmel,sama5d2-nand
> + - atmel,sama5d4-nand
> +
> + reg:
Missing constraints.
> + description:
> + should specify localbus address and size used for the chip, and
> + hardware ECC controller if available. If the hardware ECC is PMECC,
> + it should contain address and size for PMECC and PMECC Error Location
> + controller. The PMECC lookup table address and size in ROM is
> + optional. If not specified, driver will build it in runtime.
> +
> + atmel,nand-addr-offset:
> + description:
> + offset for the address latch.
> + $ref: /schemas/types.yaml#/definitions/uint32
Missing constraints.
> +
> + atmel,nand-cmd-offset:
> + description:
> + offset for the command latch.
> + $ref: /schemas/types.yaml#/definitions/uint32
Missing contraints.
> +
> + "#address-cells":
> + description:
> + Must be present if the device has sub-nodes representing partitions
Does this binding even allow partition child nodes? Hint: it doesn't.
> + "#size-cells":
> + description:
> + Must be present if the device has sub-nodes representing partitions.
> +
> + gpios:
> + description:
> + specifies the gpio pins to control the NAND device. detect is an
> + optional gpio and may be set to 0 if not present.
Missing constraints (and maybe a type too? I dunno if "gpios" has a
special case in the -gpios regexes).
> + atmel,nand-has-dma:
> + description:
> + support dma transfer for nand read/write.
> + $ref: /schemas/types.yaml#/definitions/flag
> +
> + atmel,has-pmecc:
> + description:
> + enable Programmable Multibit ECC hardware, capable of BCH encoding
> + and decoding, on devices where it is present.
> + $ref: /schemas/types.yaml#/definitions/flag
> +
> + nand-on-flash-bbt:
> + description:
> + enable on flash bbt option if not present false
> + $ref: /schemas/types.yaml#/definitions/flag
> +
> + nand-ecc-mode:
Missing a default since this is optional.
> + description:
> + operation mode of the NAND ecc mode, soft by default. Supported
> + enum:
> + [none, soft, hw, hw_syndrome, hw_oob_first, soft_bch]
> + $ref: /schemas/types.yaml#/definitions/string
> +
> + atmel,pmecc-cap:
> + description:
> + error correct capability for Programmable Multibit ECC Controller. If
> + the compatible string is "atmel,sama5d2-nand", 32 is also valid.
> + enum:
> + [2, 4, 8, 12, 24]
You're missing an extra permitted value for the sama5d2.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + atmel,pmecc-sector-size:
Missing a default since this is optional.
> + description:
> + sector size for ECC computation.
> + enum:
> + [512, 1024]
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + atmel,pmecc-lookup-table-offset:
Missing a default since this is optional.
> + description:
> + includes two offsets of lookup table in ROM for different sector
> + size. First one is for sector size 512, the next is for sector size
> + 1024. If not specified, driver will build the table in runtime.
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> +
> + nand-bus-width:
> + description:
> + nand bus width
> + enum:
> + [8, 16]
Missing a default of 8 here.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
You're missing the optional child node for the "nand flash controller" on
sama5d2.
> +required:
> + - compatible
> + - reg
> + - atmel,nand-addr-offset
> + - atmel,nand-cmd-offset
> + - "#address-cells"
> + - "#size-cells"
> + - gpios
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + nand0: nand@40000000,0 {
Drop the unused node name.
> + compatible = "atmel,at91rm9200-nand";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + reg = <0x40000000 0x10000000
> + 0xffffe800 0x200>;
> + atmel,nand-addr-offset = <21>; /* ale */
> + atmel,nand-cmd-offset = <22>; /* cle */
> + nand-on-flash-bbt;
> + nand-ecc-mode = "soft";
> + gpios = <&pioC 13 0 /* rdy */
> + &pioC 14 0 /* nce */
> + 0 /* cd */
> + >;
Please follow the coding style rather than copy-paste from the text
based binding. Applies to both examples. An example with the nfc would
be more helpful than two bindings for the same device.
Thanks,
Conor.
> + };
> + - |
> + /* for PMECC supported chips */
> + nand1@40000000 {
> + compatible = "atmel,at91rm9200-nand";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + reg = <0x40000000 0x10000000 /* bus addr & size */
> + 0xffffe000 0x00000600 /* PMECC addr & size */
> + 0xffffe600 0x00000200 /* PMECC ERRLOC addr & size */
> + 0x00100000 0x00100000>; /* ROM addr & size */
> +
> + atmel,nand-addr-offset = <21>; /* ale */
> + atmel,nand-cmd-offset = <22>; /* cle */
> + nand-on-flash-bbt;
> + nand-ecc-mode = "hw";
> + atmel,has-pmecc; /* enable PMECC */
> + atmel,pmecc-cap = <2>;
> + atmel,pmecc-sector-size = <512>;
> + atmel,pmecc-lookup-table-offset = <0x8000 0x10000>;
> + gpios = <&pioD 5 0 /* rdy */
> + &pioD 4 0 /* nce */
> + 0 /* cd */
> + >;
> + };
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
prev parent reply other threads:[~2024-03-20 16:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 5:52 [PATCH 0/3] dt-bindings: mtd: atmel-nand: convert txt to yaml Balamanikandan Gunasundar
2024-03-20 5:52 ` [PATCH 1/3] " Balamanikandan Gunasundar
2024-03-20 16:35 ` Conor Dooley
2024-03-22 4:27 ` Balamanikandan.Gunasundar
2024-03-22 7:30 ` Conor Dooley
2024-03-25 3:56 ` Balamanikandan.Gunasundar
2024-03-20 5:52 ` [PATCH 2/3] dt-bindings: mtd: atmel-nand: add atmel pmecc Balamanikandan Gunasundar
2024-03-20 16:40 ` Conor Dooley
2024-03-20 5:52 ` [PATCH 3/3] dt-bindings: mtd: atmel-nand: add deprecated bindings Balamanikandan Gunasundar
2024-03-20 16:25 ` Conor Dooley [this message]
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=20240320-audibly-emoticon-400e3a42550b@spud \
--to=conor@kernel.org \
--cc=alexandre.belloni@bootlin.com \
--cc=balamanikandan.gunasundar@microchip.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
--cc=robh@kernel.org \
--cc=vigneshr@ti.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