All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties
@ 2022-05-25 21:01 ` Rob Herring
  0 siblings, 0 replies; 4+ 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


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

* [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties
@ 2022-05-25 21:01 ` Rob Herring
  0 siblings, 0 replies; 4+ 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] 4+ messages in thread

* Re: [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
  -1 siblings, 0 replies; 4+ 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
> 



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

* Re: [PATCH] dt-bindings: memory-controllers: ingenic: Split out child node properties
@ 2022-05-25 23:10   ` Paul Cercueil
  0 siblings, 0 replies; 4+ 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] 4+ messages in thread

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

Thread overview: 4+ 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 21:01 ` Rob Herring
2022-05-25 23:10 ` Paul Cercueil
2022-05-25 23:10   ` Paul Cercueil

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.