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

Paul Cercueil paul at crapouillou.net
Wed May 25 16:10:25 PDT 2022


Hi Rob,

Le mer., mai 25 2022 at 16:01:40 -0500, Rob Herring <robh at 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 at kernel.org>

Acked-by: Paul Cercueil <paul at 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 at 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
> 





More information about the linux-mtd mailing list