All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30  0:53 ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Add YAML scheme for the Marvell's NAND controller
to validate it's DT bindings. Old txt file is deleted,
not included the compatibles and properties which were marked as
deprecated.

Also fix node name in cp11x DTSI acording to nand-controller.yaml

I've picked up this series to hopefully get it over the line. I think I've
addressed all the feedback from the last round of review.

Vadym Kochan (2):
  dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  arm64: dts: marvell: cp11x: Fix nand_controller node name according to
    YAML

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 4 files changed, 191 insertions(+), 128 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

-- 
2.40.1


^ permalink raw reply	[flat|nested] 42+ messages in thread

* [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30  0:53 ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Add YAML scheme for the Marvell's NAND controller
to validate it's DT bindings. Old txt file is deleted,
not included the compatibles and properties which were marked as
deprecated.

Also fix node name in cp11x DTSI acording to nand-controller.yaml

I've picked up this series to hopefully get it over the line. I think I've
addressed all the feedback from the last round of review.

Vadym Kochan (2):
  dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  arm64: dts: marvell: cp11x: Fix nand_controller node name according to
    YAML

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 4 files changed, 191 insertions(+), 128 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

-- 
2.40.1


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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30  0:53 ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Add YAML scheme for the Marvell's NAND controller
to validate it's DT bindings. Old txt file is deleted,
not included the compatibles and properties which were marked as
deprecated.

Also fix node name in cp11x DTSI acording to nand-controller.yaml

I've picked up this series to hopefully get it over the line. I think I've
addressed all the feedback from the last round of review.

Vadym Kochan (2):
  dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  arm64: dts: marvell: cp11x: Fix nand_controller node name according to
    YAML

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 4 files changed, 191 insertions(+), 128 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

-- 
2.40.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30  0:53 ` Chris Packham
  (?)
@ 2023-05-30  0:53   ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Switch the DT binding to a YAML schema to enable the DT validation.

Dropped deprecated compatibles and properties described in txt file.

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---

Notes:
    Changes in v6:
    - remove properties covered by nand-controller.yaml
    - add example using armada-8k compatible
    
    earlier changes:
    
    v5:
       1) Get back "label" and "partitions" properties but without
          ref to the "partition.yaml" which was wrongly used.
    
       2) Add "additionalProperties: false" for nand@ because all possible
          properties are described.
    
    v4:
       1) Remove "label" and "partitions" properties
    
       2) Use 2 clocks for A7K/8K platform which is a requirement
    
    v3:
      1) Remove txt version from the MAINTAINERS list
    
      2) Use enum for some of compatible strings
    
      3) Drop:
            #address-cells
            #size-cells:
    
         as they are inherited from the nand-controller.yaml
    
      4) Add restriction to use 2 clocks for A8K SoC
    
      5) Dropped description for clock-names and extend it with
         minItems: 1
    
      6) Drop description for "dmas"
    
      7) Use "unevalautedProperties: false"
    
      8) Drop quites from yaml refs.
    
      9) Use 4-space indentation for the example section
    
    v2:
      1) Fixed warning by yamllint with incorrect indentation for compatible list

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 3 files changed, 190 insertions(+), 127 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
new file mode 100644
index 000000000000..c4b003f5fa9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,190 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell NAND Flash Controller (NFC)
+
+maintainers:
+  - Miquel Raynal <miquel.raynal@bootlin.com>
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: marvell,armada-8k-nand-controller
+          - const: marvell,armada370-nand-controller
+      - enum:
+          - marvell,armada370-nand-controller
+          - marvell,pxa3xx-nand-controller
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description:
+      Shall reference the NAND controller clocks, the second one is
+      is only needed for the Armada 7K/8K SoCs
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - const: rxtx
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minimum: 0
+        maximum: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8]
+
+      marvell,nand-keep-config:
+        description: |
+          Orders the driver not to take the timings from the core and
+          leaving them completely untouched. Bootloader timings will then
+          be used.
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      marvell,nand-enable-arbiter:
+        description: |
+          To enable the arbiter, all boards blindly used it,
+          this bit was set by the bootloader for many boards and even if
+          it is marked reserved in several datasheets, it might be needed to set
+          it (otherwise it is harmless) so whether or not this property is set,
+          the bit is selected by the driver.
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    required:
+      - reg
+      - nand-rb
+
+allOf:
+  - $ref: nand-controller.yaml
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,pxa3xx-nand-controller
+    then:
+      required:
+        - dmas
+        - dma-names
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,armada-8k-nand-controller
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 2
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+    else:
+      properties:
+        clocks:
+          maxItems: 1
+
+        clock-names:
+          maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    nand_controller: nand-controller@d0000 {
+        compatible = "marvell,armada370-nand-controller";
+        reg = <0xd0000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&coredivclk 0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+            nand-on-flash-bbt;
+            nand-ecc-strength = <4>;
+            nand-ecc-step-size = <512>;
+
+            partitions {
+                compatible = "fixed-partitions";
+                #address-cells = <1>;
+                #size-cells = <1>;
+
+                partition@0 {
+                    label = "Rootfs";
+                    reg = <0x00000000 0x40000000>;
+                };
+            };
+        };
+    };
+
+  - |
+    cp0_nand_controller: nand-controller@720000 {
+        compatible = "marvell,armada-8k-nand-controller",
+                "marvell,armada370-nand-controller";
+        reg = <0x720000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
+        clock-names = "core", "reg";
+        clocks = <&cp0_clk 1 2>,
+                 <&cp0_clk 1 17>;
+        marvell,system-controller = <&cp0_syscon0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            nand-ecc-strength = <8>;
+            nand-ecc-step-size = <512>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mtd/marvell-nand.txt b/Documentation/devicetree/bindings/mtd/marvell-nand.txt
deleted file mode 100644
index a2d9a0f2b683..000000000000
--- a/Documentation/devicetree/bindings/mtd/marvell-nand.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-Marvell NAND Flash Controller (NFC)
-
-Required properties:
-- compatible: can be one of the following:
-    * "marvell,armada-8k-nand-controller"
-    * "marvell,armada370-nand-controller"
-    * "marvell,pxa3xx-nand-controller"
-    * "marvell,armada-8k-nand" (deprecated)
-    * "marvell,armada370-nand" (deprecated)
-    * "marvell,pxa3xx-nand" (deprecated)
-  Compatibles marked deprecated support only the old bindings described
-  at the bottom.
-- reg: NAND flash controller memory area.
-- #address-cells: shall be set to 1. Encode the NAND CS.
-- #size-cells: shall be set to 0.
-- interrupts: shall define the NAND controller interrupt.
-- clocks: shall reference the NAND controller clocks, the second one is
-  is only needed for the Armada 7K/8K SoCs
-- clock-names: mandatory if there is a second clock, in this case there
-  should be one clock named "core" and another one named "reg"
-- marvell,system-controller: Set to retrieve the syscon node that handles
-  NAND controller related registers (only required with the
-  "marvell,armada-8k-nand[-controller]" compatibles).
-
-Optional properties:
-- label: see partition.txt. New platforms shall omit this property.
-- dmas: shall reference DMA channel associated to the NAND controller.
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-- dma-names: shall be "rxtx".
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-
-Optional children nodes:
-Children nodes represent the available NAND chips.
-
-Required properties:
-- reg: shall contain the native Chip Select ids (0-3).
-- nand-rb: see nand-controller.yaml (0-1).
-
-Optional properties:
-- marvell,nand-keep-config: orders the driver not to take the timings
-  from the core and leaving them completely untouched. Bootloader
-  timings will then be used.
-- label: MTD name.
-- nand-on-flash-bbt: see nand-controller.yaml.
-- nand-ecc-mode: see nand-controller.yaml. Will use hardware ECC if not specified.
-- nand-ecc-algo: see nand-controller.yaml. This property is essentially useful when
-  not using hardware ECC. Howerver, it may be added when using hardware
-  ECC for clarification but will be ignored by the driver because ECC
-  mode is chosen depending on the page size and the strength required by
-  the NAND chip. This value may be overwritten with nand-ecc-strength
-  property.
-- nand-ecc-strength: see nand-controller.yaml.
-- nand-ecc-step-size: see nand-controller.yaml. Marvell's NAND flash controller does
-  use fixed strength (1-bit for Hamming, 16-bit for BCH), so the actual
-  step size will shrink or grow in order to fit the required strength.
-  Step sizes are not completely random for all and follow certain
-  patterns described in AN-379, "Marvell SoC NFC ECC".
-
-See Documentation/devicetree/bindings/mtd/nand-controller.yaml for more details on
-generic bindings.
-
-
-Example:
-nand_controller: nand-controller@d0000 {
-	compatible = "marvell,armada370-nand-controller";
-	reg = <0xd0000 0x54>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&coredivclk 0>;
-
-	nand@0 {
-		reg = <0>;
-		label = "main-storage";
-		nand-rb = <0>;
-		nand-ecc-mode = "hw";
-		marvell,nand-keep-config;
-		nand-on-flash-bbt;
-		nand-ecc-strength = <4>;
-		nand-ecc-step-size = <512>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "Rootfs";
-				reg = <0x00000000 0x40000000>;
-			};
-		};
-	};
-};
-
-
-Note on legacy bindings: One can find, in not-updated device trees,
-bindings slightly different than described above with other properties
-described below as well as the partitions node at the root of a so
-called "nand" node (without clear controller/chip separation).
-
-Legacy properties:
-- marvell,nand-enable-arbiter: To enable the arbiter, all boards blindly
-  used it, this bit was set by the bootloader for many boards and even if
-  it is marked reserved in several datasheets, it might be needed to set
-  it (otherwise it is harmless) so whether or not this property is set,
-  the bit is selected by the driver.
-- num-cs: Number of chip-select lines to use, all boards blindly set 1
-  to this and for a reason, other values would have failed. The value of
-  this property is ignored.
-
-Example:
-
-	nand0: nand@43100000 {
-		compatible = "marvell,pxa3xx-nand";
-		reg = <0x43100000 90>;
-		interrupts = <45>;
-		dmas = <&pdma 97 0>;
-		dma-names = "rxtx";
-		#address-cells = <1>;
-		marvell,nand-keep-config;
-		marvell,nand-enable-arbiter;
-		num-cs = <1>;
-		/* Partitions (optional) */
-       };
diff --git a/MAINTAINERS b/MAINTAINERS
index 250518fc70ff..e70dbc50a74e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12534,7 +12534,6 @@ MARVELL NAND CONTROLLER DRIVER
 M:	Miquel Raynal <miquel.raynal@bootlin.com>
 L:	linux-mtd@lists.infradead.org
 S:	Maintained
-F:	Documentation/devicetree/bindings/mtd/marvell-nand.txt
 F:	drivers/mtd/nand/raw/marvell_nand.c
 
 MARVELL OCTEON ENDPOINT DRIVER
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30  0:53   ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Switch the DT binding to a YAML schema to enable the DT validation.

Dropped deprecated compatibles and properties described in txt file.

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---

Notes:
    Changes in v6:
    - remove properties covered by nand-controller.yaml
    - add example using armada-8k compatible
    
    earlier changes:
    
    v5:
       1) Get back "label" and "partitions" properties but without
          ref to the "partition.yaml" which was wrongly used.
    
       2) Add "additionalProperties: false" for nand@ because all possible
          properties are described.
    
    v4:
       1) Remove "label" and "partitions" properties
    
       2) Use 2 clocks for A7K/8K platform which is a requirement
    
    v3:
      1) Remove txt version from the MAINTAINERS list
    
      2) Use enum for some of compatible strings
    
      3) Drop:
            #address-cells
            #size-cells:
    
         as they are inherited from the nand-controller.yaml
    
      4) Add restriction to use 2 clocks for A8K SoC
    
      5) Dropped description for clock-names and extend it with
         minItems: 1
    
      6) Drop description for "dmas"
    
      7) Use "unevalautedProperties: false"
    
      8) Drop quites from yaml refs.
    
      9) Use 4-space indentation for the example section
    
    v2:
      1) Fixed warning by yamllint with incorrect indentation for compatible list

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 3 files changed, 190 insertions(+), 127 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
new file mode 100644
index 000000000000..c4b003f5fa9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,190 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell NAND Flash Controller (NFC)
+
+maintainers:
+  - Miquel Raynal <miquel.raynal@bootlin.com>
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: marvell,armada-8k-nand-controller
+          - const: marvell,armada370-nand-controller
+      - enum:
+          - marvell,armada370-nand-controller
+          - marvell,pxa3xx-nand-controller
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description:
+      Shall reference the NAND controller clocks, the second one is
+      is only needed for the Armada 7K/8K SoCs
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - const: rxtx
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minimum: 0
+        maximum: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8]
+
+      marvell,nand-keep-config:
+        description: |
+          Orders the driver not to take the timings from the core and
+          leaving them completely untouched. Bootloader timings will then
+          be used.
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      marvell,nand-enable-arbiter:
+        description: |
+          To enable the arbiter, all boards blindly used it,
+          this bit was set by the bootloader for many boards and even if
+          it is marked reserved in several datasheets, it might be needed to set
+          it (otherwise it is harmless) so whether or not this property is set,
+          the bit is selected by the driver.
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    required:
+      - reg
+      - nand-rb
+
+allOf:
+  - $ref: nand-controller.yaml
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,pxa3xx-nand-controller
+    then:
+      required:
+        - dmas
+        - dma-names
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,armada-8k-nand-controller
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 2
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+    else:
+      properties:
+        clocks:
+          maxItems: 1
+
+        clock-names:
+          maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    nand_controller: nand-controller@d0000 {
+        compatible = "marvell,armada370-nand-controller";
+        reg = <0xd0000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&coredivclk 0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+            nand-on-flash-bbt;
+            nand-ecc-strength = <4>;
+            nand-ecc-step-size = <512>;
+
+            partitions {
+                compatible = "fixed-partitions";
+                #address-cells = <1>;
+                #size-cells = <1>;
+
+                partition@0 {
+                    label = "Rootfs";
+                    reg = <0x00000000 0x40000000>;
+                };
+            };
+        };
+    };
+
+  - |
+    cp0_nand_controller: nand-controller@720000 {
+        compatible = "marvell,armada-8k-nand-controller",
+                "marvell,armada370-nand-controller";
+        reg = <0x720000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
+        clock-names = "core", "reg";
+        clocks = <&cp0_clk 1 2>,
+                 <&cp0_clk 1 17>;
+        marvell,system-controller = <&cp0_syscon0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            nand-ecc-strength = <8>;
+            nand-ecc-step-size = <512>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mtd/marvell-nand.txt b/Documentation/devicetree/bindings/mtd/marvell-nand.txt
deleted file mode 100644
index a2d9a0f2b683..000000000000
--- a/Documentation/devicetree/bindings/mtd/marvell-nand.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-Marvell NAND Flash Controller (NFC)
-
-Required properties:
-- compatible: can be one of the following:
-    * "marvell,armada-8k-nand-controller"
-    * "marvell,armada370-nand-controller"
-    * "marvell,pxa3xx-nand-controller"
-    * "marvell,armada-8k-nand" (deprecated)
-    * "marvell,armada370-nand" (deprecated)
-    * "marvell,pxa3xx-nand" (deprecated)
-  Compatibles marked deprecated support only the old bindings described
-  at the bottom.
-- reg: NAND flash controller memory area.
-- #address-cells: shall be set to 1. Encode the NAND CS.
-- #size-cells: shall be set to 0.
-- interrupts: shall define the NAND controller interrupt.
-- clocks: shall reference the NAND controller clocks, the second one is
-  is only needed for the Armada 7K/8K SoCs
-- clock-names: mandatory if there is a second clock, in this case there
-  should be one clock named "core" and another one named "reg"
-- marvell,system-controller: Set to retrieve the syscon node that handles
-  NAND controller related registers (only required with the
-  "marvell,armada-8k-nand[-controller]" compatibles).
-
-Optional properties:
-- label: see partition.txt. New platforms shall omit this property.
-- dmas: shall reference DMA channel associated to the NAND controller.
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-- dma-names: shall be "rxtx".
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-
-Optional children nodes:
-Children nodes represent the available NAND chips.
-
-Required properties:
-- reg: shall contain the native Chip Select ids (0-3).
-- nand-rb: see nand-controller.yaml (0-1).
-
-Optional properties:
-- marvell,nand-keep-config: orders the driver not to take the timings
-  from the core and leaving them completely untouched. Bootloader
-  timings will then be used.
-- label: MTD name.
-- nand-on-flash-bbt: see nand-controller.yaml.
-- nand-ecc-mode: see nand-controller.yaml. Will use hardware ECC if not specified.
-- nand-ecc-algo: see nand-controller.yaml. This property is essentially useful when
-  not using hardware ECC. Howerver, it may be added when using hardware
-  ECC for clarification but will be ignored by the driver because ECC
-  mode is chosen depending on the page size and the strength required by
-  the NAND chip. This value may be overwritten with nand-ecc-strength
-  property.
-- nand-ecc-strength: see nand-controller.yaml.
-- nand-ecc-step-size: see nand-controller.yaml. Marvell's NAND flash controller does
-  use fixed strength (1-bit for Hamming, 16-bit for BCH), so the actual
-  step size will shrink or grow in order to fit the required strength.
-  Step sizes are not completely random for all and follow certain
-  patterns described in AN-379, "Marvell SoC NFC ECC".
-
-See Documentation/devicetree/bindings/mtd/nand-controller.yaml for more details on
-generic bindings.
-
-
-Example:
-nand_controller: nand-controller@d0000 {
-	compatible = "marvell,armada370-nand-controller";
-	reg = <0xd0000 0x54>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&coredivclk 0>;
-
-	nand@0 {
-		reg = <0>;
-		label = "main-storage";
-		nand-rb = <0>;
-		nand-ecc-mode = "hw";
-		marvell,nand-keep-config;
-		nand-on-flash-bbt;
-		nand-ecc-strength = <4>;
-		nand-ecc-step-size = <512>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "Rootfs";
-				reg = <0x00000000 0x40000000>;
-			};
-		};
-	};
-};
-
-
-Note on legacy bindings: One can find, in not-updated device trees,
-bindings slightly different than described above with other properties
-described below as well as the partitions node at the root of a so
-called "nand" node (without clear controller/chip separation).
-
-Legacy properties:
-- marvell,nand-enable-arbiter: To enable the arbiter, all boards blindly
-  used it, this bit was set by the bootloader for many boards and even if
-  it is marked reserved in several datasheets, it might be needed to set
-  it (otherwise it is harmless) so whether or not this property is set,
-  the bit is selected by the driver.
-- num-cs: Number of chip-select lines to use, all boards blindly set 1
-  to this and for a reason, other values would have failed. The value of
-  this property is ignored.
-
-Example:
-
-	nand0: nand@43100000 {
-		compatible = "marvell,pxa3xx-nand";
-		reg = <0x43100000 90>;
-		interrupts = <45>;
-		dmas = <&pdma 97 0>;
-		dma-names = "rxtx";
-		#address-cells = <1>;
-		marvell,nand-keep-config;
-		marvell,nand-enable-arbiter;
-		num-cs = <1>;
-		/* Partitions (optional) */
-       };
diff --git a/MAINTAINERS b/MAINTAINERS
index 250518fc70ff..e70dbc50a74e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12534,7 +12534,6 @@ MARVELL NAND CONTROLLER DRIVER
 M:	Miquel Raynal <miquel.raynal@bootlin.com>
 L:	linux-mtd@lists.infradead.org
 S:	Maintained
-F:	Documentation/devicetree/bindings/mtd/marvell-nand.txt
 F:	drivers/mtd/nand/raw/marvell_nand.c
 
 MARVELL OCTEON ENDPOINT DRIVER
-- 
2.40.1


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

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30  0:53   ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Switch the DT binding to a YAML schema to enable the DT validation.

Dropped deprecated compatibles and properties described in txt file.

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---

Notes:
    Changes in v6:
    - remove properties covered by nand-controller.yaml
    - add example using armada-8k compatible
    
    earlier changes:
    
    v5:
       1) Get back "label" and "partitions" properties but without
          ref to the "partition.yaml" which was wrongly used.
    
       2) Add "additionalProperties: false" for nand@ because all possible
          properties are described.
    
    v4:
       1) Remove "label" and "partitions" properties
    
       2) Use 2 clocks for A7K/8K platform which is a requirement
    
    v3:
      1) Remove txt version from the MAINTAINERS list
    
      2) Use enum for some of compatible strings
    
      3) Drop:
            #address-cells
            #size-cells:
    
         as they are inherited from the nand-controller.yaml
    
      4) Add restriction to use 2 clocks for A8K SoC
    
      5) Dropped description for clock-names and extend it with
         minItems: 1
    
      6) Drop description for "dmas"
    
      7) Use "unevalautedProperties: false"
    
      8) Drop quites from yaml refs.
    
      9) Use 4-space indentation for the example section
    
    v2:
      1) Fixed warning by yamllint with incorrect indentation for compatible list

 .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
 MAINTAINERS                                   |   1 -
 3 files changed, 190 insertions(+), 127 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
new file mode 100644
index 000000000000..c4b003f5fa9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,190 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell NAND Flash Controller (NFC)
+
+maintainers:
+  - Miquel Raynal <miquel.raynal@bootlin.com>
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: marvell,armada-8k-nand-controller
+          - const: marvell,armada370-nand-controller
+      - enum:
+          - marvell,armada370-nand-controller
+          - marvell,pxa3xx-nand-controller
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description:
+      Shall reference the NAND controller clocks, the second one is
+      is only needed for the Armada 7K/8K SoCs
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - const: rxtx
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minimum: 0
+        maximum: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8]
+
+      marvell,nand-keep-config:
+        description: |
+          Orders the driver not to take the timings from the core and
+          leaving them completely untouched. Bootloader timings will then
+          be used.
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      marvell,nand-enable-arbiter:
+        description: |
+          To enable the arbiter, all boards blindly used it,
+          this bit was set by the bootloader for many boards and even if
+          it is marked reserved in several datasheets, it might be needed to set
+          it (otherwise it is harmless) so whether or not this property is set,
+          the bit is selected by the driver.
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    required:
+      - reg
+      - nand-rb
+
+allOf:
+  - $ref: nand-controller.yaml
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,pxa3xx-nand-controller
+    then:
+      required:
+        - dmas
+        - dma-names
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,armada-8k-nand-controller
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 2
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+    else:
+      properties:
+        clocks:
+          maxItems: 1
+
+        clock-names:
+          maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    nand_controller: nand-controller@d0000 {
+        compatible = "marvell,armada370-nand-controller";
+        reg = <0xd0000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&coredivclk 0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+            nand-on-flash-bbt;
+            nand-ecc-strength = <4>;
+            nand-ecc-step-size = <512>;
+
+            partitions {
+                compatible = "fixed-partitions";
+                #address-cells = <1>;
+                #size-cells = <1>;
+
+                partition@0 {
+                    label = "Rootfs";
+                    reg = <0x00000000 0x40000000>;
+                };
+            };
+        };
+    };
+
+  - |
+    cp0_nand_controller: nand-controller@720000 {
+        compatible = "marvell,armada-8k-nand-controller",
+                "marvell,armada370-nand-controller";
+        reg = <0x720000 0x54>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
+        clock-names = "core", "reg";
+        clocks = <&cp0_clk 1 2>,
+                 <&cp0_clk 1 17>;
+        marvell,system-controller = <&cp0_syscon0>;
+
+        nand@0 {
+            reg = <0>;
+            label = "main-storage";
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            nand-ecc-strength = <8>;
+            nand-ecc-step-size = <512>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mtd/marvell-nand.txt b/Documentation/devicetree/bindings/mtd/marvell-nand.txt
deleted file mode 100644
index a2d9a0f2b683..000000000000
--- a/Documentation/devicetree/bindings/mtd/marvell-nand.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-Marvell NAND Flash Controller (NFC)
-
-Required properties:
-- compatible: can be one of the following:
-    * "marvell,armada-8k-nand-controller"
-    * "marvell,armada370-nand-controller"
-    * "marvell,pxa3xx-nand-controller"
-    * "marvell,armada-8k-nand" (deprecated)
-    * "marvell,armada370-nand" (deprecated)
-    * "marvell,pxa3xx-nand" (deprecated)
-  Compatibles marked deprecated support only the old bindings described
-  at the bottom.
-- reg: NAND flash controller memory area.
-- #address-cells: shall be set to 1. Encode the NAND CS.
-- #size-cells: shall be set to 0.
-- interrupts: shall define the NAND controller interrupt.
-- clocks: shall reference the NAND controller clocks, the second one is
-  is only needed for the Armada 7K/8K SoCs
-- clock-names: mandatory if there is a second clock, in this case there
-  should be one clock named "core" and another one named "reg"
-- marvell,system-controller: Set to retrieve the syscon node that handles
-  NAND controller related registers (only required with the
-  "marvell,armada-8k-nand[-controller]" compatibles).
-
-Optional properties:
-- label: see partition.txt. New platforms shall omit this property.
-- dmas: shall reference DMA channel associated to the NAND controller.
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-- dma-names: shall be "rxtx".
-  This property is only used with "marvell,pxa3xx-nand[-controller]"
-  compatible strings.
-
-Optional children nodes:
-Children nodes represent the available NAND chips.
-
-Required properties:
-- reg: shall contain the native Chip Select ids (0-3).
-- nand-rb: see nand-controller.yaml (0-1).
-
-Optional properties:
-- marvell,nand-keep-config: orders the driver not to take the timings
-  from the core and leaving them completely untouched. Bootloader
-  timings will then be used.
-- label: MTD name.
-- nand-on-flash-bbt: see nand-controller.yaml.
-- nand-ecc-mode: see nand-controller.yaml. Will use hardware ECC if not specified.
-- nand-ecc-algo: see nand-controller.yaml. This property is essentially useful when
-  not using hardware ECC. Howerver, it may be added when using hardware
-  ECC for clarification but will be ignored by the driver because ECC
-  mode is chosen depending on the page size and the strength required by
-  the NAND chip. This value may be overwritten with nand-ecc-strength
-  property.
-- nand-ecc-strength: see nand-controller.yaml.
-- nand-ecc-step-size: see nand-controller.yaml. Marvell's NAND flash controller does
-  use fixed strength (1-bit for Hamming, 16-bit for BCH), so the actual
-  step size will shrink or grow in order to fit the required strength.
-  Step sizes are not completely random for all and follow certain
-  patterns described in AN-379, "Marvell SoC NFC ECC".
-
-See Documentation/devicetree/bindings/mtd/nand-controller.yaml for more details on
-generic bindings.
-
-
-Example:
-nand_controller: nand-controller@d0000 {
-	compatible = "marvell,armada370-nand-controller";
-	reg = <0xd0000 0x54>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&coredivclk 0>;
-
-	nand@0 {
-		reg = <0>;
-		label = "main-storage";
-		nand-rb = <0>;
-		nand-ecc-mode = "hw";
-		marvell,nand-keep-config;
-		nand-on-flash-bbt;
-		nand-ecc-strength = <4>;
-		nand-ecc-step-size = <512>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "Rootfs";
-				reg = <0x00000000 0x40000000>;
-			};
-		};
-	};
-};
-
-
-Note on legacy bindings: One can find, in not-updated device trees,
-bindings slightly different than described above with other properties
-described below as well as the partitions node at the root of a so
-called "nand" node (without clear controller/chip separation).
-
-Legacy properties:
-- marvell,nand-enable-arbiter: To enable the arbiter, all boards blindly
-  used it, this bit was set by the bootloader for many boards and even if
-  it is marked reserved in several datasheets, it might be needed to set
-  it (otherwise it is harmless) so whether or not this property is set,
-  the bit is selected by the driver.
-- num-cs: Number of chip-select lines to use, all boards blindly set 1
-  to this and for a reason, other values would have failed. The value of
-  this property is ignored.
-
-Example:
-
-	nand0: nand@43100000 {
-		compatible = "marvell,pxa3xx-nand";
-		reg = <0x43100000 90>;
-		interrupts = <45>;
-		dmas = <&pdma 97 0>;
-		dma-names = "rxtx";
-		#address-cells = <1>;
-		marvell,nand-keep-config;
-		marvell,nand-enable-arbiter;
-		num-cs = <1>;
-		/* Partitions (optional) */
-       };
diff --git a/MAINTAINERS b/MAINTAINERS
index 250518fc70ff..e70dbc50a74e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12534,7 +12534,6 @@ MARVELL NAND CONTROLLER DRIVER
 M:	Miquel Raynal <miquel.raynal@bootlin.com>
 L:	linux-mtd@lists.infradead.org
 S:	Maintained
-F:	Documentation/devicetree/bindings/mtd/marvell-nand.txt
 F:	drivers/mtd/nand/raw/marvell_nand.c
 
 MARVELL OCTEON ENDPOINT DRIVER
-- 
2.40.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH v6 2/2] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
  2023-05-30  0:53 ` Chris Packham
  (?)
@ 2023-05-30  0:53   ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Marvell NAND controller has now YAML to validate it's DT bindings, so
change the node name of cp11x DTSI as it is required by nand-controller.yaml

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
index 0cc9ee9871e7..4ec1aae0a3a9 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
@@ -468,7 +468,7 @@ CP11X_LABEL(uart3): serial@702300 {
 			status = "disabled";
 		};
 
-		CP11X_LABEL(nand_controller): nand@720000 {
+		CP11X_LABEL(nand_controller): nand-controller@720000 {
 			/*
 			 * Due to the limitation of the pins available
 			 * this controller is only usable on the CPM
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH v6 2/2] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-30  0:53   ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Marvell NAND controller has now YAML to validate it's DT bindings, so
change the node name of cp11x DTSI as it is required by nand-controller.yaml

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
index 0cc9ee9871e7..4ec1aae0a3a9 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
@@ -468,7 +468,7 @@ CP11X_LABEL(uart3): serial@702300 {
 			status = "disabled";
 		};
 
-		CP11X_LABEL(nand_controller): nand@720000 {
+		CP11X_LABEL(nand_controller): nand-controller@720000 {
 			/*
 			 * Due to the limitation of the pins available
 			 * this controller is only usable on the CPM
-- 
2.40.1


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

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH v6 2/2] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-30  0:53   ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30  0:53 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

From: Vadym Kochan <vadym.kochan@plvision.eu>

Marvell NAND controller has now YAML to validate it's DT bindings, so
change the node name of cp11x DTSI as it is required by nand-controller.yaml

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
index 0cc9ee9871e7..4ec1aae0a3a9 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
@@ -468,7 +468,7 @@ CP11X_LABEL(uart3): serial@702300 {
 			status = "disabled";
 		};
 
-		CP11X_LABEL(nand_controller): nand@720000 {
+		CP11X_LABEL(nand_controller): nand-controller@720000 {
 			/*
 			 * Due to the limitation of the pins available
 			 * this controller is only usable on the CPM
-- 
2.40.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30  0:53   ` Chris Packham
  (?)
@ 2023-05-30 12:24     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:24 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 30/05/2023 02:53, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
>     
>     earlier changes:
>     
>     v5:
>        1) Get back "label" and "partitions" properties but without

Where are they? Did you drop them in v6?


>           ref to the "partition.yaml" which was wrongly used.


>     
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.

Where? This cannot be silently dropped!

>     
>     v4:
>        1) Remove "label" and "partitions" properties
>     
>        2) Use 2 clocks for A7K/8K platform which is a requirement
>     
>     v3:
>       1) Remove txt version from the MAINTAINERS list
>     
>       2) Use enum for some of compatible strings
>     
>       3) Drop:
>             #address-cells
>             #size-cells:
>     
>          as they are inherited from the nand-controller.yaml
>     
>       4) Add restriction to use 2 clocks for A8K SoC
>     
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
>     
>       6) Drop description for "dmas"
>     
>       7) Use "unevalautedProperties: false"
>     
>       8) Drop quites from yaml refs.
>     
>       9) Use 4-space indentation for the example section
>     
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> new file mode 100644
> index 000000000000..c4b003f5fa9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,190 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell NAND Flash Controller (NFC)
> +
> +maintainers:
> +  - Miquel Raynal <miquel.raynal@bootlin.com>

Is it correct person for Marvell NAND? This should be not a subsystem
maintainer, but a device maintainer.

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: marvell,armada-8k-nand-controller
> +          - const: marvell,armada370-nand-controller
> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

You miss here deprecated compatibles, which are BTW still used. Don't
drop properties and compatibles during conversion.

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    description:
> +      Shall reference the NAND controller clocks, the second one is
> +      is only needed for the Armada 7K/8K SoCs
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:

Missing minItems: 1

> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - const: rxtx
> +
> +  marvell,system-controller:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Syscon node that handles NAND controller related registers
> +
> +patternProperties:
> +  "^nand@[0-3]$":
> +    type: object

Missing unevaluatedProperties: false on this level.

> +    properties:
> +      reg:
> +        minimum: 0
> +        maximum: 3
> +
> +      nand-rb:
> +        minimum: 0
> +        maximum: 1

It's an array, so this does not sound right. You might want to put it
under items:.  Then you also miss min/maxItems.

> +
> +      nand-ecc-step-size:
> +        const: 512
> +
> +      nand-ecc-strength:
> +        enum: [1, 4, 8]
> +
> +      marvell,nand-keep-config:
> +        description: |
> +          Orders the driver not to take the timings from the core and
> +          leaving them completely untouched. Bootloader timings will then
> +          be used.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +
> +      marvell,nand-enable-arbiter:
> +        description: |
> +          To enable the arbiter, all boards blindly used it,
> +          this bit was set by the bootloader for many boards and even if
> +          it is marked reserved in several datasheets, it might be needed to set
> +          it (otherwise it is harmless) so whether or not this property is set,
> +          the bit is selected by the driver.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +        deprecated: true
> +
> +    required:
> +      - reg
> +      - nand-rb
> +
> +allOf:
> +  - $ref: nand-controller.yaml
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,pxa3xx-nand-controller
> +    then:
> +      required:
> +        - dmas
> +        - dma-names
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,armada-8k-nand-controller
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 2
> +          maxItems: 2

Drop maxItems. You don't have it in clock-names.

> +
> +        clock-names:
> +          minItems: 2
> +
> +      required:
> +        - marvell,system-controller
> +    else:
> +      properties:
> +        clocks:
> +          maxItems: 1
> +
> +        clock-names:
> +          maxItems: 1

I doubt that you tested it in above variant...

> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    nand_controller: nand-controller@d0000 {
> +        compatible = "marvell,armada370-nand-controller";
> +        reg = <0xd0000 0x54>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;


Best regards,
Krzysztof


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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 12:24     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:24 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 30/05/2023 02:53, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
>     
>     earlier changes:
>     
>     v5:
>        1) Get back "label" and "partitions" properties but without

Where are they? Did you drop them in v6?


>           ref to the "partition.yaml" which was wrongly used.


>     
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.

Where? This cannot be silently dropped!

>     
>     v4:
>        1) Remove "label" and "partitions" properties
>     
>        2) Use 2 clocks for A7K/8K platform which is a requirement
>     
>     v3:
>       1) Remove txt version from the MAINTAINERS list
>     
>       2) Use enum for some of compatible strings
>     
>       3) Drop:
>             #address-cells
>             #size-cells:
>     
>          as they are inherited from the nand-controller.yaml
>     
>       4) Add restriction to use 2 clocks for A8K SoC
>     
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
>     
>       6) Drop description for "dmas"
>     
>       7) Use "unevalautedProperties: false"
>     
>       8) Drop quites from yaml refs.
>     
>       9) Use 4-space indentation for the example section
>     
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> new file mode 100644
> index 000000000000..c4b003f5fa9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,190 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell NAND Flash Controller (NFC)
> +
> +maintainers:
> +  - Miquel Raynal <miquel.raynal@bootlin.com>

Is it correct person for Marvell NAND? This should be not a subsystem
maintainer, but a device maintainer.

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: marvell,armada-8k-nand-controller
> +          - const: marvell,armada370-nand-controller
> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

You miss here deprecated compatibles, which are BTW still used. Don't
drop properties and compatibles during conversion.

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    description:
> +      Shall reference the NAND controller clocks, the second one is
> +      is only needed for the Armada 7K/8K SoCs
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:

Missing minItems: 1

> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - const: rxtx
> +
> +  marvell,system-controller:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Syscon node that handles NAND controller related registers
> +
> +patternProperties:
> +  "^nand@[0-3]$":
> +    type: object

Missing unevaluatedProperties: false on this level.

> +    properties:
> +      reg:
> +        minimum: 0
> +        maximum: 3
> +
> +      nand-rb:
> +        minimum: 0
> +        maximum: 1

It's an array, so this does not sound right. You might want to put it
under items:.  Then you also miss min/maxItems.

> +
> +      nand-ecc-step-size:
> +        const: 512
> +
> +      nand-ecc-strength:
> +        enum: [1, 4, 8]
> +
> +      marvell,nand-keep-config:
> +        description: |
> +          Orders the driver not to take the timings from the core and
> +          leaving them completely untouched. Bootloader timings will then
> +          be used.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +
> +      marvell,nand-enable-arbiter:
> +        description: |
> +          To enable the arbiter, all boards blindly used it,
> +          this bit was set by the bootloader for many boards and even if
> +          it is marked reserved in several datasheets, it might be needed to set
> +          it (otherwise it is harmless) so whether or not this property is set,
> +          the bit is selected by the driver.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +        deprecated: true
> +
> +    required:
> +      - reg
> +      - nand-rb
> +
> +allOf:
> +  - $ref: nand-controller.yaml
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,pxa3xx-nand-controller
> +    then:
> +      required:
> +        - dmas
> +        - dma-names
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,armada-8k-nand-controller
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 2
> +          maxItems: 2

Drop maxItems. You don't have it in clock-names.

> +
> +        clock-names:
> +          minItems: 2
> +
> +      required:
> +        - marvell,system-controller
> +    else:
> +      properties:
> +        clocks:
> +          maxItems: 1
> +
> +        clock-names:
> +          maxItems: 1

I doubt that you tested it in above variant...

> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    nand_controller: nand-controller@d0000 {
> +        compatible = "marvell,armada370-nand-controller";
> +        reg = <0xd0000 0x54>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;


Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 12:24     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:24 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 30/05/2023 02:53, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
>     
>     earlier changes:
>     
>     v5:
>        1) Get back "label" and "partitions" properties but without

Where are they? Did you drop them in v6?


>           ref to the "partition.yaml" which was wrongly used.


>     
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.

Where? This cannot be silently dropped!

>     
>     v4:
>        1) Remove "label" and "partitions" properties
>     
>        2) Use 2 clocks for A7K/8K platform which is a requirement
>     
>     v3:
>       1) Remove txt version from the MAINTAINERS list
>     
>       2) Use enum for some of compatible strings
>     
>       3) Drop:
>             #address-cells
>             #size-cells:
>     
>          as they are inherited from the nand-controller.yaml
>     
>       4) Add restriction to use 2 clocks for A8K SoC
>     
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
>     
>       6) Drop description for "dmas"
>     
>       7) Use "unevalautedProperties: false"
>     
>       8) Drop quites from yaml refs.
>     
>       9) Use 4-space indentation for the example section
>     
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> new file mode 100644
> index 000000000000..c4b003f5fa9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,190 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell NAND Flash Controller (NFC)
> +
> +maintainers:
> +  - Miquel Raynal <miquel.raynal@bootlin.com>

Is it correct person for Marvell NAND? This should be not a subsystem
maintainer, but a device maintainer.

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: marvell,armada-8k-nand-controller
> +          - const: marvell,armada370-nand-controller
> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

You miss here deprecated compatibles, which are BTW still used. Don't
drop properties and compatibles during conversion.

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    description:
> +      Shall reference the NAND controller clocks, the second one is
> +      is only needed for the Armada 7K/8K SoCs
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:

Missing minItems: 1

> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - const: rxtx
> +
> +  marvell,system-controller:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Syscon node that handles NAND controller related registers
> +
> +patternProperties:
> +  "^nand@[0-3]$":
> +    type: object

Missing unevaluatedProperties: false on this level.

> +    properties:
> +      reg:
> +        minimum: 0
> +        maximum: 3
> +
> +      nand-rb:
> +        minimum: 0
> +        maximum: 1

It's an array, so this does not sound right. You might want to put it
under items:.  Then you also miss min/maxItems.

> +
> +      nand-ecc-step-size:
> +        const: 512
> +
> +      nand-ecc-strength:
> +        enum: [1, 4, 8]
> +
> +      marvell,nand-keep-config:
> +        description: |
> +          Orders the driver not to take the timings from the core and
> +          leaving them completely untouched. Bootloader timings will then
> +          be used.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +
> +      marvell,nand-enable-arbiter:
> +        description: |
> +          To enable the arbiter, all boards blindly used it,
> +          this bit was set by the bootloader for many boards and even if
> +          it is marked reserved in several datasheets, it might be needed to set
> +          it (otherwise it is harmless) so whether or not this property is set,
> +          the bit is selected by the driver.
> +        $ref: /schemas/types.yaml#/definitions/flag
> +        deprecated: true
> +
> +    required:
> +      - reg
> +      - nand-rb
> +
> +allOf:
> +  - $ref: nand-controller.yaml
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,pxa3xx-nand-controller
> +    then:
> +      required:
> +        - dmas
> +        - dma-names
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: marvell,armada-8k-nand-controller
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 2
> +          maxItems: 2

Drop maxItems. You don't have it in clock-names.

> +
> +        clock-names:
> +          minItems: 2
> +
> +      required:
> +        - marvell,system-controller
> +    else:
> +      properties:
> +        clocks:
> +          maxItems: 1
> +
> +        clock-names:
> +          maxItems: 1

I doubt that you tested it in above variant...

> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    nand_controller: nand-controller@d0000 {
> +        compatible = "marvell,armada370-nand-controller";
> +        reg = <0xd0000 0x54>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30  0:53   ` Chris Packham
  (?)
@ 2023-05-30 12:26     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:26 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
> 
>     earlier changes:
> 
>     v5:
>        1) Get back "label" and "partitions" properties but without
>           ref to the "partition.yaml" which was wrongly used.
> 
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.
> 
>     v4:
>        1) Remove "label" and "partitions" properties
> 
>        2) Use 2 clocks for A7K/8K platform which is a requirement
> 
>     v3:
>       1) Remove txt version from the MAINTAINERS list
> 
>       2) Use enum for some of compatible strings
> 
>       3) Drop:
>             #address-cells
>             #size-cells:
> 
>          as they are inherited from the nand-controller.yaml
> 
>       4) Add restriction to use 2 clocks for A8K SoC
> 
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
> 
>       6) Drop description for "dmas"
> 
>       7) Use "unevalautedProperties: false"
> 
>       8) Drop quites from yaml refs.
> 
>       9) Use 4-space indentation for the example section
> 
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1787248


nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb

nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb

nand-controller@43100000: clock-names: ['core'] is too short
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: dma-names:0: 'rxtx' was expected
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 12:26     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:26 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
> 
>     earlier changes:
> 
>     v5:
>        1) Get back "label" and "partitions" properties but without
>           ref to the "partition.yaml" which was wrongly used.
> 
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.
> 
>     v4:
>        1) Remove "label" and "partitions" properties
> 
>        2) Use 2 clocks for A7K/8K platform which is a requirement
> 
>     v3:
>       1) Remove txt version from the MAINTAINERS list
> 
>       2) Use enum for some of compatible strings
> 
>       3) Drop:
>             #address-cells
>             #size-cells:
> 
>          as they are inherited from the nand-controller.yaml
> 
>       4) Add restriction to use 2 clocks for A8K SoC
> 
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
> 
>       6) Drop description for "dmas"
> 
>       7) Use "unevalautedProperties: false"
> 
>       8) Drop quites from yaml refs.
> 
>       9) Use 4-space indentation for the example section
> 
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1787248


nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb

nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb

nand-controller@43100000: clock-names: ['core'] is too short
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: dma-names:0: 'rxtx' was expected
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 12:26     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-30 12:26 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
> From: Vadym Kochan <vadym.kochan@plvision.eu>
> 
> Switch the DT binding to a YAML schema to enable the DT validation.
> 
> Dropped deprecated compatibles and properties described in txt file.
> 
> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> 
> Notes:
>     Changes in v6:
>     - remove properties covered by nand-controller.yaml
>     - add example using armada-8k compatible
> 
>     earlier changes:
> 
>     v5:
>        1) Get back "label" and "partitions" properties but without
>           ref to the "partition.yaml" which was wrongly used.
> 
>        2) Add "additionalProperties: false" for nand@ because all possible
>           properties are described.
> 
>     v4:
>        1) Remove "label" and "partitions" properties
> 
>        2) Use 2 clocks for A7K/8K platform which is a requirement
> 
>     v3:
>       1) Remove txt version from the MAINTAINERS list
> 
>       2) Use enum for some of compatible strings
> 
>       3) Drop:
>             #address-cells
>             #size-cells:
> 
>          as they are inherited from the nand-controller.yaml
> 
>       4) Add restriction to use 2 clocks for A8K SoC
> 
>       5) Dropped description for clock-names and extend it with
>          minItems: 1
> 
>       6) Drop description for "dmas"
> 
>       7) Use "unevalautedProperties: false"
> 
>       8) Drop quites from yaml refs.
> 
>       9) Use 4-space indentation for the example section
> 
>     v2:
>       1) Fixed warning by yamllint with incorrect indentation for compatible list
> 
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 190 insertions(+), 127 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1787248


nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9130-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9131-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb
	arch/arm64/boot/dts/marvell/cn9132-db.dtb

nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb

nand-controller@43100000: clock-names: ['core'] is too short
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: dma-names:0: 'rxtx' was expected
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
	arch/arm/boot/dts/armada-385-atl-x530.dtb

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 12:24     ` Krzysztof Kozlowski
  (?)
@ 2023-05-30 13:04       ` Miquel Raynal
  -1 siblings, 0 replies; 42+ messages in thread
From: Miquel Raynal @ 2023-05-30 13:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Chris Packham, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan, linux-mtd, devicetree,
	linux-kernel, linux-arm-kernel, enachman

Hi Krzysztof,

krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:

> On 30/05/2023 02:53, Chris Packham wrote:
> > From: Vadym Kochan <vadym.kochan@plvision.eu>
> > 
> > Switch the DT binding to a YAML schema to enable the DT validation.
> > 
> > Dropped deprecated compatibles and properties described in txt file.
> > 
> > Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> > ---
> > 
> > Notes:
> >     Changes in v6:
> >     - remove properties covered by nand-controller.yaml
> >     - add example using armada-8k compatible
> >     
> >     earlier changes:
> >     
> >     v5:
> >        1) Get back "label" and "partitions" properties but without  
> 
> Where are they? Did you drop them in v6?

label and partitions are defined in partitions/partition.yaml,
referenced by partitions.yaml, referenced by mtd.yaml, referenced by
nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
in this file :-)

So I believe there is nothing else to add in the controller's binding
for these two properties? They are very generic, it would not be
optimal if we had to take care about them.

> >           ref to the "partition.yaml" which was wrongly used.  
> 
> 
> >     
> >        2) Add "additionalProperties: false" for nand@ because all possible
> >           properties are described.  
> 
> Where? This cannot be silently dropped!
> 
> >     
> >     v4:
> >        1) Remove "label" and "partitions" properties
> >     
> >        2) Use 2 clocks for A7K/8K platform which is a requirement
> >     
> >     v3:
> >       1) Remove txt version from the MAINTAINERS list
> >     
> >       2) Use enum for some of compatible strings
> >     
> >       3) Drop:
> >             #address-cells
> >             #size-cells:
> >     
> >          as they are inherited from the nand-controller.yaml
> >     
> >       4) Add restriction to use 2 clocks for A8K SoC
> >     
> >       5) Dropped description for clock-names and extend it with
> >          minItems: 1
> >     
> >       6) Drop description for "dmas"
> >     
> >       7) Use "unevalautedProperties: false"
> >     
> >       8) Drop quites from yaml refs.
> >     
> >       9) Use 4-space indentation for the example section
> >     
> >     v2:
> >       1) Fixed warning by yamllint with incorrect indentation for compatible list
> > 
> >  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
> >  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
> >  MAINTAINERS                                   |   1 -
> >  3 files changed, 190 insertions(+), 127 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > new file mode 100644
> > index 000000000000..c4b003f5fa9f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,190 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Marvell NAND Flash Controller (NFC)
> > +
> > +maintainers:
> > +  - Miquel Raynal <miquel.raynal@bootlin.com>  
> 
> Is it correct person for Marvell NAND? This should be not a subsystem
> maintainer, but a device maintainer.

I did not bother converting this file yet but I actually rewrote the
corresponding Linux driver (5 years ago) entirely so I don't mind.

> 
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: marvell,armada-8k-nand-controller
> > +          - const: marvell,armada370-nand-controller

I don't think we ever wanted having these two compatibles to describe a
single hardware block?

> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller  
> 
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
> 
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description:
> > +      Shall reference the NAND controller clocks, the second one is
> > +      is only needed for the Armada 7K/8K SoCs
> > +    minItems: 1
> > +    maxItems: 2
> > +
> > +  clock-names:  
> 
> Missing minItems: 1
> 
> > +    items:
> > +      - const: core
> > +      - const: reg
> > +
> > +  dmas:
> > +    maxItems: 1
> > +
> > +  dma-names:
> > +    items:
> > +      - const: rxtx
> > +
> > +  marvell,system-controller:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: Syscon node that handles NAND controller related registers
> > +
> > +patternProperties:
> > +  "^nand@[0-3]$":
> > +    type: object  
> 
> Missing unevaluatedProperties: false on this level.
>
> > +    properties:
> > +      reg:
> > +        minimum: 0
> > +        maximum: 3

Same as below, it is an array as well IIRC.

> > +
> > +      nand-rb:
> > +        minimum: 0
> > +        maximum: 1  
> 
> It's an array, so this does not sound right. You might want to put it
> under items:.  Then you also miss min/maxItems.

That's true, you can have either one or two members with the value
[0-1], so you need both.

> > +
> > +      nand-ecc-step-size:
> > +        const: 512
> > +
> > +      nand-ecc-strength:
> > +        enum: [1, 4, 8]

The controller (and the driver) actually supports 1, 4, 8, 12, 16.

> > +
> > +      marvell,nand-keep-config:
> > +        description: |
> > +          Orders the driver not to take the timings from the core and
> > +          leaving them completely untouched. Bootloader timings will then
> > +          be used.
> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +
> > +      marvell,nand-enable-arbiter:
> > +        description: |
> > +          To enable the arbiter, all boards blindly used it,
> > +          this bit was set by the bootloader for many boards and even if
> > +          it is marked reserved in several datasheets, it might be needed to set
> > +          it (otherwise it is harmless) so whether or not this property is set,
> > +          the bit is selected by the driver.

Maybe we should slightly rephrase this to avoid driver related
information.

> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +        deprecated: true
> > +
> > +    required:
> > +      - reg
> > +      - nand-rb
> > +
> > +allOf:
> > +  - $ref: nand-controller.yaml
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,pxa3xx-nand-controller
> > +    then:
> > +      required:
> > +        - dmas
> > +        - dma-names
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,armada-8k-nand-controller
> > +    then:
> > +      properties:
> > +        clocks:
> > +          minItems: 2
> > +          maxItems: 2  
> 
> Drop maxItems. You don't have it in clock-names.
> 
> > +
> > +        clock-names:
> > +          minItems: 2
> > +
> > +      required:
> > +        - marvell,system-controller
> > +    else:
> > +      properties:
> > +        clocks:
> > +          maxItems: 1
> > +
> > +        clock-names:
> > +          maxItems: 1  
> 
> I doubt that you tested it in above variant...
> 
> > +
> > +unevaluatedProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - clocks
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +    nand_controller: nand-controller@d0000 {
> > +        compatible = "marvell,armada370-nand-controller";
> > +        reg = <0xd0000 0x54>;
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;  
> 
> 
> Best regards,
> Krzysztof
> 

Thanks for doing this!

Miquèl

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 13:04       ` Miquel Raynal
  0 siblings, 0 replies; 42+ messages in thread
From: Miquel Raynal @ 2023-05-30 13:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Chris Packham, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan, linux-mtd, devicetree,
	linux-kernel, linux-arm-kernel, enachman

Hi Krzysztof,

krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:

> On 30/05/2023 02:53, Chris Packham wrote:
> > From: Vadym Kochan <vadym.kochan@plvision.eu>
> > 
> > Switch the DT binding to a YAML schema to enable the DT validation.
> > 
> > Dropped deprecated compatibles and properties described in txt file.
> > 
> > Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> > ---
> > 
> > Notes:
> >     Changes in v6:
> >     - remove properties covered by nand-controller.yaml
> >     - add example using armada-8k compatible
> >     
> >     earlier changes:
> >     
> >     v5:
> >        1) Get back "label" and "partitions" properties but without  
> 
> Where are they? Did you drop them in v6?

label and partitions are defined in partitions/partition.yaml,
referenced by partitions.yaml, referenced by mtd.yaml, referenced by
nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
in this file :-)

So I believe there is nothing else to add in the controller's binding
for these two properties? They are very generic, it would not be
optimal if we had to take care about them.

> >           ref to the "partition.yaml" which was wrongly used.  
> 
> 
> >     
> >        2) Add "additionalProperties: false" for nand@ because all possible
> >           properties are described.  
> 
> Where? This cannot be silently dropped!
> 
> >     
> >     v4:
> >        1) Remove "label" and "partitions" properties
> >     
> >        2) Use 2 clocks for A7K/8K platform which is a requirement
> >     
> >     v3:
> >       1) Remove txt version from the MAINTAINERS list
> >     
> >       2) Use enum for some of compatible strings
> >     
> >       3) Drop:
> >             #address-cells
> >             #size-cells:
> >     
> >          as they are inherited from the nand-controller.yaml
> >     
> >       4) Add restriction to use 2 clocks for A8K SoC
> >     
> >       5) Dropped description for clock-names and extend it with
> >          minItems: 1
> >     
> >       6) Drop description for "dmas"
> >     
> >       7) Use "unevalautedProperties: false"
> >     
> >       8) Drop quites from yaml refs.
> >     
> >       9) Use 4-space indentation for the example section
> >     
> >     v2:
> >       1) Fixed warning by yamllint with incorrect indentation for compatible list
> > 
> >  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
> >  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
> >  MAINTAINERS                                   |   1 -
> >  3 files changed, 190 insertions(+), 127 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > new file mode 100644
> > index 000000000000..c4b003f5fa9f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,190 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Marvell NAND Flash Controller (NFC)
> > +
> > +maintainers:
> > +  - Miquel Raynal <miquel.raynal@bootlin.com>  
> 
> Is it correct person for Marvell NAND? This should be not a subsystem
> maintainer, but a device maintainer.

I did not bother converting this file yet but I actually rewrote the
corresponding Linux driver (5 years ago) entirely so I don't mind.

> 
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: marvell,armada-8k-nand-controller
> > +          - const: marvell,armada370-nand-controller

I don't think we ever wanted having these two compatibles to describe a
single hardware block?

> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller  
> 
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
> 
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description:
> > +      Shall reference the NAND controller clocks, the second one is
> > +      is only needed for the Armada 7K/8K SoCs
> > +    minItems: 1
> > +    maxItems: 2
> > +
> > +  clock-names:  
> 
> Missing minItems: 1
> 
> > +    items:
> > +      - const: core
> > +      - const: reg
> > +
> > +  dmas:
> > +    maxItems: 1
> > +
> > +  dma-names:
> > +    items:
> > +      - const: rxtx
> > +
> > +  marvell,system-controller:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: Syscon node that handles NAND controller related registers
> > +
> > +patternProperties:
> > +  "^nand@[0-3]$":
> > +    type: object  
> 
> Missing unevaluatedProperties: false on this level.
>
> > +    properties:
> > +      reg:
> > +        minimum: 0
> > +        maximum: 3

Same as below, it is an array as well IIRC.

> > +
> > +      nand-rb:
> > +        minimum: 0
> > +        maximum: 1  
> 
> It's an array, so this does not sound right. You might want to put it
> under items:.  Then you also miss min/maxItems.

That's true, you can have either one or two members with the value
[0-1], so you need both.

> > +
> > +      nand-ecc-step-size:
> > +        const: 512
> > +
> > +      nand-ecc-strength:
> > +        enum: [1, 4, 8]

The controller (and the driver) actually supports 1, 4, 8, 12, 16.

> > +
> > +      marvell,nand-keep-config:
> > +        description: |
> > +          Orders the driver not to take the timings from the core and
> > +          leaving them completely untouched. Bootloader timings will then
> > +          be used.
> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +
> > +      marvell,nand-enable-arbiter:
> > +        description: |
> > +          To enable the arbiter, all boards blindly used it,
> > +          this bit was set by the bootloader for many boards and even if
> > +          it is marked reserved in several datasheets, it might be needed to set
> > +          it (otherwise it is harmless) so whether or not this property is set,
> > +          the bit is selected by the driver.

Maybe we should slightly rephrase this to avoid driver related
information.

> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +        deprecated: true
> > +
> > +    required:
> > +      - reg
> > +      - nand-rb
> > +
> > +allOf:
> > +  - $ref: nand-controller.yaml
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,pxa3xx-nand-controller
> > +    then:
> > +      required:
> > +        - dmas
> > +        - dma-names
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,armada-8k-nand-controller
> > +    then:
> > +      properties:
> > +        clocks:
> > +          minItems: 2
> > +          maxItems: 2  
> 
> Drop maxItems. You don't have it in clock-names.
> 
> > +
> > +        clock-names:
> > +          minItems: 2
> > +
> > +      required:
> > +        - marvell,system-controller
> > +    else:
> > +      properties:
> > +        clocks:
> > +          maxItems: 1
> > +
> > +        clock-names:
> > +          maxItems: 1  
> 
> I doubt that you tested it in above variant...
> 
> > +
> > +unevaluatedProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - clocks
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +    nand_controller: nand-controller@d0000 {
> > +        compatible = "marvell,armada370-nand-controller";
> > +        reg = <0xd0000 0x54>;
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;  
> 
> 
> Best regards,
> Krzysztof
> 

Thanks for doing this!

Miquèl

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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 13:04       ` Miquel Raynal
  0 siblings, 0 replies; 42+ messages in thread
From: Miquel Raynal @ 2023-05-30 13:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Chris Packham, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan, linux-mtd, devicetree,
	linux-kernel, linux-arm-kernel, enachman

Hi Krzysztof,

krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:

> On 30/05/2023 02:53, Chris Packham wrote:
> > From: Vadym Kochan <vadym.kochan@plvision.eu>
> > 
> > Switch the DT binding to a YAML schema to enable the DT validation.
> > 
> > Dropped deprecated compatibles and properties described in txt file.
> > 
> > Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
> > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> > ---
> > 
> > Notes:
> >     Changes in v6:
> >     - remove properties covered by nand-controller.yaml
> >     - add example using armada-8k compatible
> >     
> >     earlier changes:
> >     
> >     v5:
> >        1) Get back "label" and "partitions" properties but without  
> 
> Where are they? Did you drop them in v6?

label and partitions are defined in partitions/partition.yaml,
referenced by partitions.yaml, referenced by mtd.yaml, referenced by
nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
in this file :-)

So I believe there is nothing else to add in the controller's binding
for these two properties? They are very generic, it would not be
optimal if we had to take care about them.

> >           ref to the "partition.yaml" which was wrongly used.  
> 
> 
> >     
> >        2) Add "additionalProperties: false" for nand@ because all possible
> >           properties are described.  
> 
> Where? This cannot be silently dropped!
> 
> >     
> >     v4:
> >        1) Remove "label" and "partitions" properties
> >     
> >        2) Use 2 clocks for A7K/8K platform which is a requirement
> >     
> >     v3:
> >       1) Remove txt version from the MAINTAINERS list
> >     
> >       2) Use enum for some of compatible strings
> >     
> >       3) Drop:
> >             #address-cells
> >             #size-cells:
> >     
> >          as they are inherited from the nand-controller.yaml
> >     
> >       4) Add restriction to use 2 clocks for A8K SoC
> >     
> >       5) Dropped description for clock-names and extend it with
> >          minItems: 1
> >     
> >       6) Drop description for "dmas"
> >     
> >       7) Use "unevalautedProperties: false"
> >     
> >       8) Drop quites from yaml refs.
> >     
> >       9) Use 4-space indentation for the example section
> >     
> >     v2:
> >       1) Fixed warning by yamllint with incorrect indentation for compatible list
> > 
> >  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
> >  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
> >  MAINTAINERS                                   |   1 -
> >  3 files changed, 190 insertions(+), 127 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > new file mode 100644
> > index 000000000000..c4b003f5fa9f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,190 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mtd/marvell,nand-controller.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Marvell NAND Flash Controller (NFC)
> > +
> > +maintainers:
> > +  - Miquel Raynal <miquel.raynal@bootlin.com>  
> 
> Is it correct person for Marvell NAND? This should be not a subsystem
> maintainer, but a device maintainer.

I did not bother converting this file yet but I actually rewrote the
corresponding Linux driver (5 years ago) entirely so I don't mind.

> 
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: marvell,armada-8k-nand-controller
> > +          - const: marvell,armada370-nand-controller

I don't think we ever wanted having these two compatibles to describe a
single hardware block?

> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller  
> 
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
> 
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description:
> > +      Shall reference the NAND controller clocks, the second one is
> > +      is only needed for the Armada 7K/8K SoCs
> > +    minItems: 1
> > +    maxItems: 2
> > +
> > +  clock-names:  
> 
> Missing minItems: 1
> 
> > +    items:
> > +      - const: core
> > +      - const: reg
> > +
> > +  dmas:
> > +    maxItems: 1
> > +
> > +  dma-names:
> > +    items:
> > +      - const: rxtx
> > +
> > +  marvell,system-controller:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: Syscon node that handles NAND controller related registers
> > +
> > +patternProperties:
> > +  "^nand@[0-3]$":
> > +    type: object  
> 
> Missing unevaluatedProperties: false on this level.
>
> > +    properties:
> > +      reg:
> > +        minimum: 0
> > +        maximum: 3

Same as below, it is an array as well IIRC.

> > +
> > +      nand-rb:
> > +        minimum: 0
> > +        maximum: 1  
> 
> It's an array, so this does not sound right. You might want to put it
> under items:.  Then you also miss min/maxItems.

That's true, you can have either one or two members with the value
[0-1], so you need both.

> > +
> > +      nand-ecc-step-size:
> > +        const: 512
> > +
> > +      nand-ecc-strength:
> > +        enum: [1, 4, 8]

The controller (and the driver) actually supports 1, 4, 8, 12, 16.

> > +
> > +      marvell,nand-keep-config:
> > +        description: |
> > +          Orders the driver not to take the timings from the core and
> > +          leaving them completely untouched. Bootloader timings will then
> > +          be used.
> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +
> > +      marvell,nand-enable-arbiter:
> > +        description: |
> > +          To enable the arbiter, all boards blindly used it,
> > +          this bit was set by the bootloader for many boards and even if
> > +          it is marked reserved in several datasheets, it might be needed to set
> > +          it (otherwise it is harmless) so whether or not this property is set,
> > +          the bit is selected by the driver.

Maybe we should slightly rephrase this to avoid driver related
information.

> > +        $ref: /schemas/types.yaml#/definitions/flag
> > +        deprecated: true
> > +
> > +    required:
> > +      - reg
> > +      - nand-rb
> > +
> > +allOf:
> > +  - $ref: nand-controller.yaml
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,pxa3xx-nand-controller
> > +    then:
> > +      required:
> > +        - dmas
> > +        - dma-names
> > +
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: marvell,armada-8k-nand-controller
> > +    then:
> > +      properties:
> > +        clocks:
> > +          minItems: 2
> > +          maxItems: 2  
> 
> Drop maxItems. You don't have it in clock-names.
> 
> > +
> > +        clock-names:
> > +          minItems: 2
> > +
> > +      required:
> > +        - marvell,system-controller
> > +    else:
> > +      properties:
> > +        clocks:
> > +          maxItems: 1
> > +
> > +        clock-names:
> > +          maxItems: 1  
> 
> I doubt that you tested it in above variant...
> 
> > +
> > +unevaluatedProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - clocks
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +    nand_controller: nand-controller@d0000 {
> > +        compatible = "marvell,armada370-nand-controller";
> > +        reg = <0xd0000 0x54>;
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;  
> 
> 
> Best regards,
> Krzysztof
> 

Thanks for doing this!

Miquèl

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 12:26     ` Krzysztof Kozlowski
  (?)
@ 2023-05-30 20:59       ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 20:59 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard


On 31/05/23 00:26, Krzysztof Kozlowski wrote:
> On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>
>> Switch the DT binding to a YAML schema to enable the DT validation.
>>
>> Dropped deprecated compatibles and properties described in txt file.
>>
>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>
>> Notes:
>>      Changes in v6:
>>      - remove properties covered by nand-controller.yaml
>>      - add example using armada-8k compatible
>>
>>      earlier changes:
>>
>>      v5:
>>         1) Get back "label" and "partitions" properties but without
>>            ref to the "partition.yaml" which was wrongly used.
>>
>>         2) Add "additionalProperties: false" for nand@ because all possible
>>            properties are described.
>>
>>      v4:
>>         1) Remove "label" and "partitions" properties
>>
>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>
>>      v3:
>>        1) Remove txt version from the MAINTAINERS list
>>
>>        2) Use enum for some of compatible strings
>>
>>        3) Drop:
>>              #address-cells
>>              #size-cells:
>>
>>           as they are inherited from the nand-controller.yaml
>>
>>        4) Add restriction to use 2 clocks for A8K SoC
>>
>>        5) Dropped description for clock-names and extend it with
>>           minItems: 1
>>
>>        6) Drop description for "dmas"
>>
>>        7) Use "unevalautedProperties: false"
>>
>>        8) Drop quites from yaml refs.
>>
>>        9) Use 4-space indentation for the example section
>>
>>      v2:
>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>
>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://scanmail.trustwave.com/?c=20988&d=-uv15DQ4yN1qOuZLco1jWqY7o8cBk1EQuTpwPcj4lA&u=https%3a%2f%2fpatchwork%2eozlabs%2eorg%2fpatch%2f1787248
^^^ apologies for this, it's ironic that a security feature on our email 
gateway makes links look _more_ like malicious URLs.
> nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
> 	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
This is resolved in patch 2/2. I can swap the order in the series if it 
helps.
> nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
I don't see these when I run dtbs_check
> nand-controller@43100000: clock-names: ['core'] is too short
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: dma-names:0: 'rxtx' was expected
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

I've been running `make ARCH=arm64 dtbs_check 
DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
didn't see these am I doing something wrong or did I just fail to look 
properly.

> nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb
>
> nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 20:59       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 20:59 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard


On 31/05/23 00:26, Krzysztof Kozlowski wrote:
> On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>
>> Switch the DT binding to a YAML schema to enable the DT validation.
>>
>> Dropped deprecated compatibles and properties described in txt file.
>>
>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>
>> Notes:
>>      Changes in v6:
>>      - remove properties covered by nand-controller.yaml
>>      - add example using armada-8k compatible
>>
>>      earlier changes:
>>
>>      v5:
>>         1) Get back "label" and "partitions" properties but without
>>            ref to the "partition.yaml" which was wrongly used.
>>
>>         2) Add "additionalProperties: false" for nand@ because all possible
>>            properties are described.
>>
>>      v4:
>>         1) Remove "label" and "partitions" properties
>>
>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>
>>      v3:
>>        1) Remove txt version from the MAINTAINERS list
>>
>>        2) Use enum for some of compatible strings
>>
>>        3) Drop:
>>              #address-cells
>>              #size-cells:
>>
>>           as they are inherited from the nand-controller.yaml
>>
>>        4) Add restriction to use 2 clocks for A8K SoC
>>
>>        5) Dropped description for clock-names and extend it with
>>           minItems: 1
>>
>>        6) Drop description for "dmas"
>>
>>        7) Use "unevalautedProperties: false"
>>
>>        8) Drop quites from yaml refs.
>>
>>        9) Use 4-space indentation for the example section
>>
>>      v2:
>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>
>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://scanmail.trustwave.com/?c=20988&d=-uv15DQ4yN1qOuZLco1jWqY7o8cBk1EQuTpwPcj4lA&u=https%3a%2f%2fpatchwork%2eozlabs%2eorg%2fpatch%2f1787248
^^^ apologies for this, it's ironic that a security feature on our email 
gateway makes links look _more_ like malicious URLs.
> nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
> 	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
This is resolved in patch 2/2. I can swap the order in the series if it 
helps.
> nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
I don't see these when I run dtbs_check
> nand-controller@43100000: clock-names: ['core'] is too short
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: dma-names:0: 'rxtx' was expected
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

I've been running `make ARCH=arm64 dtbs_check 
DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
didn't see these am I doing something wrong or did I just fail to look 
properly.

> nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb
>
> nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 20:59       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 20:59 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard


On 31/05/23 00:26, Krzysztof Kozlowski wrote:
> On Tue, 30 May 2023 12:53:36 +1200, Chris Packham wrote:
>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>
>> Switch the DT binding to a YAML schema to enable the DT validation.
>>
>> Dropped deprecated compatibles and properties described in txt file.
>>
>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>
>> Notes:
>>      Changes in v6:
>>      - remove properties covered by nand-controller.yaml
>>      - add example using armada-8k compatible
>>
>>      earlier changes:
>>
>>      v5:
>>         1) Get back "label" and "partitions" properties but without
>>            ref to the "partition.yaml" which was wrongly used.
>>
>>         2) Add "additionalProperties: false" for nand@ because all possible
>>            properties are described.
>>
>>      v4:
>>         1) Remove "label" and "partitions" properties
>>
>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>
>>      v3:
>>        1) Remove txt version from the MAINTAINERS list
>>
>>        2) Use enum for some of compatible strings
>>
>>        3) Drop:
>>              #address-cells
>>              #size-cells:
>>
>>           as they are inherited from the nand-controller.yaml
>>
>>        4) Add restriction to use 2 clocks for A8K SoC
>>
>>        5) Dropped description for clock-names and extend it with
>>           minItems: 1
>>
>>        6) Drop description for "dmas"
>>
>>        7) Use "unevalautedProperties: false"
>>
>>        8) Drop quites from yaml refs.
>>
>>        9) Use 4-space indentation for the example section
>>
>>      v2:
>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>
>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://scanmail.trustwave.com/?c=20988&d=-uv15DQ4yN1qOuZLco1jWqY7o8cBk1EQuTpwPcj4lA&u=https%3a%2f%2fpatchwork%2eozlabs%2eorg%2fpatch%2f1787248
^^^ apologies for this, it's ironic that a security feature on our email 
gateway makes links look _more_ like malicious URLs.
> nand@720000: $nodename:0: 'nand@720000' does not match '^nand-controller(@.*)?'
> 	arch/arm64/boot/dts/marvell/armada-7040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-7040-mochabin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-db.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-mcbin-singleshot.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/armada-8040-puzzle-m801.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-A.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-crb-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9130-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db.dtb
This is resolved in patch 2/2. I can swap the order in the series if it 
helps.
> nand@720000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm64/boot/dts/marvell/cn9130-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9131-db-B.dtb
> 	arch/arm64/boot/dts/marvell/cn9132-db-B.dtb
I don't see these when I run dtbs_check
> nand-controller@43100000: clock-names: ['core'] is too short
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: dma-names:0: 'rxtx' was expected
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
>
> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb

I've been running `make ARCH=arm64 dtbs_check 
DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
didn't see these am I doing something wrong or did I just fail to look 
properly.

> nand-controller@d0000: nand@0:partitions: Unevaluated properties are not allowed ('partition@errlog', 'partition@nand-bbt', 'partition@user' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb
>
> nand-controller@d0000: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
> 	arch/arm/boot/dts/armada-385-atl-x530.dtb
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 13:04       ` Miquel Raynal
  (?)
@ 2023-05-30 21:57         ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 21:57 UTC (permalink / raw)
  To: Miquel Raynal, Krzysztof Kozlowski
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, vadym.kochan,
	linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 01:04, Miquel Raynal wrote:
> Hi Krzysztof,
>
> krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:
>
>> On 30/05/2023 02:53, Chris Packham wrote:
>>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>>
>>> Switch the DT binding to a YAML schema to enable the DT validation.
>>>
>>> Dropped deprecated compatibles and properties described in txt file.
>>>
>>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> ---
>>>
>>> Notes:
>>>      Changes in v6:
>>>      - remove properties covered by nand-controller.yaml
>>>      - add example using armada-8k compatible
>>>      
>>>      earlier changes:
>>>      
>>>      v5:
>>>         1) Get back "label" and "partitions" properties but without
>> Where are they? Did you drop them in v6?
> label and partitions are defined in partitions/partition.yaml,
> referenced by partitions.yaml, referenced by mtd.yaml, referenced by
> nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
> in this file :-)
>
> So I believe there is nothing else to add in the controller's binding
> for these two properties? They are very generic, it would not be
> optimal if we had to take care about them.
Hmm it doesn't appear t be picking them up. I was only getting away with 
it because I didn't have unevaluatedProperties: false.
>>>            ref to the "partition.yaml" which was wrongly used.
>>
>>>      
>>>         2) Add "additionalProperties: false" for nand@ because all possible
>>>            properties are described.
>> Where? This cannot be silently dropped!
>>
>>>      
>>>      v4:
>>>         1) Remove "label" and "partitions" properties
>>>      
>>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>>      
>>>      v3:
>>>        1) Remove txt version from the MAINTAINERS list
>>>      
>>>        2) Use enum for some of compatible strings
>>>      
>>>        3) Drop:
>>>              #address-cells
>>>              #size-cells:
>>>      
>>>           as they are inherited from the nand-controller.yaml
>>>      
>>>        4) Add restriction to use 2 clocks for A8K SoC
>>>      
>>>        5) Dropped description for clock-names and extend it with
>>>           minItems: 1
>>>      
>>>        6) Drop description for "dmas"
>>>      
>>>        7) Use "unevalautedProperties: false"
>>>      
>>>        8) Drop quites from yaml refs.
>>>      
>>>        9) Use 4-space indentation for the example section
>>>      
>>>      v2:
>>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> new file mode 100644
>>> index 000000000000..c4b003f5fa9f
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> @@ -0,0 +1,190 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vK7BlmjMYw&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fmtd%2fmarvell%2cnand-controller%2eyaml%23
>>> +$schema: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vKqUlW2aNg&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23
>>> +
>>> +title: Marvell NAND Flash Controller (NFC)
>>> +
>>> +maintainers:
>>> +  - Miquel Raynal <miquel.raynal@bootlin.com>
>> Is it correct person for Marvell NAND? This should be not a subsystem
>> maintainer, but a device maintainer.
> I did not bother converting this file yet but I actually rewrote the
> corresponding Linux driver (5 years ago) entirely so I don't mind.
>
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
> I don't think we ever wanted having these two compatibles to describe a
> single hardware block?
>
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
>>
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    description:
>>> +      Shall reference the NAND controller clocks, the second one is
>>> +      is only needed for the Armada 7K/8K SoCs
>>> +    minItems: 1
>>> +    maxItems: 2
>>> +
>>> +  clock-names:
>> Missing minItems: 1
>>
>>> +    items:
>>> +      - const: core
>>> +      - const: reg
>>> +
>>> +  dmas:
>>> +    maxItems: 1
>>> +
>>> +  dma-names:
>>> +    items:
>>> +      - const: rxtx
>>> +
>>> +  marvell,system-controller:
>>> +    $ref: /schemas/types.yaml#/definitions/phandle
>>> +    description: Syscon node that handles NAND controller related registers
>>> +
>>> +patternProperties:
>>> +  "^nand@[0-3]$":
>>> +    type: object
>> Missing unevaluatedProperties: false on this level.
>>
>>> +    properties:
>>> +      reg:
>>> +        minimum: 0
>>> +        maximum: 3
> Same as below, it is an array as well IIRC.
>
>>> +
>>> +      nand-rb:
>>> +        minimum: 0
>>> +        maximum: 1
>> It's an array, so this does not sound right. You might want to put it
>> under items:.  Then you also miss min/maxItems.
> That's true, you can have either one or two members with the value
> [0-1], so you need both.
>
>>> +
>>> +      nand-ecc-step-size:
>>> +        const: 512
>>> +
>>> +      nand-ecc-strength:
>>> +        enum: [1, 4, 8]
> The controller (and the driver) actually supports 1, 4, 8, 12, 16.
>
>>> +
>>> +      marvell,nand-keep-config:
>>> +        description: |
>>> +          Orders the driver not to take the timings from the core and
>>> +          leaving them completely untouched. Bootloader timings will then
>>> +          be used.
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +
>>> +      marvell,nand-enable-arbiter:
>>> +        description: |
>>> +          To enable the arbiter, all boards blindly used it,
>>> +          this bit was set by the bootloader for many boards and even if
>>> +          it is marked reserved in several datasheets, it might be needed to set
>>> +          it (otherwise it is harmless) so whether or not this property is set,
>>> +          the bit is selected by the driver.
> Maybe we should slightly rephrase this to avoid driver related
> information.
>
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +        deprecated: true
>>> +
>>> +    required:
>>> +      - reg
>>> +      - nand-rb
>>> +
>>> +allOf:
>>> +  - $ref: nand-controller.yaml
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,pxa3xx-nand-controller
>>> +    then:
>>> +      required:
>>> +        - dmas
>>> +        - dma-names
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,armada-8k-nand-controller
>>> +    then:
>>> +      properties:
>>> +        clocks:
>>> +          minItems: 2
>>> +          maxItems: 2
>> Drop maxItems. You don't have it in clock-names.
>>
>>> +
>>> +        clock-names:
>>> +          minItems: 2
>>> +
>>> +      required:
>>> +        - marvell,system-controller
>>> +    else:
>>> +      properties:
>>> +        clocks:
>>> +          maxItems: 1
>>> +
>>> +        clock-names:
>>> +          maxItems: 1
>> I doubt that you tested it in above variant...
>>
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +  - interrupts
>>> +  - clocks
>>> +
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +    nand_controller: nand-controller@d0000 {
>>> +        compatible = "marvell,armada370-nand-controller";
>>> +        reg = <0xd0000 0x54>;
>>> +        #address-cells = <1>;
>>> +        #size-cells = <0>;
>>
>> Best regards,
>> Krzysztof
>>
> Thanks for doing this!
>
> Miquèl

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 21:57         ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 21:57 UTC (permalink / raw)
  To: Miquel Raynal, Krzysztof Kozlowski
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, vadym.kochan,
	linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 01:04, Miquel Raynal wrote:
> Hi Krzysztof,
>
> krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:
>
>> On 30/05/2023 02:53, Chris Packham wrote:
>>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>>
>>> Switch the DT binding to a YAML schema to enable the DT validation.
>>>
>>> Dropped deprecated compatibles and properties described in txt file.
>>>
>>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> ---
>>>
>>> Notes:
>>>      Changes in v6:
>>>      - remove properties covered by nand-controller.yaml
>>>      - add example using armada-8k compatible
>>>      
>>>      earlier changes:
>>>      
>>>      v5:
>>>         1) Get back "label" and "partitions" properties but without
>> Where are they? Did you drop them in v6?
> label and partitions are defined in partitions/partition.yaml,
> referenced by partitions.yaml, referenced by mtd.yaml, referenced by
> nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
> in this file :-)
>
> So I believe there is nothing else to add in the controller's binding
> for these two properties? They are very generic, it would not be
> optimal if we had to take care about them.
Hmm it doesn't appear t be picking them up. I was only getting away with 
it because I didn't have unevaluatedProperties: false.
>>>            ref to the "partition.yaml" which was wrongly used.
>>
>>>      
>>>         2) Add "additionalProperties: false" for nand@ because all possible
>>>            properties are described.
>> Where? This cannot be silently dropped!
>>
>>>      
>>>      v4:
>>>         1) Remove "label" and "partitions" properties
>>>      
>>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>>      
>>>      v3:
>>>        1) Remove txt version from the MAINTAINERS list
>>>      
>>>        2) Use enum for some of compatible strings
>>>      
>>>        3) Drop:
>>>              #address-cells
>>>              #size-cells:
>>>      
>>>           as they are inherited from the nand-controller.yaml
>>>      
>>>        4) Add restriction to use 2 clocks for A8K SoC
>>>      
>>>        5) Dropped description for clock-names and extend it with
>>>           minItems: 1
>>>      
>>>        6) Drop description for "dmas"
>>>      
>>>        7) Use "unevalautedProperties: false"
>>>      
>>>        8) Drop quites from yaml refs.
>>>      
>>>        9) Use 4-space indentation for the example section
>>>      
>>>      v2:
>>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> new file mode 100644
>>> index 000000000000..c4b003f5fa9f
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> @@ -0,0 +1,190 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vK7BlmjMYw&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fmtd%2fmarvell%2cnand-controller%2eyaml%23
>>> +$schema: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vKqUlW2aNg&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23
>>> +
>>> +title: Marvell NAND Flash Controller (NFC)
>>> +
>>> +maintainers:
>>> +  - Miquel Raynal <miquel.raynal@bootlin.com>
>> Is it correct person for Marvell NAND? This should be not a subsystem
>> maintainer, but a device maintainer.
> I did not bother converting this file yet but I actually rewrote the
> corresponding Linux driver (5 years ago) entirely so I don't mind.
>
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
> I don't think we ever wanted having these two compatibles to describe a
> single hardware block?
>
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
>>
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    description:
>>> +      Shall reference the NAND controller clocks, the second one is
>>> +      is only needed for the Armada 7K/8K SoCs
>>> +    minItems: 1
>>> +    maxItems: 2
>>> +
>>> +  clock-names:
>> Missing minItems: 1
>>
>>> +    items:
>>> +      - const: core
>>> +      - const: reg
>>> +
>>> +  dmas:
>>> +    maxItems: 1
>>> +
>>> +  dma-names:
>>> +    items:
>>> +      - const: rxtx
>>> +
>>> +  marvell,system-controller:
>>> +    $ref: /schemas/types.yaml#/definitions/phandle
>>> +    description: Syscon node that handles NAND controller related registers
>>> +
>>> +patternProperties:
>>> +  "^nand@[0-3]$":
>>> +    type: object
>> Missing unevaluatedProperties: false on this level.
>>
>>> +    properties:
>>> +      reg:
>>> +        minimum: 0
>>> +        maximum: 3
> Same as below, it is an array as well IIRC.
>
>>> +
>>> +      nand-rb:
>>> +        minimum: 0
>>> +        maximum: 1
>> It's an array, so this does not sound right. You might want to put it
>> under items:.  Then you also miss min/maxItems.
> That's true, you can have either one or two members with the value
> [0-1], so you need both.
>
>>> +
>>> +      nand-ecc-step-size:
>>> +        const: 512
>>> +
>>> +      nand-ecc-strength:
>>> +        enum: [1, 4, 8]
> The controller (and the driver) actually supports 1, 4, 8, 12, 16.
>
>>> +
>>> +      marvell,nand-keep-config:
>>> +        description: |
>>> +          Orders the driver not to take the timings from the core and
>>> +          leaving them completely untouched. Bootloader timings will then
>>> +          be used.
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +
>>> +      marvell,nand-enable-arbiter:
>>> +        description: |
>>> +          To enable the arbiter, all boards blindly used it,
>>> +          this bit was set by the bootloader for many boards and even if
>>> +          it is marked reserved in several datasheets, it might be needed to set
>>> +          it (otherwise it is harmless) so whether or not this property is set,
>>> +          the bit is selected by the driver.
> Maybe we should slightly rephrase this to avoid driver related
> information.
>
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +        deprecated: true
>>> +
>>> +    required:
>>> +      - reg
>>> +      - nand-rb
>>> +
>>> +allOf:
>>> +  - $ref: nand-controller.yaml
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,pxa3xx-nand-controller
>>> +    then:
>>> +      required:
>>> +        - dmas
>>> +        - dma-names
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,armada-8k-nand-controller
>>> +    then:
>>> +      properties:
>>> +        clocks:
>>> +          minItems: 2
>>> +          maxItems: 2
>> Drop maxItems. You don't have it in clock-names.
>>
>>> +
>>> +        clock-names:
>>> +          minItems: 2
>>> +
>>> +      required:
>>> +        - marvell,system-controller
>>> +    else:
>>> +      properties:
>>> +        clocks:
>>> +          maxItems: 1
>>> +
>>> +        clock-names:
>>> +          maxItems: 1
>> I doubt that you tested it in above variant...
>>
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +  - interrupts
>>> +  - clocks
>>> +
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +    nand_controller: nand-controller@d0000 {
>>> +        compatible = "marvell,armada370-nand-controller";
>>> +        reg = <0xd0000 0x54>;
>>> +        #address-cells = <1>;
>>> +        #size-cells = <0>;
>>
>> Best regards,
>> Krzysztof
>>
> Thanks for doing this!
>
> Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 21:57         ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 21:57 UTC (permalink / raw)
  To: Miquel Raynal, Krzysztof Kozlowski
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, vadym.kochan,
	linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 01:04, Miquel Raynal wrote:
> Hi Krzysztof,
>
> krzysztof.kozlowski@linaro.org wrote on Tue, 30 May 2023 14:24:22 +0200:
>
>> On 30/05/2023 02:53, Chris Packham wrote:
>>> From: Vadym Kochan <vadym.kochan@plvision.eu>
>>>
>>> Switch the DT binding to a YAML schema to enable the DT validation.
>>>
>>> Dropped deprecated compatibles and properties described in txt file.
>>>
>>> Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> ---
>>>
>>> Notes:
>>>      Changes in v6:
>>>      - remove properties covered by nand-controller.yaml
>>>      - add example using armada-8k compatible
>>>      
>>>      earlier changes:
>>>      
>>>      v5:
>>>         1) Get back "label" and "partitions" properties but without
>> Where are they? Did you drop them in v6?
> label and partitions are defined in partitions/partition.yaml,
> referenced by partitions.yaml, referenced by mtd.yaml, referenced by
> nand-chip.yaml, referenced by nand-controller.yaml, itself referenced
> in this file :-)
>
> So I believe there is nothing else to add in the controller's binding
> for these two properties? They are very generic, it would not be
> optimal if we had to take care about them.
Hmm it doesn't appear t be picking them up. I was only getting away with 
it because I didn't have unevaluatedProperties: false.
>>>            ref to the "partition.yaml" which was wrongly used.
>>
>>>      
>>>         2) Add "additionalProperties: false" for nand@ because all possible
>>>            properties are described.
>> Where? This cannot be silently dropped!
>>
>>>      
>>>      v4:
>>>         1) Remove "label" and "partitions" properties
>>>      
>>>         2) Use 2 clocks for A7K/8K platform which is a requirement
>>>      
>>>      v3:
>>>        1) Remove txt version from the MAINTAINERS list
>>>      
>>>        2) Use enum for some of compatible strings
>>>      
>>>        3) Drop:
>>>              #address-cells
>>>              #size-cells:
>>>      
>>>           as they are inherited from the nand-controller.yaml
>>>      
>>>        4) Add restriction to use 2 clocks for A8K SoC
>>>      
>>>        5) Dropped description for clock-names and extend it with
>>>           minItems: 1
>>>      
>>>        6) Drop description for "dmas"
>>>      
>>>        7) Use "unevalautedProperties: false"
>>>      
>>>        8) Drop quites from yaml refs.
>>>      
>>>        9) Use 4-space indentation for the example section
>>>      
>>>      v2:
>>>        1) Fixed warning by yamllint with incorrect indentation for compatible list
>>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   3 files changed, 190 insertions(+), 127 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> new file mode 100644
>>> index 000000000000..c4b003f5fa9f
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>> @@ -0,0 +1,190 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vK7BlmjMYw&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fmtd%2fmarvell%2cnand-controller%2eyaml%23
>>> +$schema: http://scanmail.trustwave.com/?c=20988&d=9fT15MoBhmyC0BWsX8X7RkhpsyYpcEL9vKqUlW2aNg&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23
>>> +
>>> +title: Marvell NAND Flash Controller (NFC)
>>> +
>>> +maintainers:
>>> +  - Miquel Raynal <miquel.raynal@bootlin.com>
>> Is it correct person for Marvell NAND? This should be not a subsystem
>> maintainer, but a device maintainer.
> I did not bother converting this file yet but I actually rewrote the
> corresponding Linux driver (5 years ago) entirely so I don't mind.
>
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
> I don't think we ever wanted having these two compatibles to describe a
> single hardware block?
>
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
>>
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    description:
>>> +      Shall reference the NAND controller clocks, the second one is
>>> +      is only needed for the Armada 7K/8K SoCs
>>> +    minItems: 1
>>> +    maxItems: 2
>>> +
>>> +  clock-names:
>> Missing minItems: 1
>>
>>> +    items:
>>> +      - const: core
>>> +      - const: reg
>>> +
>>> +  dmas:
>>> +    maxItems: 1
>>> +
>>> +  dma-names:
>>> +    items:
>>> +      - const: rxtx
>>> +
>>> +  marvell,system-controller:
>>> +    $ref: /schemas/types.yaml#/definitions/phandle
>>> +    description: Syscon node that handles NAND controller related registers
>>> +
>>> +patternProperties:
>>> +  "^nand@[0-3]$":
>>> +    type: object
>> Missing unevaluatedProperties: false on this level.
>>
>>> +    properties:
>>> +      reg:
>>> +        minimum: 0
>>> +        maximum: 3
> Same as below, it is an array as well IIRC.
>
>>> +
>>> +      nand-rb:
>>> +        minimum: 0
>>> +        maximum: 1
>> It's an array, so this does not sound right. You might want to put it
>> under items:.  Then you also miss min/maxItems.
> That's true, you can have either one or two members with the value
> [0-1], so you need both.
>
>>> +
>>> +      nand-ecc-step-size:
>>> +        const: 512
>>> +
>>> +      nand-ecc-strength:
>>> +        enum: [1, 4, 8]
> The controller (and the driver) actually supports 1, 4, 8, 12, 16.
>
>>> +
>>> +      marvell,nand-keep-config:
>>> +        description: |
>>> +          Orders the driver not to take the timings from the core and
>>> +          leaving them completely untouched. Bootloader timings will then
>>> +          be used.
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +
>>> +      marvell,nand-enable-arbiter:
>>> +        description: |
>>> +          To enable the arbiter, all boards blindly used it,
>>> +          this bit was set by the bootloader for many boards and even if
>>> +          it is marked reserved in several datasheets, it might be needed to set
>>> +          it (otherwise it is harmless) so whether or not this property is set,
>>> +          the bit is selected by the driver.
> Maybe we should slightly rephrase this to avoid driver related
> information.
>
>>> +        $ref: /schemas/types.yaml#/definitions/flag
>>> +        deprecated: true
>>> +
>>> +    required:
>>> +      - reg
>>> +      - nand-rb
>>> +
>>> +allOf:
>>> +  - $ref: nand-controller.yaml
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,pxa3xx-nand-controller
>>> +    then:
>>> +      required:
>>> +        - dmas
>>> +        - dma-names
>>> +
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: marvell,armada-8k-nand-controller
>>> +    then:
>>> +      properties:
>>> +        clocks:
>>> +          minItems: 2
>>> +          maxItems: 2
>> Drop maxItems. You don't have it in clock-names.
>>
>>> +
>>> +        clock-names:
>>> +          minItems: 2
>>> +
>>> +      required:
>>> +        - marvell,system-controller
>>> +    else:
>>> +      properties:
>>> +        clocks:
>>> +          maxItems: 1
>>> +
>>> +        clock-names:
>>> +          maxItems: 1
>> I doubt that you tested it in above variant...
>>
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +  - interrupts
>>> +  - clocks
>>> +
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +    nand_controller: nand-controller@d0000 {
>>> +        compatible = "marvell,armada370-nand-controller";
>>> +        reg = <0xd0000 0x54>;
>>> +        #address-cells = <1>;
>>> +        #size-cells = <0>;
>>
>> Best regards,
>> Krzysztof
>>
> Thanks for doing this!
>
> Miquèl
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 12:24     ` Krzysztof Kozlowski
  (?)
@ 2023-05-30 23:20       ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 23:20 UTC (permalink / raw)
  To: Krzysztof Kozlowski, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - items:
>> +          - const: marvell,armada-8k-nand-controller
>> +          - const: marvell,armada370-nand-controller
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
Is there any way to indicate that a compatible value is deprecated? I 
know how to mark a property as deprecated but how do I indicate this for 
specific compatible values?

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 23:20       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 23:20 UTC (permalink / raw)
  To: Krzysztof Kozlowski, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - items:
>> +          - const: marvell,armada-8k-nand-controller
>> +          - const: marvell,armada370-nand-controller
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
Is there any way to indicate that a compatible value is deprecated? I 
know how to mark a property as deprecated but how do I indicate this for 
specific compatible values?
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 23:20       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-05-30 23:20 UTC (permalink / raw)
  To: Krzysztof Kozlowski, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - items:
>> +          - const: marvell,armada-8k-nand-controller
>> +          - const: marvell,armada370-nand-controller
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
> You miss here deprecated compatibles, which are BTW still used. Don't
> drop properties and compatibles during conversion.
Is there any way to indicate that a compatible value is deprecated? I 
know how to mark a property as deprecated but how do I indicate this for 
specific compatible values?
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 23:20       ` Chris Packham
  (?)
@ 2023-05-31  7:00         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:00 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/2023 01:20, Chris Packham wrote:
> On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
> Is there any way to indicate that a compatible value is deprecated? I 
> know how to mark a property as deprecated but how do I indicate this for 
> specific compatible values?

The same way. git grep -C 5 compatible. First result in the DT bindings...

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31  7:00         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:00 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/2023 01:20, Chris Packham wrote:
> On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
> Is there any way to indicate that a compatible value is deprecated? I 
> know how to mark a property as deprecated but how do I indicate this for 
> specific compatible values?

The same way. git grep -C 5 compatible. First result in the DT bindings...

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31  7:00         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:00 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman

On 31/05/2023 01:20, Chris Packham wrote:
> On 31/05/23 00:24, Krzysztof Kozlowski wrote:
>>> +
>>> +properties:
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - const: marvell,armada-8k-nand-controller
>>> +          - const: marvell,armada370-nand-controller
>>> +      - enum:
>>> +          - marvell,armada370-nand-controller
>>> +          - marvell,pxa3xx-nand-controller
>> You miss here deprecated compatibles, which are BTW still used. Don't
>> drop properties and compatibles during conversion.
> Is there any way to indicate that a compatible value is deprecated? I 
> know how to mark a property as deprecated but how do I indicate this for 
> specific compatible values?

The same way. git grep -C 5 compatible. First result in the DT bindings...

Best regards,
Krzysztof


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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 20:59       ` Chris Packham
  (?)
@ 2023-05-31  7:01         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:01 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On 30/05/2023 22:59, Chris Packham wrote:
>> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
>> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
> 
> I've been running `make ARCH=arm64 dtbs_check 
> DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
> didn't see these am I doing something wrong or did I just fail to look 
> properly.

It's fine. There were false positives in the report.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31  7:01         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:01 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On 30/05/2023 22:59, Chris Packham wrote:
>> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
>> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
> 
> I've been running `make ARCH=arm64 dtbs_check 
> DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
> didn't see these am I doing something wrong or did I just fail to look 
> properly.

It's fine. There were false positives in the report.

Best regards,
Krzysztof


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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31  7:01         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2023-05-31  7:01 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, sebastian.hesselbarth, gregory.clement,
	vadym.kochan, linux-kernel, vigneshr, conor+dt, linux-arm-kernel,
	andrew, robh+dt, krzysztof.kozlowski+dt, linux-mtd, enachman,
	devicetree, richard

On 30/05/2023 22:59, Chris Packham wrote:
>> nand-controller@43100000: Unevaluated properties are not allowed ('dma-names' was unexpected)
>> 	arch/arm/boot/dts/pxa300-raumfeld-connector.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-controller.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-l.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-m.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-one.dtb
>> 	arch/arm/boot/dts/pxa300-raumfeld-speaker-s.dtb
> 
> I've been running `make ARCH=arm64 dtbs_check 
> DT_SCHEMA_FILES=marvell,nand-controller.yaml` (and similar for arm) but 
> didn't see these am I doing something wrong or did I just fail to look 
> properly.

It's fine. There were false positives in the report.

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
  2023-05-30  0:53 ` Chris Packham
  (?)
@ 2023-06-16 11:45   ` Gregory CLEMENT
  -1 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:45 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Chris Packham <chris.packham@alliedtelesis.co.nz> writes:

> Add YAML scheme for the Marvell's NAND controller
> to validate it's DT bindings. Old txt file is deleted,
> not included the compatibles and properties which were marked as
> deprecated.
>
> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>
> I've picked up this series to hopefully get it over the line. I think I've
> addressed all the feedback from the last round of review.
>
> Vadym Kochan (2):
>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>     YAML


Both patch applied on mvebu/dt64

However if the first patch should be merged through another tree, let me
know.

Thanks,

Gregory


>
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>  4 files changed, 191 insertions(+), 128 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>
> -- 
> 2.40.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-16 11:45   ` Gregory CLEMENT
  0 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:45 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Chris Packham <chris.packham@alliedtelesis.co.nz> writes:

> Add YAML scheme for the Marvell's NAND controller
> to validate it's DT bindings. Old txt file is deleted,
> not included the compatibles and properties which were marked as
> deprecated.
>
> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>
> I've picked up this series to hopefully get it over the line. I think I've
> addressed all the feedback from the last round of review.
>
> Vadym Kochan (2):
>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>     YAML


Both patch applied on mvebu/dt64

However if the first patch should be merged through another tree, let me
know.

Thanks,

Gregory


>
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>  4 files changed, 191 insertions(+), 128 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>
> -- 
> 2.40.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-16 11:45   ` Gregory CLEMENT
  0 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:45 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Chris Packham <chris.packham@alliedtelesis.co.nz> writes:

> Add YAML scheme for the Marvell's NAND controller
> to validate it's DT bindings. Old txt file is deleted,
> not included the compatibles and properties which were marked as
> deprecated.
>
> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>
> I've picked up this series to hopefully get it over the line. I think I've
> addressed all the feedback from the last round of review.
>
> Vadym Kochan (2):
>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>     YAML


Both patch applied on mvebu/dt64

However if the first patch should be merged through another tree, let me
know.

Thanks,

Gregory


>
>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>  MAINTAINERS                                   |   1 -
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>  4 files changed, 191 insertions(+), 128 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>
> -- 
> 2.40.1
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
  2023-06-16 11:45   ` Gregory CLEMENT
  (?)
@ 2023-06-16 11:58     ` Gregory CLEMENT
  -1 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:58 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Gregory CLEMENT <gregory.clement@bootlin.com> writes:

> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>
>> Add YAML scheme for the Marvell's NAND controller
>> to validate it's DT bindings. Old txt file is deleted,
>> not included the compatibles and properties which were marked as
>> deprecated.
>>
>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>
>> I've picked up this series to hopefully get it over the line. I think I've
>> addressed all the feedback from the last round of review.
>>
>> Vadym Kochan (2):
>>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>     YAML
>
>
> Both patch applied on mvebu/dt64
>
> However if the first patch should be merged through another tree, let me
> know.

Finally I removed these both patches, I missed the version 9!

I applied the 2 patches for the dts files from v9.

Thanks,

Gregory
>
>
>>
>>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>  MAINTAINERS                                   |   1 -
>>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>  4 files changed, 191 insertions(+), 128 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
>> -- 
>> 2.40.1
>>
>
> -- 
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> http://bootlin.com

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-16 11:58     ` Gregory CLEMENT
  0 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:58 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Gregory CLEMENT <gregory.clement@bootlin.com> writes:

> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>
>> Add YAML scheme for the Marvell's NAND controller
>> to validate it's DT bindings. Old txt file is deleted,
>> not included the compatibles and properties which were marked as
>> deprecated.
>>
>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>
>> I've picked up this series to hopefully get it over the line. I think I've
>> addressed all the feedback from the last round of review.
>>
>> Vadym Kochan (2):
>>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>     YAML
>
>
> Both patch applied on mvebu/dt64
>
> However if the first patch should be merged through another tree, let me
> know.

Finally I removed these both patches, I missed the version 9!

I applied the 2 patches for the dts files from v9.

Thanks,

Gregory
>
>
>>
>>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>  MAINTAINERS                                   |   1 -
>>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>  4 files changed, 191 insertions(+), 128 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
>> -- 
>> 2.40.1
>>
>
> -- 
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> http://bootlin.com

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

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

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-16 11:58     ` Gregory CLEMENT
  0 siblings, 0 replies; 42+ messages in thread
From: Gregory CLEMENT @ 2023-06-16 11:58 UTC (permalink / raw)
  To: Chris Packham, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Gregory CLEMENT <gregory.clement@bootlin.com> writes:

> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>
>> Add YAML scheme for the Marvell's NAND controller
>> to validate it's DT bindings. Old txt file is deleted,
>> not included the compatibles and properties which were marked as
>> deprecated.
>>
>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>
>> I've picked up this series to hopefully get it over the line. I think I've
>> addressed all the feedback from the last round of review.
>>
>> Vadym Kochan (2):
>>   dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>   arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>     YAML
>
>
> Both patch applied on mvebu/dt64
>
> However if the first patch should be merged through another tree, let me
> know.

Finally I removed these both patches, I missed the version 9!

I applied the 2 patches for the dts files from v9.

Thanks,

Gregory
>
>
>>
>>  .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>  MAINTAINERS                                   |   1 -
>>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>  4 files changed, 191 insertions(+), 128 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>  delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>
>> -- 
>> 2.40.1
>>
>
> -- 
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> http://bootlin.com

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
  2023-06-16 11:58     ` Gregory CLEMENT
  (?)
@ 2023-06-18 21:12       ` Chris Packham
  -1 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-06-18 21:12 UTC (permalink / raw)
  To: Gregory CLEMENT, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 16/06/23 23:58, Gregory CLEMENT wrote:
> Gregory CLEMENT <gregory.clement@bootlin.com> writes:
>
>> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>>
>>> Add YAML scheme for the Marvell's NAND controller
>>> to validate it's DT bindings. Old txt file is deleted,
>>> not included the compatibles and properties which were marked as
>>> deprecated.
>>>
>>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>>
>>> I've picked up this series to hopefully get it over the line. I think I've
>>> addressed all the feedback from the last round of review.
>>>
>>> Vadym Kochan (2):
>>>    dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>>    arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>>      YAML
>>
>> Both patch applied on mvebu/dt64
>>
>> However if the first patch should be merged through another tree, let me
>> know.
> Finally I removed these both patches, I missed the version 9!
>
> I applied the 2 patches for the dts files from v9.
>
> Thanks,
>
> Gregory
Thanks and sorry for the confusion. There's a v10 on the way but I can 
drop out the dts changes from that now.
>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>>   4 files changed, 191 insertions(+), 128 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> -- 
>>> 2.40.1
>>>
>> -- 
>> Gregory Clement, Bootlin
>> Embedded Linux and Kernel engineering
>> http://scanmail.trustwave.com/?c=20988&d=0c6M5H8PBagWXDuSKsjbXpd1zLX-HHHRk3xSZOdFDw&u=http%3a%2f%2fbootlin%2ecom

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-18 21:12       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-06-18 21:12 UTC (permalink / raw)
  To: Gregory CLEMENT, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 16/06/23 23:58, Gregory CLEMENT wrote:
> Gregory CLEMENT <gregory.clement@bootlin.com> writes:
>
>> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>>
>>> Add YAML scheme for the Marvell's NAND controller
>>> to validate it's DT bindings. Old txt file is deleted,
>>> not included the compatibles and properties which were marked as
>>> deprecated.
>>>
>>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>>
>>> I've picked up this series to hopefully get it over the line. I think I've
>>> addressed all the feedback from the last round of review.
>>>
>>> Vadym Kochan (2):
>>>    dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>>    arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>>      YAML
>>
>> Both patch applied on mvebu/dt64
>>
>> However if the first patch should be merged through another tree, let me
>> know.
> Finally I removed these both patches, I missed the version 9!
>
> I applied the 2 patches for the dts files from v9.
>
> Thanks,
>
> Gregory
Thanks and sorry for the confusion. There's a v10 on the way but I can 
drop out the dts changes from that now.
>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>>   4 files changed, 191 insertions(+), 128 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> -- 
>>> 2.40.1
>>>
>> -- 
>> Gregory Clement, Bootlin
>> Embedded Linux and Kernel engineering
>> http://scanmail.trustwave.com/?c=20988&d=0c6M5H8PBagWXDuSKsjbXpd1zLX-HHHRk3xSZOdFDw&u=http%3a%2f%2fbootlin%2ecom
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-06-18 21:12       ` Chris Packham
  0 siblings, 0 replies; 42+ messages in thread
From: Chris Packham @ 2023-06-18 21:12 UTC (permalink / raw)
  To: Gregory CLEMENT, miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, sebastian.hesselbarth,
	vadym.kochan
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman


On 16/06/23 23:58, Gregory CLEMENT wrote:
> Gregory CLEMENT <gregory.clement@bootlin.com> writes:
>
>> Chris Packham <chris.packham@alliedtelesis.co.nz> writes:
>>
>>> Add YAML scheme for the Marvell's NAND controller
>>> to validate it's DT bindings. Old txt file is deleted,
>>> not included the compatibles and properties which were marked as
>>> deprecated.
>>>
>>> Also fix node name in cp11x DTSI acording to nand-controller.yaml
>>>
>>> I've picked up this series to hopefully get it over the line. I think I've
>>> addressed all the feedback from the last round of review.
>>>
>>> Vadym Kochan (2):
>>>    dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
>>>    arm64: dts: marvell: cp11x: Fix nand_controller node name according to
>>>      YAML
>>
>> Both patch applied on mvebu/dt64
>>
>> However if the first patch should be merged through another tree, let me
>> know.
> Finally I removed these both patches, I missed the version 9!
>
> I applied the 2 patches for the dts files from v9.
>
> Thanks,
>
> Gregory
Thanks and sorry for the confusion. There's a v10 on the way but I can 
drop out the dts changes from that now.
>>
>>>   .../bindings/mtd/marvell,nand-controller.yaml | 190 ++++++++++++++++++
>>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ------------
>>>   MAINTAINERS                                   |   1 -
>>>   arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
>>>   4 files changed, 191 insertions(+), 128 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>>>   delete mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt
>>>
>>> -- 
>>> 2.40.1
>>>
>> -- 
>> Gregory Clement, Bootlin
>> Embedded Linux and Kernel engineering
>> http://scanmail.trustwave.com/?c=20988&d=0c6M5H8PBagWXDuSKsjbXpd1zLX-HHHRk3xSZOdFDw&u=http%3a%2f%2fbootlin%2ecom
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2023-06-18 21:13 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30  0:53 [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme Chris Packham
2023-05-30  0:53 ` Chris Packham
2023-05-30  0:53 ` Chris Packham
2023-05-30  0:53 ` [PATCH v6 1/2] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme Chris Packham
2023-05-30  0:53   ` Chris Packham
2023-05-30  0:53   ` Chris Packham
2023-05-30 12:24   ` Krzysztof Kozlowski
2023-05-30 12:24     ` Krzysztof Kozlowski
2023-05-30 12:24     ` Krzysztof Kozlowski
2023-05-30 13:04     ` Miquel Raynal
2023-05-30 13:04       ` Miquel Raynal
2023-05-30 13:04       ` Miquel Raynal
2023-05-30 21:57       ` Chris Packham
2023-05-30 21:57         ` Chris Packham
2023-05-30 21:57         ` Chris Packham
2023-05-30 23:20     ` Chris Packham
2023-05-30 23:20       ` Chris Packham
2023-05-30 23:20       ` Chris Packham
2023-05-31  7:00       ` Krzysztof Kozlowski
2023-05-31  7:00         ` Krzysztof Kozlowski
2023-05-31  7:00         ` Krzysztof Kozlowski
2023-05-30 12:26   ` Krzysztof Kozlowski
2023-05-30 12:26     ` Krzysztof Kozlowski
2023-05-30 12:26     ` Krzysztof Kozlowski
2023-05-30 20:59     ` Chris Packham
2023-05-30 20:59       ` Chris Packham
2023-05-30 20:59       ` Chris Packham
2023-05-31  7:01       ` Krzysztof Kozlowski
2023-05-31  7:01         ` Krzysztof Kozlowski
2023-05-31  7:01         ` Krzysztof Kozlowski
2023-05-30  0:53 ` [PATCH v6 2/2] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML Chris Packham
2023-05-30  0:53   ` Chris Packham
2023-05-30  0:53   ` Chris Packham
2023-06-16 11:45 ` [PATCH v6 0/2] dt-bindings: mtd: marvell-nand: Add YAML scheme Gregory CLEMENT
2023-06-16 11:45   ` Gregory CLEMENT
2023-06-16 11:45   ` Gregory CLEMENT
2023-06-16 11:58   ` Gregory CLEMENT
2023-06-16 11:58     ` Gregory CLEMENT
2023-06-16 11:58     ` Gregory CLEMENT
2023-06-18 21:12     ` Chris Packham
2023-06-18 21:12       ` Chris Packham
2023-06-18 21:12       ` Chris Packham

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.