[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230502114858.7152572a@xps-13>
Date: Tue, 2 May 2023 11:48:58 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Nikita Shubin <nikita.shubin@...uefel.me>
Cc: Arnd Bergmann <arnd@...nel.org>, Linus Walleij <linusw@...nel.org>,
Alexander Sverdlin <alexander.sverdlin@...il.com>,
Richard Weinberger <richard@....at>,
Vignesh Raghavendra <vigneshr@...com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Lukasz Majewski <lukma@...x.de>, linux-mtd@...ts.infradead.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
Hi Nikita,
nikita.shubin@...uefel.me wrote on Mon, 24 Apr 2023 15:34:38 +0300:
> Add YAML bindings for ts7250 NAND.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@...uefel.me>
> ---
> .../bindings/mtd/technologic,nand.yaml | 56 +++++++++++++++++++
> 1 file changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> new file mode 100644
> index 000000000000..3234d93a1c21
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems NAND controller
> +
> +maintainers:
> + - Lukasz Majewski <lukma@...x.de>
> +
> +properties:
> + compatible:
> + items:
> + - const: technologic,ts7200-nand
would -nand-controller instead of -nand work as a suffix here?
You mention ts7250 in the title, should we have a more specific
compatible than ts7200 as well?
I see by looking at the mtd patch that you actually try to match both,
so they should both be defined in the bindings.
> + - const: gen_nand
This is a old hack for very simple controllers (converted to DT probing
12 years ago). The logic used by this driver has been deprecated for
like 10 years and does not really apply to modern APIs. I would really
like to keep this driver contained with platform data coming from arch/
data only.
I suggest you create a real NAND controller driver based on the
generic one (should not be very complex, just duplicate the code so the
migration to the up-to-date API is eased) and you flag it as "must be
updated to ->exec_op() somehow. This way if someone starts the
conversion, it does not need to cope with the 5 other users of the
generic driver which anyway share nothing in common besides the
deprecated ->cmd_ctrl() backbone.
I read the comments on the cover letter, people are kind of pushing on
having this merged quickly. I am fine accepting a legacy controller
driver and migrating it to ->exec_op() later, but the current driver
conversion does not fit the approach taken years ago towards a cleaner
mtd tree.
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells': true
> + '#size-cells': true
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
> +
> +examples:
> + - |
> + nand-parts@0 {
> + compatible = "technologic,ts7200-nand", "gen_nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "TS-BOOTROM";
> + reg = <0x00000000 0x00020000>;
> + read-only;
> + };
Partitions are not useful here, but if you want them, use the
partitions container instead, please.
> +
> + partition@...00 {
> + label = "Linux";
> + reg = <0x00020000 0x07d00000>;
> + };
> +
> + partition@...0000 {
> + label = "RedBoot";
> + reg = <0x07d20000 0x002e0000>;
> + read-only;
> + };
> + };
> +
> +...
Thanks,
Miquèl
Powered by blists - more mailing lists