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