[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