[PATCH v3 05/11] spi: dw: Add Pensando Elba SoC SPI Controller bindings

Brad Larson brad at pensando.io
Tue Nov 16 15:11:53 PST 2021


Hi Sergey,

On Tue, Nov 16, 2021 at 3:29 AM Serge Semin <fancer.lancer at gmail.com> wrote:
>
> > > AFAICS from the driver-part of the patchset it's not enough. You've
> > > also got the syscon phandle, which needs to be reflected in the
> > > bindings. That also makes me thinking that you didn't perform the
> > > "dtbs_check" on the dts-files you were going to submit, but for some
> > > reason discarded from this series (btw why?). If you did you would
> > > have got an error of an unevaluated property detection.
> >
> > I ran the checks below and didn't get errors.  Rob provided some info
> > and I found the server did not have yamllint installed (not flagged by
> > tool).  Also dt-schema was not the latest.  I'm re-doing this and
> > including "DT_CHECKER_FLAGS=-m" as that is new with v5.13.
> >
>
> > make ARCH=arm64 dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
> > make ARCH=arm64 dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
> > make ARCH=arm64 dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> > make ARCH=arm64 dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/vendor-prefixes.yaml
> > make ARCH=arm64 dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/arm/pensando,elba.yaml
>
> Hmm, that's weird. Rob, does dtschema tool have the
> "unevaluatedProperties" property support?
>
> Brad, anyway you still need to add the syscon-property (pensando,*spics)
> requirement in the snps,dw-apb-ssi.yaml schema. See the way it's done there
> for instance for "baikal,bt1-sys-ssi" when it comes to the
> vendor-specific properties definition in the allOf composition block.
> You'll need to define a custom phandle property there in case if a
> DT-node is compatible with you SPI controller.

Updating and adding only this bindings update to file
snps,dw-apb-ssi.yaml in 5.16.0-rc1 (next-20211116):

diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
index d7e08b03e204..99deb587a47b 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
@@ -37,6 +37,21 @@ allOf:
     else:
       required:
         - interrupts
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - pensando,elba-spics
+    then:
+      properties:
+        pensando,spics:
+          $ref: /schemas/types.yaml#/definitions/phandle
+          description:
+            Phandle to the system control device node which provides access to
+            the spics control register
+      required:
+        - pensando,spics

 properties:
   compatible:
@@ -73,6 +88,8 @@ properties:
               - renesas,r9a06g032-spi # RZ/N1D
               - renesas,r9a06g033-spi # RZ/N1S
           - const: renesas,rzn1-spi   # RZ/N1
+      - description: Pensando Elba SoC SPI Controller
+        const: pensando,elba-spics

   reg:
     minItems: 1

$ make ARCH=arm64 defconfig
...

$ make DT_CHECKER_FLAGS=-m dt_binding_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
...
  DTEX    Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.example.dts
  DTC     Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.example.dt.yaml
  CHECK   Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.example.dt.yaml
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.example.dt.yaml:0:0:
/example-0/spi at fff00000/flash at 1: failed to match any schema with
compatible: ['spi-nand']

The spi-nand schema match failure happens before I make any change.
The tool also throws errors for these files which are unrelated

Documentation/devicetree/bindings/net/qcom,ipa.yaml: ignoring, error
in schema: properties: qcom,smem-state-names
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml:
ignoring, error in schema: patternProperties: ^filter@[0-9]+$:
properties: st,adc-channel-names
Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml:
ignoring, error in schema: properties: qcom,bcm-voter-names

Thanks,
Brad



More information about the linux-arm-kernel mailing list