All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Keguang Zhang <keguang.zhang@gmail.com>
Cc: Keguang Zhang via B4 Relay
	<devnull+keguang.zhang.gmail.com@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 1/3] dt-bindings: mtd: Add Loongson-1 NAND Controller
Date: Sat, 18 May 2024 12:47:32 +0200	[thread overview]
Message-ID: <20240518124732.584f441d@xps-13> (raw)
In-Reply-To: <CAJhJPsV1aCvji1G2F94A=pJa8+x6Aw7ndkQUBPtFeeKSxJK9Nw@mail.gmail.com>

Hi,

keguang.zhang@gmail.com wrote on Sat, 18 May 2024 16:01:01 +0800:

> On Mon, May 6, 2024 at 3:14 PM Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> >
> > Hello,
> >
> > devnull+keguang.zhang.gmail.com@kernel.org wrote on Tue, 30 Apr 2024
> > 19:11:10 +0800:
> >  
> > > From: Keguang Zhang <keguang.zhang@gmail.com>
> > >
> > > Add devicetree binding document for Loongson-1 NAND Controller.
> > >
> > > Signed-off-by: Keguang Zhang <keguang.zhang@gmail.com>
> > > ---
> > > Changes in v7:
> > > - rename the file to loongson,ls1b-nfc.yaml
> > >
> > > Changes in v6:
> > > - A newly added patch
> > > ---
> > >  .../devicetree/bindings/mtd/loongson,ls1b-nfc.yaml | 66 ++++++++++++++++++++++
> > >  1 file changed, 66 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
> > > new file mode 100644
> > > index 000000000000..a69f22b9fd9e
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
> > > @@ -0,0 +1,66 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/mtd/loongson,ls1b-nfc.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Loongson-1 NAND Controller
> > > +
> > > +maintainers:
> > > +  - Keguang Zhang <keguang.zhang@gmail.com>
> > > +
> > > +allOf:
> > > +  - $ref: nand-controller.yaml
> > > +
> > > +properties:
> > > +  compatible:
> > > +    oneOf:
> > > +      - const: loongson,ls1b-nfc  
> >
> > What is the rationale behind this choice? Seems like the b variant has
> > two possible implementations and should always be preceded by a more
> > specific compatible.
> >
> > As there is currently no description of this controller upstream, I
> > would not care too much about any out-of-tree description and directly
> > go for a clean description.
> >  
> Excuse me, should I add a description for this property?

No, description is not needed. But you are allowing the
"loongson,ls1b-nfc" compatible alone, which I think is not relevant,
unless you convince me it is :-)

> > > +      - items:
> > > +          - enum:
> > > +              - loongson,ls1a-nfc
> > > +              - loongson,ls1c-nfc
> > > +          - const: loongson,ls1b-nfc
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  dmas:
> > > +    maxItems: 1
> > > +
> > > +  dma-names:
> > > +    const: rxtx
> > > +
> > > +patternProperties:
> > > +  "^nand@[0-3]$":
> > > +    type: object
> > > +    $ref: raw-nand-chip.yaml
> > > +
> > > +    unevaluatedProperties: false
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - dmas
> > > +  - dma-names  
> >
> > Should DMA props be required?
> >  
> Yes. This NAND controller only works with DMA, which means the DMA is necessary.

Ok

> 
> > > +
> > > +unevaluatedProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    nand-controller@1fe78000 {
> > > +        compatible = "loongson,ls1b-nfc";
> > > +        reg = <0x1fe78000 0x40>;
> > > +
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        dmas = <&dma 0>;
> > > +        dma-names = "rxtx";  
> >
> > There is a preferred spacing for DT nodes, see:
> > https://docs.kernel.org/devicetree/bindings/dts-coding-style.html
> >  
> Sorry. I don't get the meaning of preferred spacing.
> https://docs.kernel.org/devicetree/bindings/writing-schema.html says
> "For DTS examples in the schema, preferred is four-space indentation."
> Then I used four-space indentation.

I'm talking about the new lines (\n) between the properties.
 
> 
> > > +
> > > +        nand@0 {
> > > +            reg = <0>;
> > > +            nand-use-soft-ecc-engine;
> > > +            nand-ecc-algo = "hamming";  
> >
> > These two properties are not needed. Unless there is no hardware ECC
> > capability on this controller and in this case you need to ensure the
> > properties are present in the schema.  
> 
> Exactly. This NAND controller doesn't support hardware ECC.
> 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' are present in nand-chip.yaml.
> Is there anything else I should do?

Thry are in nand-chip.yaml, which means they are allowed, but I want
them mandatory:

required:
  - foo
  - bar

Thanks,
Miquèl

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Keguang Zhang <keguang.zhang@gmail.com>
Cc: Keguang Zhang via B4 Relay
	<devnull+keguang.zhang.gmail.com@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 1/3] dt-bindings: mtd: Add Loongson-1 NAND Controller
Date: Sat, 18 May 2024 12:47:32 +0200	[thread overview]
Message-ID: <20240518124732.584f441d@xps-13> (raw)
In-Reply-To: <CAJhJPsV1aCvji1G2F94A=pJa8+x6Aw7ndkQUBPtFeeKSxJK9Nw@mail.gmail.com>

Hi,

keguang.zhang@gmail.com wrote on Sat, 18 May 2024 16:01:01 +0800:

> On Mon, May 6, 2024 at 3:14 PM Miquel Raynal <miquel.raynal@bootlin.com> wrote:
> >
> > Hello,
> >
> > devnull+keguang.zhang.gmail.com@kernel.org wrote on Tue, 30 Apr 2024
> > 19:11:10 +0800:
> >  
> > > From: Keguang Zhang <keguang.zhang@gmail.com>
> > >
> > > Add devicetree binding document for Loongson-1 NAND Controller.
> > >
> > > Signed-off-by: Keguang Zhang <keguang.zhang@gmail.com>
> > > ---
> > > Changes in v7:
> > > - rename the file to loongson,ls1b-nfc.yaml
> > >
> > > Changes in v6:
> > > - A newly added patch
> > > ---
> > >  .../devicetree/bindings/mtd/loongson,ls1b-nfc.yaml | 66 ++++++++++++++++++++++
> > >  1 file changed, 66 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
> > > new file mode 100644
> > > index 000000000000..a69f22b9fd9e
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
> > > @@ -0,0 +1,66 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/mtd/loongson,ls1b-nfc.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Loongson-1 NAND Controller
> > > +
> > > +maintainers:
> > > +  - Keguang Zhang <keguang.zhang@gmail.com>
> > > +
> > > +allOf:
> > > +  - $ref: nand-controller.yaml
> > > +
> > > +properties:
> > > +  compatible:
> > > +    oneOf:
> > > +      - const: loongson,ls1b-nfc  
> >
> > What is the rationale behind this choice? Seems like the b variant has
> > two possible implementations and should always be preceded by a more
> > specific compatible.
> >
> > As there is currently no description of this controller upstream, I
> > would not care too much about any out-of-tree description and directly
> > go for a clean description.
> >  
> Excuse me, should I add a description for this property?

No, description is not needed. But you are allowing the
"loongson,ls1b-nfc" compatible alone, which I think is not relevant,
unless you convince me it is :-)

> > > +      - items:
> > > +          - enum:
> > > +              - loongson,ls1a-nfc
> > > +              - loongson,ls1c-nfc
> > > +          - const: loongson,ls1b-nfc
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  dmas:
> > > +    maxItems: 1
> > > +
> > > +  dma-names:
> > > +    const: rxtx
> > > +
> > > +patternProperties:
> > > +  "^nand@[0-3]$":
> > > +    type: object
> > > +    $ref: raw-nand-chip.yaml
> > > +
> > > +    unevaluatedProperties: false
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - dmas
> > > +  - dma-names  
> >
> > Should DMA props be required?
> >  
> Yes. This NAND controller only works with DMA, which means the DMA is necessary.

Ok

> 
> > > +
> > > +unevaluatedProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    nand-controller@1fe78000 {
> > > +        compatible = "loongson,ls1b-nfc";
> > > +        reg = <0x1fe78000 0x40>;
> > > +
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        dmas = <&dma 0>;
> > > +        dma-names = "rxtx";  
> >
> > There is a preferred spacing for DT nodes, see:
> > https://docs.kernel.org/devicetree/bindings/dts-coding-style.html
> >  
> Sorry. I don't get the meaning of preferred spacing.
> https://docs.kernel.org/devicetree/bindings/writing-schema.html says
> "For DTS examples in the schema, preferred is four-space indentation."
> Then I used four-space indentation.

I'm talking about the new lines (\n) between the properties.
 
> 
> > > +
> > > +        nand@0 {
> > > +            reg = <0>;
> > > +            nand-use-soft-ecc-engine;
> > > +            nand-ecc-algo = "hamming";  
> >
> > These two properties are not needed. Unless there is no hardware ECC
> > capability on this controller and in this case you need to ensure the
> > properties are present in the schema.  
> 
> Exactly. This NAND controller doesn't support hardware ECC.
> 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' are present in nand-chip.yaml.
> Is there anything else I should do?

Thry are in nand-chip.yaml, which means they are allowed, but I want
them mandatory:

required:
  - foo
  - bar

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2024-05-18 10:47 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-30 11:11 [PATCH v7 0/3] Add support for Loongson-1 NAND Keguang Zhang
2024-04-30 11:11 ` Keguang Zhang via B4 Relay
2024-04-30 11:11 ` Keguang Zhang via B4 Relay
2024-04-30 11:11 ` [PATCH v7 1/3] dt-bindings: mtd: Add Loongson-1 NAND Controller Keguang Zhang
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-05-06  7:14   ` Miquel Raynal
2024-05-06  7:14     ` Miquel Raynal
2024-05-18  8:01     ` Keguang Zhang
2024-05-18  8:01       ` Keguang Zhang
2024-05-18 10:47       ` Miquel Raynal [this message]
2024-05-18 10:47         ` Miquel Raynal
2024-06-06 10:53         ` Keguang Zhang
2024-06-06 10:53           ` Keguang Zhang
2024-06-06 21:33           ` Miquel Raynal
2024-06-06 21:33             ` Miquel Raynal
2024-06-07  2:36             ` Keguang Zhang
2024-06-07  2:36               ` Keguang Zhang
2024-04-30 11:11 ` [PATCH v7 2/3] mtd: rawnand: Enable monolithic read when reading subpages Keguang Zhang
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-05-06  7:17   ` Miquel Raynal
2024-05-06  7:17     ` Miquel Raynal
2024-05-20 10:42     ` Keguang Zhang
2024-05-20 10:42       ` Keguang Zhang
2024-05-20 15:33       ` Miquel Raynal
2024-05-20 15:33         ` Miquel Raynal
2024-08-01 10:06         ` Keguang Zhang
2024-08-01 10:06           ` Keguang Zhang
2024-04-30 11:11 ` [PATCH v7 3/3] mtd: rawnand: Add Loongson-1 NAND Controller driver Keguang Zhang
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-04-30 11:11   ` Keguang Zhang via B4 Relay
2024-05-06  7:59   ` Miquel Raynal
2024-05-06  7:59     ` Miquel Raynal
2024-08-01 10:53     ` Keguang Zhang
2024-08-01 10:53       ` Keguang Zhang
2024-08-12  7:46       ` Miquel Raynal
2024-08-12  7:46         ` 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=20240518124732.584f441d@xps-13 \
    --to=miquel.raynal@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=devnull+keguang.zhang.gmail.com@kernel.org \
    --cc=keguang.zhang@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.