[PATCH v3 2/3] dt-bindings: nand: Add fsl,elbc-fcm-nand
From: J. Neuschäfer via B4 Relay <devnull+j.ne.posteo.net@kernel.org>
Date: 2025-02-26 17:01:47
Also in:
b4-sent, linux-devicetree, lkml
Subsystem:
memory technology devices (mtd), open firmware and flattened device tree bindings, the rest · Maintainers:
Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
From: "J. Neuschäfer" <redacted>
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@nxp.com>
Signed-off-by: J. Neuschäfer <redacted>
---
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@posteo.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