diff mbox series

dt-bindings: memory-controllers: ingenic: Split out child node properties

Message ID 20220525210140.2489866-1-robh@kernel.org
State New
Headers show
Series dt-bindings: memory-controllers: ingenic: Split out child node properties | expand

Commit Message

Rob Herring May 25, 2022, 9:01 p.m. UTC
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

Comments

Paul Cercueil May 25, 2022, 11:10 p.m. UTC | #1
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
>
diff mbox series

Patch

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: