* [PATCH v4 1/4] dt-bindings: mtd: raw-nand-chip: Relax node name pattern
2025-03-13 21:35 [PATCH v4 0/4] Freescale Enhanced Local Bus Controller (eLBC) binding YAML conversion J. Neuschäfer via B4 Relay
@ 2025-03-13 21:35 ` J. Neuschäfer via B4 Relay
2025-03-17 16:01 ` Rob Herring (Arm)
2025-03-13 21:35 ` [PATCH v4 2/4] dt-bindings: memory-controllers: Add fsl,elbc-gpcm-uio J. Neuschäfer via B4 Relay
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 21:35 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski,
Crystal Wood, Madhavan Srinivasan, Michael Ellerman,
Nicholas Piggin, Christophe Leroy, Naveen N Rao
Cc: Frank Li, linux-kernel, devicetree, linux-mtd, linuxppc-dev,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
In some scenarios, such as under the Freescale eLBC bus, there are raw
NAND chips with a unit address that has a comma in it (cs,offset).
For reasons of compatibility with historical device trees and
readability of the unit addresses, this format is kept.
Relax the $nodename pattern in raw-nand-chip.yaml to allow such unit
addresses. Unfortunately $nonenames defined in bindings that reference
raw-nand
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V4:
- reintroduce patch to silence dtc validation error, after discussion
with Rob Herring and Miquèl Raynal
- add some more detail to the commit message
- remove unit address format rather than extending it
(old pattern: "^nand@[a-f0-9](,[0-9a-f]*)?$")
V3:
- remove patch after discussion with Miquèl Raynal
V2:
- new patch
---
Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml b/Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml
index 092448d7bfc5ccd246ca4b2341464e18722a2d51..d655f6673fc31b1d9ee7cd734cbe1d310f88090b 100644
--- a/Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml
+++ b/Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml
@@ -25,7 +25,7 @@ description: |
properties:
$nodename:
- pattern: "^nand@[a-f0-9]$"
+ pattern: "^nand@"
reg:
description:
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v4 1/4] dt-bindings: mtd: raw-nand-chip: Relax node name pattern
2025-03-13 21:35 ` [PATCH v4 1/4] dt-bindings: mtd: raw-nand-chip: Relax node name pattern J. Neuschäfer via B4 Relay
@ 2025-03-17 16:01 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-03-17 16:01 UTC (permalink / raw)
To: J. Neuschäfer
Cc: Christophe Leroy, linux-kernel, linux-mtd, Crystal Wood,
Krzysztof Kozlowski, Madhavan Srinivasan, Nicholas Piggin,
Naveen N Rao, devicetree, Krzysztof Kozlowski, Michael Ellerman,
linuxppc-dev, Miquel Raynal, Richard Weinberger,
Vignesh Raghavendra, Conor Dooley, Frank Li
On Thu, 13 Mar 2025 22:35:44 +0100, J. Neuschäfer wrote:
> In some scenarios, such as under the Freescale eLBC bus, there are raw
> NAND chips with a unit address that has a comma in it (cs,offset).
> For reasons of compatibility with historical device trees and
> readability of the unit addresses, this format is kept.
>
> Relax the $nodename pattern in raw-nand-chip.yaml to allow such unit
> addresses. Unfortunately $nonenames defined in bindings that reference
> raw-nand
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> ---
>
> V4:
> - reintroduce patch to silence dtc validation error, after discussion
> with Rob Herring and Miquèl Raynal
> - add some more detail to the commit message
> - remove unit address format rather than extending it
> (old pattern: "^nand@[a-f0-9](,[0-9a-f]*)?$")
>
> V3:
> - remove patch after discussion with Miquèl Raynal
>
> V2:
> - new patch
> ---
> Documentation/devicetree/bindings/mtd/raw-nand-chip.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 2/4] dt-bindings: memory-controllers: Add fsl,elbc-gpcm-uio
2025-03-13 21:35 [PATCH v4 0/4] Freescale Enhanced Local Bus Controller (eLBC) binding YAML conversion J. Neuschäfer via B4 Relay
2025-03-13 21:35 ` [PATCH v4 1/4] dt-bindings: mtd: raw-nand-chip: Relax node name pattern J. Neuschäfer via B4 Relay
@ 2025-03-13 21:35 ` J. Neuschäfer via B4 Relay
2025-03-13 21:35 ` [PATCH v4 3/4] dt-bindings: nand: Add fsl,elbc-fcm-nand J. Neuschäfer via B4 Relay
2025-03-13 21:35 ` [PATCH v4 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML J. Neuschäfer via B4 Relay
3 siblings, 0 replies; 8+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 21:35 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski,
Crystal Wood, Madhavan Srinivasan, Michael Ellerman,
Nicholas Piggin, Christophe Leroy, Naveen N Rao
Cc: Frank Li, linux-kernel, devicetree, linux-mtd, linuxppc-dev,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
Formalize the binding already supported by the uio_fsl_elbc_gpcm.c
driver.
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V4:
- no changes
V3:
- add review tags
V2:
- split out from fsl,elbc patch
- add description
- remove "device_type" property
- move to bindings/memory-controllers
---
.../memory-controllers/fsl,elbc-gpcm-uio.yaml | 59 ++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/Documentation/devicetree/bindings/memory-controllers/fsl,elbc-gpcm-uio.yaml b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc-gpcm-uio.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..381584b400a0ad98c6d9e0b38f2877d44603ed84
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc-gpcm-uio.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/memory-controllers/fsl,elbc-gpcm-uio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Userspace I/O interface for Freescale eLBC devices
+
+description:
+ The Freescale Enhanced Local Bus controller (eLBC) supports flexible access
+ to memory devices, through the General-Purpose Chip-select Machine (GPCM).
+ The purpose of this binding is to designate devices attached to eLBC/GPMC for
+ use by userspace.
+
+maintainers:
+ - J. Neuschäfer <j.ne@posteo.net>
+
+properties:
+ compatible:
+ const: fsl,elbc-gpcm-uio
+
+ reg:
+ maxItems: 1
+
+ elbc-gpcm-br:
+ description: Base Register (BR) value to set
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ elbc-gpcm-or:
+ description: Option Register (OR) value to set
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ interrupts:
+ maxItems: 1
+
+ uio_name:
+ $ref: /schemas/types.yaml#/definitions/string
+
+required:
+ - compatible
+ - reg
+ - elbc-gpcm-br
+ - elbc-gpcm-or
+
+additionalProperties: false
+
+examples:
+ - |
+ localbus {
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+ simple-periph@2,0 {
+ compatible = "fsl,elbc-gpcm-uio";
+ reg = <0x2 0x0 0x10000>;
+ elbc-gpcm-br = <0xfd810800>;
+ elbc-gpcm-or = <0xffff09f7>;
+ };
+ };
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v4 3/4] dt-bindings: nand: Add fsl,elbc-fcm-nand
2025-03-13 21:35 [PATCH v4 0/4] Freescale Enhanced Local Bus Controller (eLBC) binding YAML conversion J. Neuschäfer via B4 Relay
2025-03-13 21:35 ` [PATCH v4 1/4] dt-bindings: mtd: raw-nand-chip: Relax node name pattern J. Neuschäfer via B4 Relay
2025-03-13 21:35 ` [PATCH v4 2/4] dt-bindings: memory-controllers: Add fsl,elbc-gpcm-uio J. Neuschäfer via B4 Relay
@ 2025-03-13 21:35 ` J. Neuschäfer via B4 Relay
2025-03-17 16:03 ` Rob Herring (Arm)
2025-03-13 21:35 ` [PATCH v4 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML J. Neuschäfer via B4 Relay
3 siblings, 1 reply; 8+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 21:35 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski,
Crystal Wood, Madhavan Srinivasan, Michael Ellerman,
Nicholas Piggin, Christophe Leroy, Naveen N Rao
Cc: Frank Li, linux-kernel, devicetree, linux-mtd, linuxppc-dev,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.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@nxp.com>
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V4:
- no changes
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
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v4 3/4] dt-bindings: nand: Add fsl,elbc-fcm-nand
2025-03-13 21:35 ` [PATCH v4 3/4] dt-bindings: nand: Add fsl,elbc-fcm-nand J. Neuschäfer via B4 Relay
@ 2025-03-17 16:03 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-03-17 16:03 UTC (permalink / raw)
To: J. Neuschäfer
Cc: Madhavan Srinivasan, Nicholas Piggin, Miquel Raynal, Naveen N Rao,
Frank Li, linux-kernel, linux-mtd, Conor Dooley,
Krzysztof Kozlowski, Vignesh Raghavendra, Christophe Leroy,
devicetree, Krzysztof Kozlowski, Michael Ellerman,
Richard Weinberger, Crystal Wood, linuxppc-dev
On Thu, 13 Mar 2025 22:35:46 +0100, J. Neuschäfer wrote:
> 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 <j.ne@posteo.net>
> ---
>
> V4:
> - no changes
>
> 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(+)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML
2025-03-13 21:35 [PATCH v4 0/4] Freescale Enhanced Local Bus Controller (eLBC) binding YAML conversion J. Neuschäfer via B4 Relay
` (2 preceding siblings ...)
2025-03-13 21:35 ` [PATCH v4 3/4] dt-bindings: nand: Add fsl,elbc-fcm-nand J. Neuschäfer via B4 Relay
@ 2025-03-13 21:35 ` J. Neuschäfer via B4 Relay
2025-03-13 22:51 ` Rob Herring (Arm)
3 siblings, 1 reply; 8+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 21:35 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski,
Crystal Wood, Madhavan Srinivasan, Michael Ellerman,
Nicholas Piggin, Christophe Leroy, Naveen N Rao
Cc: Frank Li, linux-kernel, devicetree, linux-mtd, linuxppc-dev,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
Convert the Freescale localbus controller bindings from text form to
YAML. Compared to the .txt version, the YAML binding contains a new
usage example with FCM NAND flash, and a full list of compatible strings
based on current usage in arch/powerpc/boot/dts/.
Note that the both the compatible strings and the unit address format
are kept as-is, for compatibility with existing kernels and device
trees, as well as unit address readability. This results in dts
validation warnings:
Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0:
simple-bus unit address format error, expected "100000000"
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V4:
- no changes
V3:
- move this patch after the GPCM/FCM patches to dtschema/dtc warnings
due to missing bindings for fsl,elbc-gpcm-uio and fsl,elbc-fcm-nand
- add "simple-bus" again, for compatibility with existing DTs/drivers
based on discussion with Crystal Wood and Rob Herring
- fix fsl,pq2-localbus compatible properties based on mgcoge.dts / ep8248e.dts
(was missing "simple-bus")
- add board-control (bcsr) example again, now using the compatible
string listed in Documentation/devicetree/bindings/board/fsl,bcsr.yaml
- remove interrupt-parent property from example
- rework the commit message
V2:
- fix order of properties in examples, according to dts coding style
- move to Documentation/devicetree/bindings/memory-controllers
- clarify the commit message a tiny bit
- remove unnecessary multiline markers (|)
- define address format in patternProperties
- trim subject line (remove "binding")
- remove use of "simple-bus", because it's technically incorrect
---
.../bindings/memory-controllers/fsl,elbc.yaml | 158 +++++++++++++++++++++
.../devicetree/bindings/powerpc/fsl/lbc.txt | 43 ------
2 files changed, 158 insertions(+), 43 deletions(-)
diff --git a/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..620d7e7c62df35c754a01498391d35ede03cdf87
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml
@@ -0,0 +1,158 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/memory-controllers/fsl,elbc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale Enhanced Local Bus Controller
+
+maintainers:
+ - J. Neuschäfer <j.ne@posteo.net>
+
+properties:
+ $nodename:
+ pattern: "^localbus@[0-9a-f]+$"
+
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - fsl,mpc8313-elbc
+ - fsl,mpc8315-elbc
+ - fsl,mpc8377-elbc
+ - fsl,mpc8378-elbc
+ - fsl,mpc8379-elbc
+ - fsl,mpc8536-elbc
+ - fsl,mpc8569-elbc
+ - fsl,mpc8572-elbc
+ - fsl,p1020-elbc
+ - fsl,p1021-elbc
+ - fsl,p1023-elbc
+ - fsl,p2020-elbc
+ - fsl,p2041-elbc
+ - fsl,p3041-elbc
+ - fsl,p4080-elbc
+ - fsl,p5020-elbc
+ - fsl,p5040-elbc
+ - const: fsl,elbc
+ - const: simple-bus
+
+ - items:
+ - enum:
+ - fsl,mpc8247-localbus
+ - fsl,mpc8248-localbus
+ - fsl,mpc8272-localbus
+ - const: fsl,pq2-localbus
+ - const: simple-bus
+
+ - items:
+ - enum:
+ - fsl,mpc8247-localbus
+ - fsl,mpc8248-localbus
+ - fsl,mpc8360-localbus
+ - const: fsl,pq2pro-localbus
+ - const: simple-bus
+
+ - items:
+ - enum:
+ - fsl,mpc8540-localbus
+ - fsl,mpc8544-lbc
+ - fsl,mpc8544-localbus
+ - fsl,mpc8548-lbc
+ - fsl,mpc8548-localbus
+ - fsl,mpc8560-localbus
+ - fsl,mpc8568-localbus
+ - const: fsl,pq3-localbus
+ - const: simple-bus
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ "#address-cells":
+ enum: [2, 3]
+ description:
+ The first cell is the chipselect number, and the remaining cells are the
+ offset into the chipselect.
+
+ "#size-cells":
+ enum: [1, 2]
+ description:
+ Either one or two, depending on how large each chipselect can be.
+
+ ranges:
+ description:
+ Each range corresponds to a single chipselect, and covers the entire
+ access window as configured.
+
+patternProperties:
+ # format: name@chipselect,address
+ "^.*@[0-9a-f]+,[0-9a-f]+$":
+ type: object
+
+additionalProperties: false
+
+examples:
+ - |
+ localbus@f0010100 {
+ compatible = "fsl,mpc8272-localbus",
+ "fsl,pq2-localbus",
+ "simple-bus";
+ reg = <0xf0010100 0x40>;
+ ranges = <0x0 0x0 0xfe000000 0x02000000
+ 0x1 0x0 0xf4500000 0x00008000
+ 0x2 0x0 0xfd810000 0x00010000>;
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+ flash@0,0 {
+ compatible = "jedec-flash";
+ reg = <0x0 0x0 0x2000000>;
+ bank-width = <4>;
+ device-width = <1>;
+ };
+
+ board-control@1,0 {
+ reg = <0x1 0x0 0x20>;
+ compatible = "fsl,mpc8360mds-bcsr";
+ };
+
+ simple-periph@2,0 {
+ compatible = "fsl,elbc-gpcm-uio";
+ reg = <0x2 0x0 0x10000>;
+ elbc-gpcm-br = <0xfd810800>;
+ elbc-gpcm-or = <0xffff09f7>;
+ };
+ };
+
+ - |
+ localbus@e0005000 {
+ compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus";
+ reg = <0xe0005000 0x1000>;
+ ranges = <0x0 0x0 0xfe000000 0x00800000
+ 0x1 0x0 0xe0600000 0x00002000
+ 0x2 0x0 0xf0000000 0x00020000
+ 0x3 0x0 0xfa000000 0x00008000>;
+ #address-cells = <2>;
+ #size-cells = <1>;
+ interrupts = <77 0x8>;
+
+ flash@0,0 {
+ compatible = "cfi-flash";
+ reg = <0x0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ bank-width = <2>;
+ device-width = <1>;
+ };
+
+ nand@1,0 {
+ compatible = "fsl,mpc8315-fcm-nand",
+ "fsl,elbc-fcm-nand";
+ reg = <0x1 0x0 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt b/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
deleted file mode 100644
index 1c80fcedebb52049721fbd61c4dd4c57133bd47c..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-* Chipselect/Local Bus
-
-Properties:
-- name : Should be localbus
-- #address-cells : Should be either two or three. The first cell is the
- chipselect number, and the remaining cells are the
- offset into the chipselect.
-- #size-cells : Either one or two, depending on how large each chipselect
- can be.
-- ranges : Each range corresponds to a single chipselect, and cover
- the entire access window as configured.
-
-Example:
- localbus@f0010100 {
- compatible = "fsl,mpc8272-localbus",
- "fsl,pq2-localbus";
- #address-cells = <2>;
- #size-cells = <1>;
- reg = <0xf0010100 0x40>;
-
- ranges = <0x0 0x0 0xfe000000 0x02000000
- 0x1 0x0 0xf4500000 0x00008000
- 0x2 0x0 0xfd810000 0x00010000>;
-
- flash@0,0 {
- compatible = "jedec-flash";
- reg = <0x0 0x0 0x2000000>;
- bank-width = <4>;
- device-width = <1>;
- };
-
- board-control@1,0 {
- reg = <0x1 0x0 0x20>;
- compatible = "fsl,mpc8272ads-bcsr";
- };
-
- simple-periph@2,0 {
- compatible = "fsl,elbc-gpcm-uio";
- reg = <0x2 0x0 0x10000>;
- elbc-gpcm-br = <0xfd810800>;
- elbc-gpcm-or = <0xffff09f7>;
- };
- };
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v4 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML
2025-03-13 21:35 ` [PATCH v4 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML J. Neuschäfer via B4 Relay
@ 2025-03-13 22:51 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-03-13 22:51 UTC (permalink / raw)
To: J. Neuschäfer
Cc: Nicholas Piggin, Miquel Raynal, Michael Ellerman,
Krzysztof Kozlowski, Vignesh Raghavendra, Richard Weinberger,
Krzysztof Kozlowski, Crystal Wood, Naveen N Rao, devicetree,
Christophe Leroy, linuxppc-dev, Frank Li, linux-kernel, linux-mtd,
Madhavan Srinivasan, Conor Dooley
On Thu, 13 Mar 2025 22:35:47 +0100, J. Neuschäfer wrote:
> Convert the Freescale localbus controller bindings from text form to
> YAML. Compared to the .txt version, the YAML binding contains a new
> usage example with FCM NAND flash, and a full list of compatible strings
> based on current usage in arch/powerpc/boot/dts/.
>
> Note that the both the compatible strings and the unit address format
> are kept as-is, for compatibility with existing kernels and device
> trees, as well as unit address readability. This results in dts
> validation warnings:
>
> Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0:
> simple-bus unit address format error, expected "100000000"
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> ---
>
> V4:
> - no changes
>
> V3:
> - move this patch after the GPCM/FCM patches to dtschema/dtc warnings
> due to missing bindings for fsl,elbc-gpcm-uio and fsl,elbc-fcm-nand
> - add "simple-bus" again, for compatibility with existing DTs/drivers
> based on discussion with Crystal Wood and Rob Herring
> - fix fsl,pq2-localbus compatible properties based on mgcoge.dts / ep8248e.dts
> (was missing "simple-bus")
> - add board-control (bcsr) example again, now using the compatible
> string listed in Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> - remove interrupt-parent property from example
> - rework the commit message
>
> V2:
> - fix order of properties in examples, according to dts coding style
> - move to Documentation/devicetree/bindings/memory-controllers
> - clarify the commit message a tiny bit
> - remove unnecessary multiline markers (|)
> - define address format in patternProperties
> - trim subject line (remove "binding")
> - remove use of "simple-bus", because it's technically incorrect
> ---
> .../bindings/memory-controllers/fsl,elbc.yaml | 158 +++++++++++++++++++++
> .../devicetree/bindings/powerpc/fsl/lbc.txt | 43 ------
> 2 files changed, 158 insertions(+), 43 deletions(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:29.23-34.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/flash@0,0: simple-bus unit address format error, expected "0"
Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:36.31-39.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0: simple-bus unit address format error, expected "100000000"
Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:41.31-46.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/simple-periph@2,0: simple-bus unit address format error, expected "200000000"
Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:82.23-89.15: Warning (simple_bus_reg): /example-1/localbus@e0005000/flash@0,0: simple-bus unit address format error, expected "0"
Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:91.22-97.15: Warning (simple_bus_reg): /example-1/localbus@e0005000/nand@1,0: simple-bus unit address format error, expected "100000000"
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/display/ssd1289fb.txt references a file that doesn't exist: Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
Documentation/devicetree/bindings/display/ssd1289fb.txt: Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250313-ppcyaml-elbc-v4-4-55903722d9ea@posteo.net
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 8+ messages in thread