[PATCH v4 1/3] dt-bindings: display: add bindings for MIPI DBI compatible SPI panels

Rob Herring robh at kernel.org
Tue Feb 22 17:26:22 UTC 2022


On Mon, Feb 21, 2022 at 12:31:08PM +0100, Noralf Trønnes wrote:
> 
> 
> Den 18.02.2022 16.11, skrev Noralf Trønnes:
> > Add binding for MIPI DBI compatible SPI panels.
> > 
> > v4:
> > - There should only be two compatible (Maxime)
> > - s/panel-dbi-spi/panel-mipi-dbi-spi/in compatible
> > 
> > v3:
> > - Move properties to Device Tree (Maxime)
> > - Use contains for compatible (Maxime)
> > - Add backlight property to example
> > - Flesh out description
> > 
> > v2:
> > - Fix path for panel-common.yaml
> > - Use unevaluatedProperties
> > - Drop properties which are in the allOf section
> > - Drop model property (Rob)
> > 
> > Acked-by: Maxime Ripard <maxime at cerno.tech>
> > Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> > ---
> >  .../display/panel/panel-mipi-dbi-spi.yaml     | 125 ++++++++++++++++++
> >  1 file changed, 125 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> > new file mode 100644
> > index 000000000000..748c09113168
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> 
> > +allOf:
> > +  - $ref: panel-common.yaml#
> > +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - {} # Panel Specific Compatible
> > +      - const: panel-mipi-dbi-spi
> > +
> 
> Rob's bot uses a -m flag I didn't use, and with that the compatible fails:
> 
> $ make DT_CHECKER_FLAGS=-m dt_binding_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
>   CHKDT   Documentation/devicetree/bindings/processed-schema-examples.json
>   SCHEMA  Documentation/devicetree/bindings/processed-schema-examples.json
>   DTEX
> Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.example.dts
>   DTC
> Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.example.dt.yaml
>   CHECK
> Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.example.dt.yaml
> Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.example.dt.yaml:0:0:
> /example-0/spi/display at 0: failed to match any schema with compatible:
> ['sainsmart18', 'panel-mipi-dbi-spi']
> 
> How can I write the compatible property to make the checker happy?

You need to partition the schemas as I outlined before. Given the DBI 
spec does define power and reset, maybe you can get away with 1 schema 
just by changing the '- {}' entry above to an enum with a list of 
compatibles. But as soon as there is a panel with extra or different 
properties, this schema will have to be split. 

Rob


More information about the dri-devel mailing list