dt-bindings: memory-controllers: ingenic: Split out child node properties
Rob Herring
maintainerPATCH 1/1 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.
--- .../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
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml new file +46 -0
@@ -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 <[email protected]> + +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 +...
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml +0 -32
@@ -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
Documentation/devicetree/bindings/mtd/ingenic,nand.yaml +1 -0
@@ -11,6 +11,7 @@ maintainers: allOf: - $ref: nand-controller.yaml# + - $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml# properties: compatible:
Signature · 1 line
2.34.1
Hi Rob,
Quoted 9 lines · Rob Herring
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 <[email protected]>
Cheers,
-Paul
Quoted 124 lines
--- .../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(quoted diff) +0
-0
b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yamlDocumentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml new file +4
-0@@ -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#(quoted diff) +2
-0+ +title: Ingenic SoCs NAND / External Memory Controller (NEMC)devicetree bindings
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc-peripherals.yaml new file +39
-0+ +maintainers: + - Paul Cercueil <[email protected]> + +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 +...Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml +0
-1---
a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml
+++b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yamlDocumentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml +0
-32@@ -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: - compatibleDocumentation/devicetree/bindings/mtd/ingenic,nand.yaml +1
-1@@ -11,6 +11,7 @@ maintainers: allOf: - $ref: nand-controller.yaml# + - $ref: /schemas/memory-controllers/ingenic,nemc-peripherals.yaml# properties: compatible: --2.34.1