All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/4] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30 23:54 ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  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.

As of v7 I've re-ordered the patches so the fixups for the device trees come
before the schema so if the series is applied in order the various checkers
should pass cleanly.

Chris Packham (2):
  ARM: dts: mvebu: align MTD partition nodes to dtschema
  dt-bindings: mtd: marvell-nand: Remove deprecated compatibles

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

 .../bindings/mtd/marvell,nand-controller.yaml | 218 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 arch/arm/boot/dts/armada-385-atl-x530.dts     |  14 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 5 files changed, 226 insertions(+), 135 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] 39+ messages in thread

* [PATCH v7 0/4] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30 23:54 ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  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.

As of v7 I've re-ordered the patches so the fixups for the device trees come
before the schema so if the series is applied in order the various checkers
should pass cleanly.

Chris Packham (2):
  ARM: dts: mvebu: align MTD partition nodes to dtschema
  dt-bindings: mtd: marvell-nand: Remove deprecated compatibles

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

 .../bindings/mtd/marvell,nand-controller.yaml | 218 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 arch/arm/boot/dts/armada-385-atl-x530.dts     |  14 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 5 files changed, 226 insertions(+), 135 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] 39+ messages in thread

* [PATCH v7 0/4] dt-bindings: mtd: marvell-nand: Add YAML scheme
@ 2023-05-30 23:54 ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  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.

As of v7 I've re-ordered the patches so the fixups for the device trees come
before the schema so if the series is applied in order the various checkers
should pass cleanly.

Chris Packham (2):
  ARM: dts: mvebu: align MTD partition nodes to dtschema
  dt-bindings: mtd: marvell-nand: Remove deprecated compatibles

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

 .../bindings/mtd/marvell,nand-controller.yaml | 218 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 arch/arm/boot/dts/armada-385-atl-x530.dts     |  14 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   2 +-
 5 files changed, 226 insertions(+), 135 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] 39+ messages in thread

* [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
  2023-05-30 23:54 ` Chris Packham
  (?)
@ 2023-05-30 23:54   ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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] 39+ messages in thread

* [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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] 39+ messages in thread

* [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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] 39+ messages in thread

* [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
  2023-05-30 23:54 ` Chris Packham
  (?)
@ 2023-05-30 23:54   ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Update the node names for the SPI NOR and NAND partitions to conform to
the partition properties in the relevant dtschema.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
index 241f5d7c80e9..5a9ab8410b7b 100644
--- a/arch/arm/boot/dts/armada-385-atl-x530.dts
+++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
@@ -179,19 +179,19 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@u-boot {
+			partition@0 {
 				reg = <0x00000000 0x00100000>;
 				label = "u-boot";
 			};
-			partition@u-boot-env {
+			partition@100000 {
 				reg = <0x00100000 0x00040000>;
 				label = "u-boot-env";
 			};
-			partition@unused {
+			partition@140000 {
 				reg = <0x00140000 0x00e80000>;
 				label = "unused";
 			};
-			partition@idprom {
+			partition@fc0000 {
 				reg = <0x00fc0000 0x00040000>;
 				label = "idprom";
 			};
@@ -216,16 +216,16 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@user {
+			partition@0 {
 				reg = <0x00000000 0x0f000000>;
 				label = "user";
 			};
-			partition@errlog {
+			partition@f000000 {
 				/* Maximum mtdoops size is 8MB, so set to that. */
 				reg = <0x0f000000 0x00800000>;
 				label = "errlog";
 			};
-			partition@nand-bbt {
+			partition@f800000 {
 				reg = <0x0f800000 0x00800000>;
 				label = "nand-bbt";
 			};
-- 
2.40.1


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

* [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Update the node names for the SPI NOR and NAND partitions to conform to
the partition properties in the relevant dtschema.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
index 241f5d7c80e9..5a9ab8410b7b 100644
--- a/arch/arm/boot/dts/armada-385-atl-x530.dts
+++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
@@ -179,19 +179,19 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@u-boot {
+			partition@0 {
 				reg = <0x00000000 0x00100000>;
 				label = "u-boot";
 			};
-			partition@u-boot-env {
+			partition@100000 {
 				reg = <0x00100000 0x00040000>;
 				label = "u-boot-env";
 			};
-			partition@unused {
+			partition@140000 {
 				reg = <0x00140000 0x00e80000>;
 				label = "unused";
 			};
-			partition@idprom {
+			partition@fc0000 {
 				reg = <0x00fc0000 0x00040000>;
 				label = "idprom";
 			};
@@ -216,16 +216,16 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@user {
+			partition@0 {
 				reg = <0x00000000 0x0f000000>;
 				label = "user";
 			};
-			partition@errlog {
+			partition@f000000 {
 				/* Maximum mtdoops size is 8MB, so set to that. */
 				reg = <0x0f000000 0x00800000>;
 				label = "errlog";
 			};
-			partition@nand-bbt {
+			partition@f800000 {
 				reg = <0x0f800000 0x00800000>;
 				label = "nand-bbt";
 			};
-- 
2.40.1


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

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

* [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Update the node names for the SPI NOR and NAND partitions to conform to
the partition properties in the relevant dtschema.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
index 241f5d7c80e9..5a9ab8410b7b 100644
--- a/arch/arm/boot/dts/armada-385-atl-x530.dts
+++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
@@ -179,19 +179,19 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@u-boot {
+			partition@0 {
 				reg = <0x00000000 0x00100000>;
 				label = "u-boot";
 			};
-			partition@u-boot-env {
+			partition@100000 {
 				reg = <0x00100000 0x00040000>;
 				label = "u-boot-env";
 			};
-			partition@unused {
+			partition@140000 {
 				reg = <0x00140000 0x00e80000>;
 				label = "unused";
 			};
-			partition@idprom {
+			partition@fc0000 {
 				reg = <0x00fc0000 0x00040000>;
 				label = "idprom";
 			};
@@ -216,16 +216,16 @@ partitions {
 			compatible = "fixed-partitions";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			partition@user {
+			partition@0 {
 				reg = <0x00000000 0x0f000000>;
 				label = "user";
 			};
-			partition@errlog {
+			partition@f000000 {
 				/* Maximum mtdoops size is 8MB, so set to that. */
 				reg = <0x0f000000 0x00800000>;
 				label = "errlog";
 			};
-			partition@nand-bbt {
+			partition@f800000 {
 				reg = <0x0f800000 0x00800000>;
 				label = "nand-bbt";
 			};
-- 
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] 39+ messages in thread

* [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 23:54 ` Chris Packham
  (?)
@ 2023-05-30 23:54   ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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 v7:
    - Restore "label" and "partitions" properties (should be picked up via
      nand-controller.yaml but aren't)
    - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
      by nand-controller.yaml.
    - Use "unevalautedProperties: false"
    - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
    - Add pxa3xx-nand-controller example
    
    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 | 221 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 3 files changed, 221 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..7cd4a2e99343
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,221 @@
+# 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
+          - marvell,armada-8k-nand
+          - marvell,armada370-nand
+          - marvell,pxa3xx-nand
+
+  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:
+    minItems: 1
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - enum:
+          - rxtx
+          - data
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    unevaluatedProperties: false
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minItems: 1
+        maxItems: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8, 12, 16]
+
+      nand-on-flash-bbt:
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      nand-ecc-mode:
+        const: hw
+
+      label:
+        $ref: /schemas/types.yaml#/definitions/string
+
+      partitions:
+        type: object
+
+      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).
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    additionalProperties: false
+
+    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
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+
+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>;
+        };
+    };
+
+  - |
+    nand-controller@43100000 {
+        compatible = "marvell,pxa3xx-nand-controller";
+        reg = <0x43100000 90>;
+        interrupts = <45>;
+        clocks = <&clks 1>;
+        clock-names = "core";
+        dmas = <&pdma 97 3>;
+        dma-names = "data";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        nand@0 {
+            reg = <0>;
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+        };
+    };
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] 39+ messages in thread

* [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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 v7:
    - Restore "label" and "partitions" properties (should be picked up via
      nand-controller.yaml but aren't)
    - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
      by nand-controller.yaml.
    - Use "unevalautedProperties: false"
    - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
    - Add pxa3xx-nand-controller example
    
    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 | 221 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 3 files changed, 221 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..7cd4a2e99343
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,221 @@
+# 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
+          - marvell,armada-8k-nand
+          - marvell,armada370-nand
+          - marvell,pxa3xx-nand
+
+  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:
+    minItems: 1
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - enum:
+          - rxtx
+          - data
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    unevaluatedProperties: false
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minItems: 1
+        maxItems: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8, 12, 16]
+
+      nand-on-flash-bbt:
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      nand-ecc-mode:
+        const: hw
+
+      label:
+        $ref: /schemas/types.yaml#/definitions/string
+
+      partitions:
+        type: object
+
+      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).
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    additionalProperties: false
+
+    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
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+
+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>;
+        };
+    };
+
+  - |
+    nand-controller@43100000 {
+        compatible = "marvell,pxa3xx-nand-controller";
+        reg = <0x43100000 90>;
+        interrupts = <45>;
+        clocks = <&clks 1>;
+        clock-names = "core";
+        dmas = <&pdma 97 3>;
+        dma-names = "data";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        nand@0 {
+            reg = <0>;
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+        };
+    };
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] 39+ messages in thread

* [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan, 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 v7:
    - Restore "label" and "partitions" properties (should be picked up via
      nand-controller.yaml but aren't)
    - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
      by nand-controller.yaml.
    - Use "unevalautedProperties: false"
    - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
    - Add pxa3xx-nand-controller example
    
    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 | 221 ++++++++++++++++++
 .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
 MAINTAINERS                                   |   1 -
 3 files changed, 221 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..7cd4a2e99343
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -0,0 +1,221 @@
+# 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
+          - marvell,armada-8k-nand
+          - marvell,armada370-nand
+          - marvell,pxa3xx-nand
+
+  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:
+    minItems: 1
+    items:
+      - const: core
+      - const: reg
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - enum:
+          - rxtx
+          - data
+
+  marvell,system-controller:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Syscon node that handles NAND controller related registers
+
+patternProperties:
+  "^nand@[0-3]$":
+    type: object
+    unevaluatedProperties: false
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+      nand-rb:
+        minItems: 1
+        maxItems: 1
+
+      nand-ecc-step-size:
+        const: 512
+
+      nand-ecc-strength:
+        enum: [1, 4, 8, 12, 16]
+
+      nand-on-flash-bbt:
+        $ref: /schemas/types.yaml#/definitions/flag
+
+      nand-ecc-mode:
+        const: hw
+
+      label:
+        $ref: /schemas/types.yaml#/definitions/string
+
+      partitions:
+        type: object
+
+      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).
+        $ref: /schemas/types.yaml#/definitions/flag
+        deprecated: true
+
+    additionalProperties: false
+
+    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
+
+        clock-names:
+          minItems: 2
+
+      required:
+        - marvell,system-controller
+
+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>;
+        };
+    };
+
+  - |
+    nand-controller@43100000 {
+        compatible = "marvell,pxa3xx-nand-controller";
+        reg = <0x43100000 90>;
+        interrupts = <45>;
+        clocks = <&clks 1>;
+        clock-names = "core";
+        dmas = <&pdma 97 3>;
+        dma-names = "data";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        nand@0 {
+            reg = <0>;
+            nand-rb = <0>;
+            nand-ecc-mode = "hw";
+            marvell,nand-keep-config;
+        };
+    };
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] 39+ messages in thread

* [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
  2023-05-30 23:54 ` Chris Packham
  (?)
@ 2023-05-30 23:54   ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Remove compatible values that were marked as deprecated in the old text
binding.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
index 7cd4a2e99343..80ce854291cb 100644
--- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -18,9 +18,6 @@ properties:
       - enum:
           - marvell,armada370-nand-controller
           - marvell,pxa3xx-nand-controller
-          - marvell,armada-8k-nand
-          - marvell,armada370-nand
-          - marvell,pxa3xx-nand
 
   reg:
     maxItems: 1
-- 
2.40.1


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

* [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Remove compatible values that were marked as deprecated in the old text
binding.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
index 7cd4a2e99343..80ce854291cb 100644
--- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -18,9 +18,6 @@ properties:
       - enum:
           - marvell,armada370-nand-controller
           - marvell,pxa3xx-nand-controller
-          - marvell,armada-8k-nand
-          - marvell,armada370-nand
-          - marvell,pxa3xx-nand
 
   reg:
     maxItems: 1
-- 
2.40.1


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

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

* [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-30 23:54   ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-30 23:54 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Chris Packham

Remove compatible values that were marked as deprecated in the old text
binding.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
index 7cd4a2e99343..80ce854291cb 100644
--- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
+++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
@@ -18,9 +18,6 @@ properties:
       - enum:
           - marvell,armada370-nand-controller
           - marvell,pxa3xx-nand-controller
-          - marvell,armada-8k-nand
-          - marvell,armada370-nand
-          - marvell,pxa3xx-nand
 
   reg:
     maxItems: 1
-- 
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] 39+ messages in thread

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
  2023-05-30 23:54   ` Chris Packham
  (?)
@ 2023-05-31  7:33     ` Miquel Raynal
  -1 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:33 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
+1200:

> Remove compatible values that were marked as deprecated in the old text
> binding.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>  .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> index 7cd4a2e99343..80ce854291cb 100644
> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -18,9 +18,6 @@ properties:
>        - enum:
>            - marvell,armada370-nand-controller
>            - marvell,pxa3xx-nand-controller
> -          - marvell,armada-8k-nand
> -          - marvell,armada370-nand
> -          - marvell,pxa3xx-nand

Not sure what you're doing here? I would actually expect these three
lines to have something along:

                 deprecated: true

and this should be part of the conversion to yaml. Or perhaps I am
missing something?

The rest of the series looks good to me.

>  
>    reg:
>      maxItems: 1


Thanks,
Miquèl

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

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-31  7:33     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:33 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
+1200:

> Remove compatible values that were marked as deprecated in the old text
> binding.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>  .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> index 7cd4a2e99343..80ce854291cb 100644
> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -18,9 +18,6 @@ properties:
>        - enum:
>            - marvell,armada370-nand-controller
>            - marvell,pxa3xx-nand-controller
> -          - marvell,armada-8k-nand
> -          - marvell,armada370-nand
> -          - marvell,pxa3xx-nand

Not sure what you're doing here? I would actually expect these three
lines to have something along:

                 deprecated: true

and this should be part of the conversion to yaml. Or perhaps I am
missing something?

The rest of the series looks good to me.

>  
>    reg:
>      maxItems: 1


Thanks,
Miquèl

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

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

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-31  7:33     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:33 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
+1200:

> Remove compatible values that were marked as deprecated in the old text
> binding.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>  .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> index 7cd4a2e99343..80ce854291cb 100644
> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -18,9 +18,6 @@ properties:
>        - enum:
>            - marvell,armada370-nand-controller
>            - marvell,pxa3xx-nand-controller
> -          - marvell,armada-8k-nand
> -          - marvell,armada370-nand
> -          - marvell,pxa3xx-nand

Not sure what you're doing here? I would actually expect these three
lines to have something along:

                 deprecated: true

and this should be part of the conversion to yaml. Or perhaps I am
missing something?

The rest of the series looks good to me.

>  
>    reg:
>      maxItems: 1


Thanks,
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] 39+ messages in thread

* Re: [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
  2023-05-30 23:54   ` Chris Packham
  (?)
@ 2023-05-31  7:35     ` Miquel Raynal
  -1 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:53
+1200:

> 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>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  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


Thanks,
Miquèl

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

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

* Re: [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-31  7:35     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:53
+1200:

> 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>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  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


Thanks,
Miquèl

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

* Re: [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML
@ 2023-05-31  7:35     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:53
+1200:

> 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>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  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


Thanks,
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] 39+ messages in thread

* Re: [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
  2023-05-30 23:54   ` Chris Packham
  (?)
@ 2023-05-31  7:35     ` Miquel Raynal
  -1 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:54
+1200:

> Update the node names for the SPI NOR and NAND partitions to conform to
> the partition properties in the relevant dtschema.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
> index 241f5d7c80e9..5a9ab8410b7b 100644
> --- a/arch/arm/boot/dts/armada-385-atl-x530.dts
> +++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
> @@ -179,19 +179,19 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@u-boot {
> +			partition@0 {
>  				reg = <0x00000000 0x00100000>;
>  				label = "u-boot";
>  			};
> -			partition@u-boot-env {
> +			partition@100000 {
>  				reg = <0x00100000 0x00040000>;
>  				label = "u-boot-env";
>  			};
> -			partition@unused {
> +			partition@140000 {
>  				reg = <0x00140000 0x00e80000>;
>  				label = "unused";
>  			};
> -			partition@idprom {
> +			partition@fc0000 {
>  				reg = <0x00fc0000 0x00040000>;
>  				label = "idprom";
>  			};
> @@ -216,16 +216,16 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@user {
> +			partition@0 {
>  				reg = <0x00000000 0x0f000000>;
>  				label = "user";
>  			};
> -			partition@errlog {
> +			partition@f000000 {
>  				/* Maximum mtdoops size is 8MB, so set to that. */
>  				reg = <0x0f000000 0x00800000>;
>  				label = "errlog";
>  			};
> -			partition@nand-bbt {
> +			partition@f800000 {
>  				reg = <0x0f800000 0x00800000>;
>  				label = "nand-bbt";
>  			};


Thanks,
Miquèl

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

* Re: [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
@ 2023-05-31  7:35     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:54
+1200:

> Update the node names for the SPI NOR and NAND partitions to conform to
> the partition properties in the relevant dtschema.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
> index 241f5d7c80e9..5a9ab8410b7b 100644
> --- a/arch/arm/boot/dts/armada-385-atl-x530.dts
> +++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
> @@ -179,19 +179,19 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@u-boot {
> +			partition@0 {
>  				reg = <0x00000000 0x00100000>;
>  				label = "u-boot";
>  			};
> -			partition@u-boot-env {
> +			partition@100000 {
>  				reg = <0x00100000 0x00040000>;
>  				label = "u-boot-env";
>  			};
> -			partition@unused {
> +			partition@140000 {
>  				reg = <0x00140000 0x00e80000>;
>  				label = "unused";
>  			};
> -			partition@idprom {
> +			partition@fc0000 {
>  				reg = <0x00fc0000 0x00040000>;
>  				label = "idprom";
>  			};
> @@ -216,16 +216,16 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@user {
> +			partition@0 {
>  				reg = <0x00000000 0x0f000000>;
>  				label = "user";
>  			};
> -			partition@errlog {
> +			partition@f000000 {
>  				/* Maximum mtdoops size is 8MB, so set to that. */
>  				reg = <0x0f000000 0x00800000>;
>  				label = "errlog";
>  			};
> -			partition@nand-bbt {
> +			partition@f800000 {
>  				reg = <0x0f800000 0x00800000>;
>  				label = "nand-bbt";
>  			};


Thanks,
Miquèl

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

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

* Re: [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema
@ 2023-05-31  7:35     ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-05-31  7:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman

Hi Chris,

chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:54
+1200:

> Update the node names for the SPI NOR and NAND partitions to conform to
> the partition properties in the relevant dtschema.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---
>  arch/arm/boot/dts/armada-385-atl-x530.dts | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/armada-385-atl-x530.dts b/arch/arm/boot/dts/armada-385-atl-x530.dts
> index 241f5d7c80e9..5a9ab8410b7b 100644
> --- a/arch/arm/boot/dts/armada-385-atl-x530.dts
> +++ b/arch/arm/boot/dts/armada-385-atl-x530.dts
> @@ -179,19 +179,19 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@u-boot {
> +			partition@0 {
>  				reg = <0x00000000 0x00100000>;
>  				label = "u-boot";
>  			};
> -			partition@u-boot-env {
> +			partition@100000 {
>  				reg = <0x00100000 0x00040000>;
>  				label = "u-boot-env";
>  			};
> -			partition@unused {
> +			partition@140000 {
>  				reg = <0x00140000 0x00e80000>;
>  				label = "unused";
>  			};
> -			partition@idprom {
> +			partition@fc0000 {
>  				reg = <0x00fc0000 0x00040000>;
>  				label = "idprom";
>  			};
> @@ -216,16 +216,16 @@ partitions {
>  			compatible = "fixed-partitions";
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> -			partition@user {
> +			partition@0 {
>  				reg = <0x00000000 0x0f000000>;
>  				label = "user";
>  			};
> -			partition@errlog {
> +			partition@f000000 {
>  				/* Maximum mtdoops size is 8MB, so set to that. */
>  				reg = <0x0f000000 0x00800000>;
>  				label = "errlog";
>  			};
> -			partition@nand-bbt {
> +			partition@f800000 {
>  				reg = <0x0f800000 0x00800000>;
>  				label = "nand-bbt";
>  			};


Thanks,
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] 39+ messages in thread

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 23:54   ` Chris Packham
  (?)
@ 2023-05-31 12:35     ` Conor Dooley
  -1 siblings, 0 replies; 39+ messages in thread
From: Conor Dooley @ 2023-05-31 12:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan

[-- Attachment #1: Type: text/plain, Size: 4646 bytes --]

Hey Chris,

On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>     - Restore "label" and "partitions" properties (should be picked up via
>       nand-controller.yaml but aren't)
>     - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>       by nand-controller.yaml.
>     - Use "unevalautedProperties: false"
>     - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>     - Add pxa3xx-nand-controller example
>     
>     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 | 221 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 221 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

Apologies if I have missed this - but the commit message should probably
explain where this fallback came from since it does not appear to be
present in the original binding.

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand

Please mark these 3 as deprecated.

> +
> +  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

As a nit, allOf below invalidates this second part of the sentence (in
possibly a clearer way too).

> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - enum:

I don't think the items: here is needed, enum on its own suffices, no?

Cheers,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 12:35     ` Conor Dooley
  0 siblings, 0 replies; 39+ messages in thread
From: Conor Dooley @ 2023-05-31 12:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan


[-- Attachment #1.1: Type: text/plain, Size: 4646 bytes --]

Hey Chris,

On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>     - Restore "label" and "partitions" properties (should be picked up via
>       nand-controller.yaml but aren't)
>     - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>       by nand-controller.yaml.
>     - Use "unevalautedProperties: false"
>     - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>     - Add pxa3xx-nand-controller example
>     
>     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 | 221 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 221 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

Apologies if I have missed this - but the commit message should probably
explain where this fallback came from since it does not appear to be
present in the original binding.

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand

Please mark these 3 as deprecated.

> +
> +  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

As a nit, allOf below invalidates this second part of the sentence (in
possibly a clearer way too).

> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - enum:

I don't think the items: here is needed, enum on its own suffices, no?

Cheers,
Conor.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 144 bytes --]

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

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 12:35     ` Conor Dooley
  0 siblings, 0 replies; 39+ messages in thread
From: Conor Dooley @ 2023-05-31 12:35 UTC (permalink / raw)
  To: Chris Packham
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan


[-- Attachment #1.1: Type: text/plain, Size: 4646 bytes --]

Hey Chris,

On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>     - Restore "label" and "partitions" properties (should be picked up via
>       nand-controller.yaml but aren't)
>     - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>       by nand-controller.yaml.
>     - Use "unevalautedProperties: false"
>     - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>     - Add pxa3xx-nand-controller example
>     
>     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 | 221 ++++++++++++++++++
>  .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>  MAINTAINERS                                   |   1 -
>  3 files changed, 221 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

Apologies if I have missed this - but the commit message should probably
explain where this fallback came from since it does not appear to be
present in the original binding.

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller

> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand

Please mark these 3 as deprecated.

> +
> +  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

As a nit, allOf below invalidates this second part of the sentence (in
possibly a clearer way too).

> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: core
> +      - const: reg
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - enum:

I don't think the items: here is needed, enum on its own suffices, no?

Cheers,
Conor.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 39+ messages in thread

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
  2023-05-31  7:33     ` Miquel Raynal
  (?)
@ 2023-05-31 22:36       ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:36 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 19:33, Miquel Raynal wrote:
> Hi Chris,
>
> chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
> +1200:
>
>> Remove compatible values that were marked as deprecated in the old text
>> binding.
>>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>   .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>>   1 file changed, 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> index 7cd4a2e99343..80ce854291cb 100644
>> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -18,9 +18,6 @@ properties:
>>         - enum:
>>             - marvell,armada370-nand-controller
>>             - marvell,pxa3xx-nand-controller
>> -          - marvell,armada-8k-nand
>> -          - marvell,armada370-nand
>> -          - marvell,pxa3xx-nand
> Not sure what you're doing here?
That's me being in an awkward timezone and guessing (badly). I think 
I've got the deprecated compatibles sorted now so I'll drop this from v8.
>   I would actually expect these three
> lines to have something along:
>
>                   deprecated: true
>
> and this should be part of the conversion to yaml. Or perhaps I am
> missing something?
>
> The rest of the series looks good to me.
>
>>   
>>     reg:
>>       maxItems: 1
>
> Thanks,
> Miquèl

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

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-31 22:36       ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:36 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 19:33, Miquel Raynal wrote:
> Hi Chris,
>
> chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
> +1200:
>
>> Remove compatible values that were marked as deprecated in the old text
>> binding.
>>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>   .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>>   1 file changed, 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> index 7cd4a2e99343..80ce854291cb 100644
>> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -18,9 +18,6 @@ properties:
>>         - enum:
>>             - marvell,armada370-nand-controller
>>             - marvell,pxa3xx-nand-controller
>> -          - marvell,armada-8k-nand
>> -          - marvell,armada370-nand
>> -          - marvell,pxa3xx-nand
> Not sure what you're doing here?
That's me being in an awkward timezone and guessing (badly). I think 
I've got the deprecated compatibles sorted now so I'll drop this from v8.
>   I would actually expect these three
> lines to have something along:
>
>                   deprecated: true
>
> and this should be part of the conversion to yaml. Or perhaps I am
> missing something?
>
> The rest of the series looks good to me.
>
>>   
>>     reg:
>>       maxItems: 1
>
> Thanks,
> Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

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

* Re: [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles
@ 2023-05-31 22:36       ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:36 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman


On 31/05/23 19:33, Miquel Raynal wrote:
> Hi Chris,
>
> chris.packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 11:54:56
> +1200:
>
>> Remove compatible values that were marked as deprecated in the old text
>> binding.
>>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>   .../devicetree/bindings/mtd/marvell,nand-controller.yaml       | 3 ---
>>   1 file changed, 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> index 7cd4a2e99343..80ce854291cb 100644
>> --- a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -18,9 +18,6 @@ properties:
>>         - enum:
>>             - marvell,armada370-nand-controller
>>             - marvell,pxa3xx-nand-controller
>> -          - marvell,armada-8k-nand
>> -          - marvell,armada370-nand
>> -          - marvell,pxa3xx-nand
> Not sure what you're doing here?
That's me being in an awkward timezone and guessing (badly). I think 
I've got the deprecated compatibles sorted now so I'll drop this from v8.
>   I would actually expect these three
> lines to have something along:
>
>                   deprecated: true
>
> and this should be part of the conversion to yaml. Or perhaps I am
> missing something?
>
> The rest of the series looks good to me.
>
>>   
>>     reg:
>>       maxItems: 1
>
> Thanks,
> 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] 39+ messages in thread

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-30 23:54   ` Chris Packham
  (?)
@ 2023-05-31 22:43     ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:43 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Miquel,

On 31/05/23 11:54, 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>
> ---
<snip>
> 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

On this specific point. Was your intention to allow just the 
"marvell,armada-8k-nand-controller" compatible?

I made it a list as the existing usage is `compatible = 
"marvell,armada-8k-nand-controller", 
"marvell,armada370-nand-controller";` but an earlier comment you made 
suggested that your intention was to allow just the 8k compatible on 
it's own. Looking at the driver it doesn't do any is_compatible() checks 
so I don't think it cares (currently).

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller
> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand
> +

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 22:43     ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:43 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Miquel,

On 31/05/23 11:54, 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>
> ---
<snip>
> 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

On this specific point. Was your intention to allow just the 
"marvell,armada-8k-nand-controller" compatible?

I made it a list as the existing usage is `compatible = 
"marvell,armada-8k-nand-controller", 
"marvell,armada370-nand-controller";` but an earlier comment you made 
suggested that your intention was to allow just the 8k compatible on 
it's own. Looking at the driver it doesn't do any is_compatible() checks 
so I don't think it cares (currently).

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller
> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand
> +
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 22:43     ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:43 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth
  Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Miquel,

On 31/05/23 11:54, 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>
> ---
<snip>
> 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..7cd4a2e99343
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> @@ -0,0 +1,221 @@
> +# 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

On this specific point. Was your intention to allow just the 
"marvell,armada-8k-nand-controller" compatible?

I made it a list as the existing usage is `compatible = 
"marvell,armada-8k-nand-controller", 
"marvell,armada370-nand-controller";` but an earlier comment you made 
suggested that your intention was to allow just the 8k compatible on 
it's own. Looking at the driver it doesn't do any is_compatible() checks 
so I don't think it cares (currently).

> +      - enum:
> +          - marvell,armada370-nand-controller
> +          - marvell,pxa3xx-nand-controller
> +          - marvell,armada-8k-nand
> +          - marvell,armada370-nand
> +          - marvell,pxa3xx-nand
> +
_______________________________________________
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] 39+ messages in thread

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-31 12:35     ` Conor Dooley
  (?)
@ 2023-05-31 22:52       ` Chris Packham
  -1 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:52 UTC (permalink / raw)
  To: Conor Dooley
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan


On 1/06/23 00:35, Conor Dooley wrote:
> Hey Chris,
>
> On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>>      - Restore "label" and "partitions" properties (should be picked up via
>>        nand-controller.yaml but aren't)
>>      - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>>        by nand-controller.yaml.
>>      - Use "unevalautedProperties: false"
>>      - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>>      - Add pxa3xx-nand-controller example
>>      
>>      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 | 221 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 221 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..7cd4a2e99343
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -0,0 +1,221 @@
>> +# 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
> Apologies if I have missed this - but the commit message should probably
> explain where this fallback came from since it does not appear to be
> present in the original binding.
Yes I'll mention it.
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
>> +          - marvell,armada-8k-nand
>> +          - marvell,armada370-nand
>> +          - marvell,pxa3xx-nand
> Please mark these 3 as deprecated.
Will do
>> +
>> +  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
> As a nit, allOf below invalidates this second part of the sentence (in
> possibly a clearer way too).
I'm not quite sure what you mean. Is it just that the description is 
redundant now that the schema enforces the requirement or am I actually 
not enforcing things the way I think.
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: core
>> +      - const: reg
>> +
>> +  dmas:
>> +    maxItems: 1
>> +
>> +  dma-names:
>> +    items:
>> +      - enum:
> I don't think the items: here is needed, enum on its own suffices, no?

The trend in other bindings seems to be

   items:
      - const: value1
      - const: value2

so I'll go with that.

>
> Cheers,
> Conor.

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 22:52       ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:52 UTC (permalink / raw)
  To: Conor Dooley
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan


On 1/06/23 00:35, Conor Dooley wrote:
> Hey Chris,
>
> On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>>      - Restore "label" and "partitions" properties (should be picked up via
>>        nand-controller.yaml but aren't)
>>      - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>>        by nand-controller.yaml.
>>      - Use "unevalautedProperties: false"
>>      - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>>      - Add pxa3xx-nand-controller example
>>      
>>      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 | 221 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 221 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..7cd4a2e99343
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -0,0 +1,221 @@
>> +# 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
> Apologies if I have missed this - but the commit message should probably
> explain where this fallback came from since it does not appear to be
> present in the original binding.
Yes I'll mention it.
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
>> +          - marvell,armada-8k-nand
>> +          - marvell,armada370-nand
>> +          - marvell,pxa3xx-nand
> Please mark these 3 as deprecated.
Will do
>> +
>> +  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
> As a nit, allOf below invalidates this second part of the sentence (in
> possibly a clearer way too).
I'm not quite sure what you mean. Is it just that the description is 
redundant now that the schema enforces the requirement or am I actually 
not enforcing things the way I think.
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: core
>> +      - const: reg
>> +
>> +  dmas:
>> +    maxItems: 1
>> +
>> +  dma-names:
>> +    items:
>> +      - enum:
> I don't think the items: here is needed, enum on its own suffices, no?

The trend in other bindings seems to be

   items:
      - const: value1
      - const: value2

so I'll go with that.

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

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-05-31 22:52       ` Chris Packham
  0 siblings, 0 replies; 39+ messages in thread
From: Chris Packham @ 2023-05-31 22:52 UTC (permalink / raw)
  To: Conor Dooley
  Cc: miquel.raynal, richard, vigneshr, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, andrew, gregory.clement,
	sebastian.hesselbarth, linux-mtd, devicetree, linux-kernel,
	linux-arm-kernel, enachman, Vadym Kochan


On 1/06/23 00:35, Conor Dooley wrote:
> Hey Chris,
>
> On Wed, May 31, 2023 at 11:54:55AM +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 v7:
>>      - Restore "label" and "partitions" properties (should be picked up via
>>        nand-controller.yaml but aren't)
>>      - Add/restore nand-on-flash-bbt and nand-ecc-mode which aren't covered
>>        by nand-controller.yaml.
>>      - Use "unevalautedProperties: false"
>>      - Corrections for clock-names, dma-names, nand-rb and nand-ecc-strength
>>      - Add pxa3xx-nand-controller example
>>      
>>      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 | 221 ++++++++++++++++++
>>   .../devicetree/bindings/mtd/marvell-nand.txt  | 126 ----------
>>   MAINTAINERS                                   |   1 -
>>   3 files changed, 221 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..7cd4a2e99343
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
>> @@ -0,0 +1,221 @@
>> +# 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
> Apologies if I have missed this - but the commit message should probably
> explain where this fallback came from since it does not appear to be
> present in the original binding.
Yes I'll mention it.
>> +      - enum:
>> +          - marvell,armada370-nand-controller
>> +          - marvell,pxa3xx-nand-controller
>> +          - marvell,armada-8k-nand
>> +          - marvell,armada370-nand
>> +          - marvell,pxa3xx-nand
> Please mark these 3 as deprecated.
Will do
>> +
>> +  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
> As a nit, allOf below invalidates this second part of the sentence (in
> possibly a clearer way too).
I'm not quite sure what you mean. Is it just that the description is 
redundant now that the schema enforces the requirement or am I actually 
not enforcing things the way I think.
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: core
>> +      - const: reg
>> +
>> +  dmas:
>> +    maxItems: 1
>> +
>> +  dma-names:
>> +    items:
>> +      - enum:
> I don't think the items: here is needed, enum on its own suffices, no?

The trend in other bindings seems to be

   items:
      - const: value1
      - const: value2

so I'll go with that.

>
> Cheers,
> Conor.
_______________________________________________
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] 39+ messages in thread

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
  2023-05-31 22:43     ` Chris Packham
  (?)
@ 2023-06-01  7:40       ` Miquel Raynal
  -1 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-06-01  7:40 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

Chris.Packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 22:43:46
+0000:

> Hi Miquel,
> 
> On 31/05/23 11:54, 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>
> > ---  
> <snip>
> > 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..7cd4a2e99343
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,221 @@
> > +# 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  
> 
> On this specific point. Was your intention to allow just the 
> "marvell,armada-8k-nand-controller" compatible?
> 
> I made it a list as the existing usage is `compatible = 
> "marvell,armada-8k-nand-controller", 
> "marvell,armada370-nand-controller";` but an earlier comment you made 
> suggested that your intention was to allow just the 8k compatible on 
> it's own.

To be honest I don't recall. Sometimes it's best to consider a version
of a controller to be a superset of another, in this case both
compatibles are welcome. I suggest you keep the description as it is.

> Looking at the driver it doesn't do any is_compatible() checks 
> so I don't think it cares (currently).
> 
> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller
> > +          - marvell,armada-8k-nand
> > +          - marvell,armada370-nand
> > +          - marvell,pxa3xx-nand
> >   


Thanks,
Miquèl

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

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

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-06-01  7:40       ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-06-01  7:40 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

Chris.Packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 22:43:46
+0000:

> Hi Miquel,
> 
> On 31/05/23 11:54, 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>
> > ---  
> <snip>
> > 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..7cd4a2e99343
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,221 @@
> > +# 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  
> 
> On this specific point. Was your intention to allow just the 
> "marvell,armada-8k-nand-controller" compatible?
> 
> I made it a list as the existing usage is `compatible = 
> "marvell,armada-8k-nand-controller", 
> "marvell,armada370-nand-controller";` but an earlier comment you made 
> suggested that your intention was to allow just the 8k compatible on 
> it's own.

To be honest I don't recall. Sometimes it's best to consider a version
of a controller to be a superset of another, in this case both
compatibles are welcome. I suggest you keep the description as it is.

> Looking at the driver it doesn't do any is_compatible() checks 
> so I don't think it cares (currently).
> 
> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller
> > +          - marvell,armada-8k-nand
> > +          - marvell,armada370-nand
> > +          - marvell,pxa3xx-nand
> >   


Thanks,
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] 39+ messages in thread

* Re: [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme
@ 2023-06-01  7:40       ` Miquel Raynal
  0 siblings, 0 replies; 39+ messages in thread
From: Miquel Raynal @ 2023-06-01  7:40 UTC (permalink / raw)
  To: Chris Packham
  Cc: richard, vigneshr, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	andrew, gregory.clement, sebastian.hesselbarth, linux-mtd,
	devicetree, linux-kernel, linux-arm-kernel, enachman,
	Vadym Kochan

Hi Chris,

Chris.Packham@alliedtelesis.co.nz wrote on Wed, 31 May 2023 22:43:46
+0000:

> Hi Miquel,
> 
> On 31/05/23 11:54, 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>
> > ---  
> <snip>
> > 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..7cd4a2e99343
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
> > @@ -0,0 +1,221 @@
> > +# 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  
> 
> On this specific point. Was your intention to allow just the 
> "marvell,armada-8k-nand-controller" compatible?
> 
> I made it a list as the existing usage is `compatible = 
> "marvell,armada-8k-nand-controller", 
> "marvell,armada370-nand-controller";` but an earlier comment you made 
> suggested that your intention was to allow just the 8k compatible on 
> it's own.

To be honest I don't recall. Sometimes it's best to consider a version
of a controller to be a superset of another, in this case both
compatibles are welcome. I suggest you keep the description as it is.

> Looking at the driver it doesn't do any is_compatible() checks 
> so I don't think it cares (currently).
> 
> > +      - enum:
> > +          - marvell,armada370-nand-controller
> > +          - marvell,pxa3xx-nand-controller
> > +          - marvell,armada-8k-nand
> > +          - marvell,armada370-nand
> > +          - marvell,pxa3xx-nand
> >   


Thanks,
Miquèl

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

end of thread, other threads:[~2023-06-01  7:45 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30 23:54 [PATCH v7 0/4] dt-bindings: mtd: marvell-nand: Add YAML scheme Chris Packham
2023-05-30 23:54 ` Chris Packham
2023-05-30 23:54 ` Chris Packham
2023-05-30 23:54 ` [PATCH v7 1/4] arm64: dts: marvell: cp11x: Fix nand_controller node name according to YAML Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-31  7:35   ` Miquel Raynal
2023-05-31  7:35     ` Miquel Raynal
2023-05-31  7:35     ` Miquel Raynal
2023-05-30 23:54 ` [PATCH v7 2/4] ARM: dts: mvebu: align MTD partition nodes to dtschema Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-31  7:35   ` Miquel Raynal
2023-05-31  7:35     ` Miquel Raynal
2023-05-31  7:35     ` Miquel Raynal
2023-05-30 23:54 ` [PATCH v7 3/4] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-31 12:35   ` Conor Dooley
2023-05-31 12:35     ` Conor Dooley
2023-05-31 12:35     ` Conor Dooley
2023-05-31 22:52     ` Chris Packham
2023-05-31 22:52       ` Chris Packham
2023-05-31 22:52       ` Chris Packham
2023-05-31 22:43   ` Chris Packham
2023-05-31 22:43     ` Chris Packham
2023-05-31 22:43     ` Chris Packham
2023-06-01  7:40     ` Miquel Raynal
2023-06-01  7:40       ` Miquel Raynal
2023-06-01  7:40       ` Miquel Raynal
2023-05-30 23:54 ` [PATCH v7 4/4] dt-bindings: mtd: marvell-nand: Remove deprecated compatibles Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-30 23:54   ` Chris Packham
2023-05-31  7:33   ` Miquel Raynal
2023-05-31  7:33     ` Miquel Raynal
2023-05-31  7:33     ` Miquel Raynal
2023-05-31 22:36     ` Chris Packham
2023-05-31 22:36       ` Chris Packham
2023-05-31 22:36       ` 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.