[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250226-ppcyaml-elbc-v3-2-a90ed71da838@posteo.net>
Date: Wed, 26 Feb 2025 18:01:41 +0100
From: J. Neuschäfer via B4 Relay <devnull+j.ne.posteo.net@...nel.org>
To: Krzysztof Kozlowski <krzk@...nel.org>, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Richard Weinberger <richard@....at>, Vignesh Raghavendra <vigneshr@...com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Crystal Wood <oss@...error.net>,
Madhavan Srinivasan <maddy@...ux.ibm.com>,
Michael Ellerman <mpe@...erman.id.au>, Nicholas Piggin <npiggin@...il.com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Naveen N Rao <naveen@...nel.org>
Cc: linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-mtd@...ts.infradead.org, linuxppc-dev@...ts.ozlabs.org,
J. Neuschäfer <j.ne@...teo.net>,
Frank Li <Frank.Li@....com>
Subject: [PATCH v3 2/3] dt-bindings: nand: Add fsl,elbc-fcm-nand
From: "J. Neuschäfer" <j.ne@...teo.net>
Formalize the binding already supported by the fsl_elbc_nand.c driver
and used in several device trees in arch/powerpc/boot/dts/.
raw-nand-chip.yaml is referenced in order to accommodate situations in
which the ECC parameters settings are set in the device tree. One such
example is in arch/powerpc/boot/dts/turris1x.dts:
/* MT29F2G08ABAEAWP:E NAND */
nand@1,0 {
compatible = "fsl,p2020-fcm-nand", "fsl,elbc-fcm-nand";
reg = <0x1 0x0 0x00040000>;
nand-ecc-mode = "soft";
nand-ecc-algo = "bch";
partitions { ... };
};
Reviewed-by: Frank Li <Frank.Li@....com>
Signed-off-by: J. Neuschäfer <j.ne@...teo.net>
---
V3:
- remove unnecessary #address/size-cells from nand node in example
- add Frank Li's review tag
- add missing end of document marker (...)
- explain choice to reference raw-nand-chip.yaml
V2:
- split out from fsl,elbc binding patch
- constrain #address-cells and #size-cells
- add a general description
- use unevaluatedProperties=false instead of additionalProperties=false
- fix property order to comply with dts coding style
- include raw-nand-chip.yaml instead of nand-chip.yaml
---
.../devicetree/bindings/mtd/fsl,elbc-fcm-nand.yaml | 68 ++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/Documentation/devicetree/bindings/mtd/fsl,elbc-fcm-nand.yaml b/Documentation/devicetree/bindings/mtd/fsl,elbc-fcm-nand.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..91e8f2f9ff26da0f5a3f9bf276955ed32e9e7bc6
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/fsl,elbc-fcm-nand.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/fsl,elbc-fcm-nand.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NAND flash attached to Freescale eLBC
+
+description:
+ The Freescale Enhanced Local Bus controller (eLBC) contains logic to
+ interface with NAND flash, called the NAND Flash Control Machine (FCM).
+ This binding describes flash attached to an eLBC using the FCM.
+
+maintainers:
+ - J. Neuschäfer <j.ne@...teo.net>
+
+allOf:
+ - $ref: raw-nand-chip.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - fsl,mpc8313-fcm-nand
+ - fsl,mpc8315-fcm-nand
+ - fsl,mpc8377-fcm-nand
+ - fsl,mpc8378-fcm-nand
+ - fsl,mpc8379-fcm-nand
+ - fsl,mpc8536-fcm-nand
+ - fsl,mpc8569-fcm-nand
+ - fsl,mpc8572-fcm-nand
+ - fsl,p1020-fcm-nand
+ - fsl,p1021-fcm-nand
+ - fsl,p1025-fcm-nand
+ - fsl,p2020-fcm-nand
+ - const: fsl,elbc-fcm-nand
+ - const: fsl,elbc-fcm-nand
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ localbus {
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+ nand@1,0 {
+ compatible = "fsl,mpc8315-fcm-nand",
+ "fsl,elbc-fcm-nand";
+ reg = <0x1 0x0 0x2000>;
+ };
+ };
+
+...
--
2.48.0.rc1.219.gb6b6757d772
Powered by blists - more mailing lists