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 v8:
- Add a description part.
- Adjust the compatible because the match data for ls1c-nfc differs from ls1b-nfc.
- Mark 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' as mandatory.
- Delete the superfluous blank lines.
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 | 75 ++++++++++++++++++++++
1 file changed, 75 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..7ce335324a29
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
@@ -0,0 +1,75 @@
+# 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>
+
+description: |
+ The Loongson-1 NAND controller abstracts all supported operations,
+ meaning it does not support low-level access to raw NAND flash chips.
+ Moreover, the controller is paired with the DMA engine to perform
+ READ and PROGRAM functions.
+
+allOf:
+ - $ref: nand-controller.yaml
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - loongson,ls1b-nfc
+ - loongson,ls1c-nfc
+ - items:
+ - enum:
+ - loongson,ls1a-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
+
+ required:
+ - nand-use-soft-ecc-engine
+ - nand-ecc-algo
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - dmas
+ - dma-names
+
+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";
+
+ nand@0 {
+ reg = <0>;
+ nand-use-soft-ecc-engine;
+ nand-ecc-algo = "hamming";
+ };
+ };
--
2.43.0
On Thu, Aug 08, 2024 at 07:22:19PM +0800, Keguang Zhang via B4 Relay wrote:
> 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 v8:
> - Add a description part.
> - Adjust the compatible because the match data for ls1c-nfc differs from ls1b-nfc.
> - Mark 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' as mandatory.
> - Delete the superfluous blank lines.
>
> 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 | 75 ++++++++++++++++++++++
> 1 file changed, 75 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..7ce335324a29
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
When I first read "nfc" here I thought it was a copy-paste mistake, as
"nfc" is a technology of it's own. I think it would make sense to rename
to "loongson,ls1b-nand-controller" etc to remove that sort of confusion.
These devices might not implement NFC, but what's to say that a future
device will not?
Cheers,
Conor.
> @@ -0,0 +1,75 @@
> +# 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>
> +
> +description: |
This | is not needed.
> + The Loongson-1 NAND controller abstracts all supported operations,
> + meaning it does not support low-level access to raw NAND flash chips.
> + Moreover, the controller is paired with the DMA engine to perform
> + READ and PROGRAM functions.
> +
> +allOf:
> + - $ref: nand-controller.yaml
> +
> +properties:
> + compatible:
> + oneOf:
> + - enum:
> + - loongson,ls1b-nfc
> + - loongson,ls1c-nfc
> + - items:
> + - enum:
> + - loongson,ls1a-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
> +
> + required:
> + - nand-use-soft-ecc-engine
> + - nand-ecc-algo
> +
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - dmas
> + - dma-names
> +
> +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";
> +
> + nand@0 {
> + reg = <0>;
> + nand-use-soft-ecc-engine;
> + nand-ecc-algo = "hamming";
> + };
> + };
>
> --
> 2.43.0
>
>
On Thu, Aug 8, 2024 at 11:37 PM Conor Dooley <conor@kernel.org> wrote:
>
> On Thu, Aug 08, 2024 at 07:22:19PM +0800, Keguang Zhang via B4 Relay wrote:
> > 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 v8:
> > - Add a description part.
> > - Adjust the compatible because the match data for ls1c-nfc differs from ls1b-nfc.
> > - Mark 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' as mandatory.
> > - Delete the superfluous blank lines.
> >
> > 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 | 75 ++++++++++++++++++++++
> > 1 file changed, 75 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..7ce335324a29
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml
>
> When I first read "nfc" here I thought it was a copy-paste mistake, as
> "nfc" is a technology of it's own. I think it would make sense to rename
> to "loongson,ls1b-nand-controller" etc to remove that sort of confusion.
> These devices might not implement NFC, but what's to say that a future
> device will not?
>
Sorry for the confusion.
The string "loongson,ls1b-nand-controller" might be too long.
May I rename it to "loongson,ls1b-nand"?
> Cheers,
> Conor.
>
> > @@ -0,0 +1,75 @@
> > +# 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>
> > +
> > +description: |
>
> This | is not needed.
>
Will remove |.
Thanks!
> > + The Loongson-1 NAND controller abstracts all supported operations,
> > + meaning it does not support low-level access to raw NAND flash chips.
> > + Moreover, the controller is paired with the DMA engine to perform
> > + READ and PROGRAM functions.
> > +
> > +allOf:
> > + - $ref: nand-controller.yaml
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - enum:
> > + - loongson,ls1b-nfc
> > + - loongson,ls1c-nfc
> > + - items:
> > + - enum:
> > + - loongson,ls1a-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
> > +
> > + required:
> > + - nand-use-soft-ecc-engine
> > + - nand-ecc-algo
> > +
> > + unevaluatedProperties: false
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - dmas
> > + - dma-names
> > +
> > +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";
> > +
> > + nand@0 {
> > + reg = <0>;
> > + nand-use-soft-ecc-engine;
> > + nand-ecc-algo = "hamming";
> > + };
> > + };
> >
> > --
> > 2.43.0
> >
> >
--
Best regards,
Keguang Zhang
On Fri, Aug 09, 2024 at 02:47:53PM +0800, Keguang Zhang wrote: > On Thu, Aug 8, 2024 at 11:37 PM Conor Dooley <conor@kernel.org> wrote: > > > > On Thu, Aug 08, 2024 at 07:22:19PM +0800, Keguang Zhang via B4 Relay wrote: > > > 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 v8: > > > - Add a description part. > > > - Adjust the compatible because the match data for ls1c-nfc differs from ls1b-nfc. > > > - Mark 'nand-use-soft-ecc-engine' and 'nand-ecc-algo' as mandatory. > > > - Delete the superfluous blank lines. > > > > > > 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 | 75 ++++++++++++++++++++++ > > > 1 file changed, 75 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..7ce335324a29 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/mtd/loongson,ls1b-nfc.yaml > > > > When I first read "nfc" here I thought it was a copy-paste mistake, as > > "nfc" is a technology of it's own. I think it would make sense to rename > > to "loongson,ls1b-nand-controller" etc to remove that sort of confusion. > > These devices might not implement NFC, but what's to say that a future > > device will not? > > > Sorry for the confusion. > The string "loongson,ls1b-nand-controller" might be too long. It "might"? Why do you think it is too long? > May I rename it to "loongson,ls1b-nand"? Sure.
Hi, > > > When I first read "nfc" here I thought it was a copy-paste mistake, as > > > "nfc" is a technology of it's own. I think it would make sense to rename > > > to "loongson,ls1b-nand-controller" etc to remove that sort of confusion. > > > These devices might not implement NFC, but what's to say that a future > > > device will not? I believe the nfc (also, nc) abbreviation pre-dates the NFC spec. But I agree, it may be misleading. Even though I don't foresee any NAND controller with NFC coming, it's probably bad for newcomers/people who are not already deeply into the mtd details to use these confusing letters, especially in a binding. So, Ack. > > Sorry for the confusion. > > The string "loongson,ls1b-nand-controller" might be too long. > > It "might"? Why do you think it is too long? Yeah, why would it be too long? Let's call a cat a cat. This is a compatible for a NAND controller. So I expect the string to mention it's a NAND controller because it's clearer. For quite some time there has been a confusion between the NAND controller and the NAND flash/chip, but these are two different hardware components. > > May I rename it to "loongson,ls1b-nand"? For the above reason, no :) Thanks, Miquèl
On Wed, Aug 14, 2024 at 3:12 PM Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Hi, > > > > > When I first read "nfc" here I thought it was a copy-paste mistake, as > > > > "nfc" is a technology of it's own. I think it would make sense to rename > > > > to "loongson,ls1b-nand-controller" etc to remove that sort of confusion. > > > > These devices might not implement NFC, but what's to say that a future > > > > device will not? > > I believe the nfc (also, nc) abbreviation pre-dates the NFC spec. But I > agree, it may be misleading. Even though I don't foresee any NAND > controller with NFC coming, it's probably bad for newcomers/people who > are not already deeply into the mtd details to use these confusing > letters, especially in a binding. > > So, Ack. > > > > Sorry for the confusion. > > > The string "loongson,ls1b-nand-controller" might be too long. > > > > It "might"? Why do you think it is too long? > > Yeah, why would it be too long? Let's call a cat a cat. This is a > compatible for a NAND controller. So I expect the string to mention > it's a NAND controller because it's clearer. For quite some time there > has been a confusion between the NAND controller and the NAND > flash/chip, but these are two different hardware components. > > > > May I rename it to "loongson,ls1b-nand"? > > For the above reason, no :) Will change it to "loongson,ls1b-nand-controller" and rename the filename accordingly. Thanks! > > Thanks, > Miquèl -- Best regards, Keguang Zhang
On Wed, Aug 14, 2024 at 09:12:31AM +0200, Miquel Raynal wrote: > Hi, > > > > > When I first read "nfc" here I thought it was a copy-paste mistake, as > > > > "nfc" is a technology of it's own. I think it would make sense to rename > > > > to "loongson,ls1b-nand-controller" etc to remove that sort of confusion. > > > > These devices might not implement NFC, but what's to say that a future > > > > device will not? > > I believe the nfc (also, nc) abbreviation pre-dates the NFC spec. But I > agree, it may be misleading. Even though I don't foresee any NAND > controller with NFC coming, Hm, I think you misunderstood - I meant loongsoon SoCs that had nfc controllers and nand controllers - not nand controllers with nfc!
Hi Conor, conor@kernel.org wrote on Wed, 14 Aug 2024 15:23:23 +0100: > On Wed, Aug 14, 2024 at 09:12:31AM +0200, Miquel Raynal wrote: > > Hi, > > > > > > > When I first read "nfc" here I thought it was a copy-paste mistake, as > > > > > "nfc" is a technology of it's own. I think it would make sense to rename > > > > > to "loongson,ls1b-nand-controller" etc to remove that sort of confusion. > > > > > These devices might not implement NFC, but what's to say that a future > > > > > device will not? > > > > I believe the nfc (also, nc) abbreviation pre-dates the NFC spec. But I > > agree, it may be misleading. Even though I don't foresee any NAND > > controller with NFC coming, > > Hm, I think you misunderstood - I meant loongsoon SoCs that had nfc > controllers and nand controllers - not nand controllers with nfc! Ah! Well, yes, it may be even more misleading then :-) Cheers, Miquèl
© 2016 - 2026 Red Hat, Inc.