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@xxxxxxxxxx> > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > --- > .../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@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? Noralf. > + write-only: > + type: boolean > + description: > + Controller is not readable (ie. MISO is not wired up). > + > + dc-gpios: > + maxItems: 1 > + description: | > + Controller data/command selection (D/CX) in 4-line SPI mode. > + If not set, the controller is in 3-line SPI mode. > + > +required: > + - compatible > + - reg > + - panel-timing > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + display@0{ > + compatible = "sainsmart18", "panel-mipi-dbi-spi"; > + reg = <0>; > + spi-max-frequency = <40000000>; > + > + dc-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; > + reset-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; > + write-only; > + > + backlight = <&backlight>; > + > + width-mm = <35>; > + height-mm = <28>; > + > + panel-timing { > + hactive = <160>; > + vactive = <128>; > + hback-porch = <0>; > + vback-porch = <0>; > + > + clock-frequency = <0>; > + hfront-porch = <0>; > + hsync-len = <0>; > + vfront-porch = <0>; > + vsync-len = <0>; > + }; > + }; > + }; > + > +...