On Fri, May 13, 2022 at 01:38:27PM +0530, Krishna Yarlagadda wrote: > Move peripheral properties for Tegra QSPI controller to > nvidia,tegra210-quad-peripheral-props.yaml and add reference > to spi-peripheral-props.yaml file. > > Signed-off-by: Krishna Yarlagadda <kyarlagadda@xxxxxxxxxx> > --- > ...nvidia,tegra210-quad-peripheral-props.yaml | 45 +++++++++++++++++++ > .../bindings/spi/nvidia,tegra210-quad.yaml | 32 ------------- > .../bindings/spi/spi-peripheral-props.yaml | 1 + > 3 files changed, 46 insertions(+), 32 deletions(-) > create mode 100644 Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > > diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > new file mode 100644 > index 000000000000..f91347759c65 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad-peripheral-props.yaml > @@ -0,0 +1,45 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/nvidia,tegra210-quad-peripheral-props.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Peripheral properties for Tegra Quad SPI Controller > + > +maintainers: > + - Thierry Reding <thierry.reding@xxxxxxxxx> > + - Jonathan Hunter <jonathanh@xxxxxxxxxx> > + > +properties: > + reg: > + maxItems: 1 > + > + spi-rx-bus-width: > + enum: [1, 2, 4] > + > + spi-tx-bus-width: > + enum: [1, 2, 4] You've just set the constraints for everyone. This needs to stay in your controller schema as it's an additional constraint on your controller. > + > + nvidia,tx-clk-tap-delay: > + description: > + Delays the clock going out to device with this tap value. > + Tap value varies based on platform design trace lengths from Tegra > + QSPI to corresponding slave device. > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 31 > + > + nvidia,rx-clk-tap-delay: > + description: > + Delays the clock coming in from the device with this tap value. > + Tap value varies based on platform design trace lengths from Tegra > + QSPI to corresponding slave device. > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 255 > + > +required: > + - reg Pretty sure we captured that elsewhere. > + > +unevaluatedProperties: false This is why this patch makes everything fail. This means the only properties allowed for any SPI child are the above ones. You need 'additionalProperties: true' here. > + > diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > index 0296edd1de22..7d60bb1af047 100644 > --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > @@ -21,9 +21,6 @@ properties: > - nvidia,tegra194-qspi > - nvidia,tegra234-qspi > > - reg: > - maxItems: 1 Umm, this is for your controller registers. I think you need them. > - > interrupts: > maxItems: 1 > > @@ -50,37 +47,8 @@ patternProperties: > "@[0-9a-f]+": > type: object > > - properties: > - spi-rx-bus-width: > - enum: [1, 2, 4] > - > - spi-tx-bus-width: > - enum: [1, 2, 4] > - > - nvidia,tx-clk-tap-delay: > - description: > - Delays the clock going out to device with this tap value. > - Tap value varies based on platform design trace lengths from Tegra > - QSPI to corresponding slave device. > - $ref: /schemas/types.yaml#/definitions/uint32 > - minimum: 0 > - maximum: 31 > - > - nvidia,rx-clk-tap-delay: > - description: > - Delays the clock coming in from the device with this tap value. > - Tap value varies based on platform design trace lengths from Tegra > - QSPI to corresponding slave device. > - $ref: /schemas/types.yaml#/definitions/uint32 > - minimum: 0 > - maximum: 255 > - > - required: > - - reg > - > required: > - compatible > - - reg > - interrupts > - clock-names > - clocks > diff --git a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml > index 5e32928c4fc3..cf589d17b0f5 100644 > --- a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml > +++ b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml > @@ -112,5 +112,6 @@ properties: > allOf: > - $ref: cdns,qspi-nor-peripheral-props.yaml# > - $ref: samsung,spi-peripheral-props.yaml# > + - $ref: nvidia,tegra210-quad-peripheral-props.yaml# > > additionalProperties: true > -- > 2.17.1 > >