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

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>
Link: https://lore.kernel.org/r/20220525210140.2489866-1-robh@kernel.org
This commit is contained in:
Rob Herring 2022-05-25 16:01:40 -05:00
parent bbba69ef47
commit e1dff7f133
3 changed files with 47 additions and 32 deletions

View File

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

View File

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

View File

@ -11,6 +11,7 @@ maintainers:
allOf:
- $ref: nand-controller.yaml#
- $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml#
properties:
compatible: