linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties
@ 2022-05-25 21:01 Rob Herring
  2022-05-25 23:10 ` Paul Cercueil
  0 siblings, 1 reply; 2+ messages in thread
From: Rob Herring @ 2022-05-25 21:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Paul Cercueil
  Cc: linux-kernel, devicetree, linux-mtd

Binding schemas which define child node properties such as memory
controllers with timing properties need a separate schema which can be
referenced from child device schemas. This is necessary for
unevaluatedProperties checks to work properly.

Move the ingenic,nemc child properties to its own file and reference
from ingenic,nand.yaml which describes a child NAND controller.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../ingenic,nemc-peripherals.yaml             | 46 +++++++++++++++++++
 .../memory-controllers/ingenic,nemc.yaml      | 32 -------------
 .../devicetree/bindings/mtd/ingenic,nand.yaml |  1 +
 3 files changed, 47 insertions(+), 32 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml

diff --git a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml
new file mode 100644
index 000000000000..b8ed52a44d57
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/memory-controllers/ingenic,nemc-peripherals.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ingenic SoCs NAND / External Memory Controller (NEMC) devicetree bindings
+
+maintainers:
+  - Paul Cercueil <paul@crapouillou.net>
+
+properties:
+  reg:
+    minItems: 1
+    maxItems: 255
+
+  ingenic,nemc-bus-width:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [8, 16]
+    description: Specifies the bus width in bits.
+
+  ingenic,nemc-tAS:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Address setup time in nanoseconds.
+
+  ingenic,nemc-tAH:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Address hold time in nanoseconds.
+
+  ingenic,nemc-tBP:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Burst pitch time in nanoseconds.
+
+  ingenic,nemc-tAW:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Address wait time in nanoseconds.
+
+  ingenic,nemc-tSTRV:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Static memory recovery time in nanoseconds.
+
+required:
+  - reg
+
+additionalProperties: true
+...
diff --git a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
index 24f9e1982028..dd13a5106d6c 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
@@ -39,38 +39,6 @@ properties:
 patternProperties:
   ".*@[0-9]+$":
     type: object
-    properties:
-      reg:
-        minItems: 1
-        maxItems: 255
-
-      ingenic,nemc-bus-width:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        enum: [8, 16]
-        description: Specifies the bus width in bits.
-
-      ingenic,nemc-tAS:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        description: Address setup time in nanoseconds.
-
-      ingenic,nemc-tAH:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        description: Address hold time in nanoseconds.
-
-      ingenic,nemc-tBP:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        description: Burst pitch time in nanoseconds.
-
-      ingenic,nemc-tAW:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        description: Address wait time in nanoseconds.
-
-      ingenic,nemc-tSTRV:
-        $ref: /schemas/types.yaml#/definitions/uint32
-        description: Static memory recovery time in nanoseconds.
-
-    required:
-      - reg
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
index 9de8ef6e59ca..8c272c842bfd 100644
--- a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
@@ -11,6 +11,7 @@ maintainers:
 
 allOf:
   - $ref: nand-controller.yaml#
+  - $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml#
 
 properties:
   compatible:
-- 
2.34.1


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

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

* Re: [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties
  2022-05-25 21:01 [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties Rob Herring
@ 2022-05-25 23:10 ` Paul Cercueil
  0 siblings, 0 replies; 2+ messages in thread
From: Paul Cercueil @ 2022-05-25 23:10 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, linux-kernel, devicetree, linux-mtd

Hi Rob,

Le mer., mai 25 2022 at 16:01:40 -0500, Rob Herring <robh@kernel.org> a 
écrit :
> Binding schemas which define child node properties such as memory
> controllers with timing properties need a separate schema which can be
> referenced from child device schemas. This is necessary for
> unevaluatedProperties checks to work properly.
> 
> Move the ingenic,nemc child properties to its own file and reference
> from ingenic,nand.yaml which describes a child NAND controller.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>

Acked-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> ---
>  .../ingenic,nemc-peripherals.yaml             | 46 
> +++++++++++++++++++
>  .../memory-controllers/ingenic,nemc.yaml      | 32 -------------
>  .../devicetree/bindings/mtd/ingenic,nand.yaml |  1 +
>  3 files changed, 47 insertions(+), 32 deletions(-)
>  create mode 100644 
> Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml
> 
> diff --git 
> a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml 
> b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml
> new file mode 100644
> index 000000000000..b8ed52a44d57
> --- /dev/null
> +++ 
> b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: 
> http://devicetree.org/schemas/memory-controllers/ingenic,nemc-peripherals.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ingenic SoCs NAND / External Memory Controller (NEMC) 
> devicetree bindings
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +properties:
> +  reg:
> +    minItems: 1
> +    maxItems: 255
> +
> +  ingenic,nemc-bus-width:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [8, 16]
> +    description: Specifies the bus width in bits.
> +
> +  ingenic,nemc-tAS:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Address setup time in nanoseconds.
> +
> +  ingenic,nemc-tAH:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Address hold time in nanoseconds.
> +
> +  ingenic,nemc-tBP:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Burst pitch time in nanoseconds.
> +
> +  ingenic,nemc-tAW:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Address wait time in nanoseconds.
> +
> +  ingenic,nemc-tSTRV:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Static memory recovery time in nanoseconds.
> +
> +required:
> +  - reg
> +
> +additionalProperties: true
> +...
> diff --git 
> a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml 
> b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
> index 24f9e1982028..dd13a5106d6c 100644
> --- 
> a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
> +++ 
> b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
> @@ -39,38 +39,6 @@ properties:
>  patternProperties:
>    ".*@[0-9]+$":
>      type: object
> -    properties:
> -      reg:
> -        minItems: 1
> -        maxItems: 255
> -
> -      ingenic,nemc-bus-width:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        enum: [8, 16]
> -        description: Specifies the bus width in bits.
> -
> -      ingenic,nemc-tAS:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        description: Address setup time in nanoseconds.
> -
> -      ingenic,nemc-tAH:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        description: Address hold time in nanoseconds.
> -
> -      ingenic,nemc-tBP:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        description: Burst pitch time in nanoseconds.
> -
> -      ingenic,nemc-tAW:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        description: Address wait time in nanoseconds.
> -
> -      ingenic,nemc-tSTRV:
> -        $ref: /schemas/types.yaml#/definitions/uint32
> -        description: Static memory recovery time in nanoseconds.
> -
> -    required:
> -      - reg
> 
>  required:
>    - compatible
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml 
> b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> index 9de8ef6e59ca..8c272c842bfd 100644
> --- a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> +++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> @@ -11,6 +11,7 @@ maintainers:
> 
>  allOf:
>    - $ref: nand-controller.yaml#
> +  - $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml#
> 
>  properties:
>    compatible:
> --
> 2.34.1
> 



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

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

end of thread, other threads:[~2022-05-25 23:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-25 21:01 [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties Rob Herring
2022-05-25 23:10 ` Paul Cercueil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).