diff mbox series

[2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings

Message ID 20201101093150.8071-3-paul@crapouillou.net
State Changes Requested, archived
Headers show
Series drm/panel: ABT Y030XX067A panel support | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema fail build log

Commit Message

Paul Cercueil Nov. 1, 2020, 9:31 a.m. UTC
The Asia Better Technology (ABT) Y030XX067A panel is a 3.0" 320x480
24-bit IPS LCD panel. Its particularity is that it has non-square pixels
(as it is 4:3 for a resolution of 320x480), and that it requires odd
lines to be sent as RGB and even lines to be sent as GRB on its 8-bit
bus.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 .../display/panel/abt,y030xx067a.yaml         | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml

Comments

Sam Ravnborg Nov. 1, 2020, 12:29 p.m. UTC | #1
On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
> The Asia Better Technology (ABT) Y030XX067A panel is a 3.0" 320x480
> 24-bit IPS LCD panel. Its particularity is that it has non-square pixels
> (as it is 4:3 for a resolution of 320x480), and that it requires odd
> lines to be sent as RGB and even lines to be sent as GRB on its 8-bit
> bus.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  .../display/panel/abt,y030xx067a.yaml         | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> new file mode 100644
> index 000000000000..6407e8bf45fa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS LCD panel
> +
> +description: |
> +  The panel must obey the rules for a SPI slave device as specified in
> +  spi/spi-controller.yaml
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: abt,y030xx067a
> +
> +  backlight: true
> +  port: true
> +  power-supply: true
> +  reg: true
> +  reset-gpios: true

The binding is missing:
required:
  - compatible
  - reg
  - power-supply
  - reset-gpios
  - ...

additionalProperties: false

So r-b only with these added.

	Sam

> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        panel@0 {
> +            compatible = "abt,y030xx067a";
> +            reg = <0>;
> +
> +            spi-max-frequency = <3125000>;
> +
> +            reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;
> +
> +            backlight = <&backlight>;
> +            power-supply = <&vcc>;
> +
> +            port {
> +                panel_input: endpoint {
> +                    remote-endpoint = <&panel_output>;
> +                };
> +            };
> +        };
> +    };
> -- 
> 2.28.0
Paul Cercueil Nov. 2, 2020, 10:19 a.m. UTC | #2
Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg <sam@ravnborg.org> a écrit :
> On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
>>  The Asia Better Technology (ABT) Y030XX067A panel is a 3.0" 320x480
>>  24-bit IPS LCD panel. Its particularity is that it has non-square 
>> pixels
>>  (as it is 4:3 for a resolution of 320x480), and that it requires odd
>>  lines to be sent as RGB and even lines to be sent as GRB on its 
>> 8-bit
>>  bus.
>> 
>>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  ---
>>   .../display/panel/abt,y030xx067a.yaml         | 54 
>> +++++++++++++++++++
>>   1 file changed, 54 insertions(+)
>>   create mode 100644 
>> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>> 
>>  diff --git 
>> a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  new file mode 100644
>>  index 000000000000..6407e8bf45fa
>>  --- /dev/null
>>  +++ 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  @@ -0,0 +1,54 @@
>>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>  +%YAML 1.2
>>  +---
>>  +$id: 
>> http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
>>  +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>  +
>>  +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS LCD 
>> panel
>>  +
>>  +description: |
>>  +  The panel must obey the rules for a SPI slave device as 
>> specified in
>>  +  spi/spi-controller.yaml
>>  +
>>  +maintainers:
>>  +  - Paul Cercueil <paul@crapouillou.net>
>>  +
>>  +allOf:
>>  +  - $ref: panel-common.yaml#
>>  +
>>  +properties:
>>  +  compatible:
>>  +    const: abt,y030xx067a
>>  +
>>  +  backlight: true
>>  +  port: true
>>  +  power-supply: true
>>  +  reg: true
>>  +  reset-gpios: true
> 
> The binding is missing:
> required:
>   - compatible
>   - reg
>   - power-supply
>   - reset-gpios
>   - ...
> 
> additionalProperties: false
> 
> So r-b only with these added.

Stupid mistake, sorry about that.

I'll V2.

-Paul

> 
> 	Sam
> 
>>  +
>>  +examples:
>>  +  - |
>>  +    #include <dt-bindings/gpio/gpio.h>
>>  +
>>  +    spi {
>>  +        #address-cells = <1>;
>>  +        #size-cells = <0>;
>>  +
>>  +        panel@0 {
>>  +            compatible = "abt,y030xx067a";
>>  +            reg = <0>;
>>  +
>>  +            spi-max-frequency = <3125000>;
>>  +
>>  +            reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;
>>  +
>>  +            backlight = <&backlight>;
>>  +            power-supply = <&vcc>;
>>  +
>>  +            port {
>>  +                panel_input: endpoint {
>>  +                    remote-endpoint = <&panel_output>;
>>  +                };
>>  +            };
>>  +        };
>>  +    };
>>  --
>>  2.28.0
Rob Herring Nov. 30, 2020, 2:32 p.m. UTC | #3
On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil <paul@crapouillou.net> wrote:
>
>
>
> Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg <sam@ravnborg.org> a écrit :
> > On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
> >>  The Asia Better Technology (ABT) Y030XX067A panel is a 3.0" 320x480
> >>  24-bit IPS LCD panel. Its particularity is that it has non-square
> >> pixels
> >>  (as it is 4:3 for a resolution of 320x480), and that it requires odd
> >>  lines to be sent as RGB and even lines to be sent as GRB on its
> >> 8-bit
> >>  bus.
> >>
> >>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> >>  ---
> >>   .../display/panel/abt,y030xx067a.yaml         | 54
> >> +++++++++++++++++++
> >>   1 file changed, 54 insertions(+)
> >>   create mode 100644
> >> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>
> >>  diff --git
> >> a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  new file mode 100644
> >>  index 000000000000..6407e8bf45fa
> >>  --- /dev/null
> >>  +++
> >> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  @@ -0,0 +1,54 @@
> >>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> >>  +%YAML 1.2
> >>  +---
> >>  +$id:
> >> http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
> >>  +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>  +
> >>  +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS LCD
> >> panel
> >>  +
> >>  +description: |
> >>  +  The panel must obey the rules for a SPI slave device as
> >> specified in
> >>  +  spi/spi-controller.yaml
> >>  +
> >>  +maintainers:
> >>  +  - Paul Cercueil <paul@crapouillou.net>
> >>  +
> >>  +allOf:
> >>  +  - $ref: panel-common.yaml#
> >>  +
> >>  +properties:
> >>  +  compatible:
> >>  +    const: abt,y030xx067a
> >>  +
> >>  +  backlight: true
> >>  +  port: true
> >>  +  power-supply: true
> >>  +  reg: true
> >>  +  reset-gpios: true
> >
> > The binding is missing:
> > required:
> >   - compatible
> >   - reg
> >   - power-supply
> >   - reset-gpios
> >   - ...
> >
> > additionalProperties: false
> >
> > So r-b only with these added.
>
> Stupid mistake, sorry about that.
>
> I'll V2.

I don't have any V2 in my inbox, but looks like it is in linux-next now:

/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.example.dt.yaml:
panel@0: 'spi-max-frequency' does not match any of the regexes:
'pinctrl-[0-9]+'
 From schema: /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
Paul Cercueil Nov. 30, 2020, 7:39 p.m. UTC | #4
Hi Rob,

Le lun. 30 nov. 2020 à 7:32, Rob Herring <robh+dt@kernel.org> a écrit 
:
> On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil <paul@crapouillou.net> 
> wrote:
>> 
>> 
>> 
>>  Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg <sam@ravnborg.org> a 
>> écrit :
>>  > On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
>>  >>  The Asia Better Technology (ABT) Y030XX067A panel is a 3.0" 
>> 320x480
>>  >>  24-bit IPS LCD panel. Its particularity is that it has 
>> non-square
>>  >> pixels
>>  >>  (as it is 4:3 for a resolution of 320x480), and that it 
>> requires odd
>>  >>  lines to be sent as RGB and even lines to be sent as GRB on its
>>  >> 8-bit
>>  >>  bus.
>>  >>
>>  >>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  >>  ---
>>  >>   .../display/panel/abt,y030xx067a.yaml         | 54
>>  >> +++++++++++++++++++
>>  >>   1 file changed, 54 insertions(+)
>>  >>   create mode 100644
>>  >> 
>> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>
>>  >>  diff --git
>>  >> 
>> a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >> 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  new file mode 100644
>>  >>  index 000000000000..6407e8bf45fa
>>  >>  --- /dev/null
>>  >>  +++
>>  >> 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  @@ -0,0 +1,54 @@
>>  >>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>  >>  +%YAML 1.2
>>  >>  +---
>>  >>  +$id:
>>  >> http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
>>  >>  +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>  >>  +
>>  >>  +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS 
>> LCD
>>  >> panel
>>  >>  +
>>  >>  +description: |
>>  >>  +  The panel must obey the rules for a SPI slave device as
>>  >> specified in
>>  >>  +  spi/spi-controller.yaml
>>  >>  +
>>  >>  +maintainers:
>>  >>  +  - Paul Cercueil <paul@crapouillou.net>
>>  >>  +
>>  >>  +allOf:
>>  >>  +  - $ref: panel-common.yaml#
>>  >>  +
>>  >>  +properties:
>>  >>  +  compatible:
>>  >>  +    const: abt,y030xx067a
>>  >>  +
>>  >>  +  backlight: true
>>  >>  +  port: true
>>  >>  +  power-supply: true
>>  >>  +  reg: true
>>  >>  +  reset-gpios: true
>>  >
>>  > The binding is missing:
>>  > required:
>>  >   - compatible
>>  >   - reg
>>  >   - power-supply
>>  >   - reset-gpios
>>  >   - ...
>>  >
>>  > additionalProperties: false
>>  >
>>  > So r-b only with these added.
>> 
>>  Stupid mistake, sorry about that.
>> 
>>  I'll V2.
> 
> I don't have any V2 in my inbox, but looks like it is in linux-next 
> now:

Yes, Sam told me on IRC I could fix it while applying and avoid the V2.

> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.example.dt.yaml:
> panel@0: 'spi-max-frequency' does not match any of the regexes:
> 'pinctrl-[0-9]+'
>  From schema: 
> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml

"make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml" 
doesn't complain here :(

-Paul
Rob Herring Nov. 30, 2020, 8:18 p.m. UTC | #5
On Mon, Nov 30, 2020 at 12:39 PM Paul Cercueil <paul@crapouillou.net> wrote:
>
> Hi Rob,
>
> Le lun. 30 nov. 2020 à 7:32, Rob Herring <robh+dt@kernel.org> a écrit
> :
> > On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil <paul@crapouillou.net>
> > wrote:
> >>
> >>
> >>
> >>  Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg <sam@ravnborg.org> a
> >> écrit :
> >>  > On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
> >>  >>  The Asia Better Technology (ABT) Y030XX067A panel is a 3.0"
> >> 320x480
> >>  >>  24-bit IPS LCD panel. Its particularity is that it has
> >> non-square
> >>  >> pixels
> >>  >>  (as it is 4:3 for a resolution of 320x480), and that it
> >> requires odd
> >>  >>  lines to be sent as RGB and even lines to be sent as GRB on its
> >>  >> 8-bit
> >>  >>  bus.
> >>  >>
> >>  >>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> >>  >>  ---
> >>  >>   .../display/panel/abt,y030xx067a.yaml         | 54
> >>  >> +++++++++++++++++++
> >>  >>   1 file changed, 54 insertions(+)
> >>  >>   create mode 100644
> >>  >>
> >> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  >>
> >>  >>  diff --git
> >>  >>
> >> a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  >>
> >> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  >>  new file mode 100644
> >>  >>  index 000000000000..6407e8bf45fa
> >>  >>  --- /dev/null
> >>  >>  +++
> >>  >>
> >> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> >>  >>  @@ -0,0 +1,54 @@
> >>  >>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> >>  >>  +%YAML 1.2
> >>  >>  +---
> >>  >>  +$id:
> >>  >> http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
> >>  >>  +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>  >>  +
> >>  >>  +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS
> >> LCD
> >>  >> panel
> >>  >>  +
> >>  >>  +description: |
> >>  >>  +  The panel must obey the rules for a SPI slave device as
> >>  >> specified in
> >>  >>  +  spi/spi-controller.yaml
> >>  >>  +
> >>  >>  +maintainers:
> >>  >>  +  - Paul Cercueil <paul@crapouillou.net>
> >>  >>  +
> >>  >>  +allOf:
> >>  >>  +  - $ref: panel-common.yaml#
> >>  >>  +
> >>  >>  +properties:
> >>  >>  +  compatible:
> >>  >>  +    const: abt,y030xx067a
> >>  >>  +
> >>  >>  +  backlight: true
> >>  >>  +  port: true
> >>  >>  +  power-supply: true
> >>  >>  +  reg: true
> >>  >>  +  reset-gpios: true
> >>  >
> >>  > The binding is missing:
> >>  > required:
> >>  >   - compatible
> >>  >   - reg
> >>  >   - power-supply
> >>  >   - reset-gpios
> >>  >   - ...
> >>  >
> >>  > additionalProperties: false
> >>  >
> >>  > So r-b only with these added.
> >>
> >>  Stupid mistake, sorry about that.
> >>
> >>  I'll V2.
> >
> > I don't have any V2 in my inbox, but looks like it is in linux-next
> > now:
>
> Yes, Sam told me on IRC I could fix it while applying and avoid the V2.
>
> > /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.example.dt.yaml:
> > panel@0: 'spi-max-frequency' does not match any of the regexes:
> > 'pinctrl-[0-9]+'
> >  From schema:
> > /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>
> "make dt_binding_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml"
> doesn't complain here :(

Even if you do 'touch
Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml'
or do a clean build?

I can't think of any kernel or dt-schema changes which would explain
the difference. This is purely related to 'additionalProperties:
false'.

Rob
Paul Cercueil Nov. 30, 2020, 9:48 p.m. UTC | #6
Le lun. 30 nov. 2020 à 13:18, Rob Herring <robh+dt@kernel.org> a 
écrit :
> On Mon, Nov 30, 2020 at 12:39 PM Paul Cercueil <paul@crapouillou.net> 
> wrote:
>> 
>>  Hi Rob,
>> 
>>  Le lun. 30 nov. 2020 à 7:32, Rob Herring <robh+dt@kernel.org> a 
>> écrit
>>  :
>>  > On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil 
>> <paul@crapouillou.net>
>>  > wrote:
>>  >>
>>  >>
>>  >>
>>  >>  Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg <sam@ravnborg.org> a
>>  >> écrit :
>>  >>  > On Sun, Nov 01, 2020 at 09:31:48AM +0000, Paul Cercueil wrote:
>>  >>  >>  The Asia Better Technology (ABT) Y030XX067A panel is a 3.0"
>>  >> 320x480
>>  >>  >>  24-bit IPS LCD panel. Its particularity is that it has
>>  >> non-square
>>  >>  >> pixels
>>  >>  >>  (as it is 4:3 for a resolution of 320x480), and that it
>>  >> requires odd
>>  >>  >>  lines to be sent as RGB and even lines to be sent as GRB on 
>> its
>>  >>  >> 8-bit
>>  >>  >>  bus.
>>  >>  >>
>>  >>  >>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  >>  >>  ---
>>  >>  >>   .../display/panel/abt,y030xx067a.yaml         | 54
>>  >>  >> +++++++++++++++++++
>>  >>  >>   1 file changed, 54 insertions(+)
>>  >>  >>   create mode 100644
>>  >>  >>
>>  >> 
>> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  >>
>>  >>  >>  diff --git
>>  >>  >>
>>  >> 
>> a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  >>
>>  >> 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  >>  new file mode 100644
>>  >>  >>  index 000000000000..6407e8bf45fa
>>  >>  >>  --- /dev/null
>>  >>  >>  +++
>>  >>  >>
>>  >> 
>> b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>>  >>  >>  @@ -0,0 +1,54 @@
>>  >>  >>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>  >>  >>  +%YAML 1.2
>>  >>  >>  +---
>>  >>  >>  +$id:
>>  >>  >> 
>> http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
>>  >>  >>  +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>  >>  >>  +
>>  >>  >>  +title: Asia Better Technology 3.0" (320x480 pixels) 24-bit 
>> IPS
>>  >> LCD
>>  >>  >> panel
>>  >>  >>  +
>>  >>  >>  +description: |
>>  >>  >>  +  The panel must obey the rules for a SPI slave device as
>>  >>  >> specified in
>>  >>  >>  +  spi/spi-controller.yaml
>>  >>  >>  +
>>  >>  >>  +maintainers:
>>  >>  >>  +  - Paul Cercueil <paul@crapouillou.net>
>>  >>  >>  +
>>  >>  >>  +allOf:
>>  >>  >>  +  - $ref: panel-common.yaml#
>>  >>  >>  +
>>  >>  >>  +properties:
>>  >>  >>  +  compatible:
>>  >>  >>  +    const: abt,y030xx067a
>>  >>  >>  +
>>  >>  >>  +  backlight: true
>>  >>  >>  +  port: true
>>  >>  >>  +  power-supply: true
>>  >>  >>  +  reg: true
>>  >>  >>  +  reset-gpios: true
>>  >>  >
>>  >>  > The binding is missing:
>>  >>  > required:
>>  >>  >   - compatible
>>  >>  >   - reg
>>  >>  >   - power-supply
>>  >>  >   - reset-gpios
>>  >>  >   - ...
>>  >>  >
>>  >>  > additionalProperties: false
>>  >>  >
>>  >>  > So r-b only with these added.
>>  >>
>>  >>  Stupid mistake, sorry about that.
>>  >>
>>  >>  I'll V2.
>>  >
>>  > I don't have any V2 in my inbox, but looks like it is in 
>> linux-next
>>  > now:
>> 
>>  Yes, Sam told me on IRC I could fix it while applying and avoid the 
>> V2.
>> 
>>  > 
>> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.example.dt.yaml:
>>  > panel@0: 'spi-max-frequency' does not match any of the regexes:
>>  > 'pinctrl-[0-9]+'
>>  >  From schema:
>>  > 
>> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
>> 
>>  "make dt_binding_check
>>  
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml"
>>  doesn't complain here :(
> 
> Even if you do 'touch
> Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml'
> or do a clean build?
> 
> I can't think of any kernel or dt-schema changes which would explain
> the difference. This is purely related to 'additionalProperties:
> false'.

Ok, I see it now.
Should I use 'unevaluatedProperties: false' instead?

-Paul
Sam Ravnborg Dec. 5, 2020, 7:55 p.m. UTC | #7
Hi Paul

> > >  >>  >>  +
> > >  >>  >>  +maintainers:
> > >  >>  >>  +  - Paul Cercueil <paul@crapouillou.net>
> > >  >>  >>  +
> > >  >>  >>  +allOf:
> > >  >>  >>  +  - $ref: panel-common.yaml#
> > >  >>  >>  +
> > >  >>  >>  +properties:
> > >  >>  >>  +  compatible:
> > >  >>  >>  +    const: abt,y030xx067a
> > >  >>  >>  +
> > >  >>  >>  +  backlight: true
> > >  >>  >>  +  port: true
> > >  >>  >>  +  power-supply: true
> > >  >>  >>  +  reg: true
> > >  >>  >>  +  reset-gpios: true
> > >  >>  >
> > >  >>  > The binding is missing:
> > >  >>  > required:
> > >  >>  >   - compatible
> > >  >>  >   - reg
> > >  >>  >   - power-supply
> > >  >>  >   - reset-gpios
> > >  >>  >   - ...
> > >  >>  >
> > >  >>  > additionalProperties: false
> > >  >>  >
> > >  >>  > So r-b only with these added.
> > >  >>
> > >  >>  Stupid mistake, sorry about that.
> > >  >>
> > >  >>  I'll V2.
> > >  >
> > >  > I don't have any V2 in my inbox, but looks like it is in
> > > linux-next
> > >  > now:
> > > 
> > >  Yes, Sam told me on IRC I could fix it while applying and avoid the
> > > V2.
> > > 
> > >  > /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.example.dt.yaml:
> > >  > panel@0: 'spi-max-frequency' does not match any of the regexes:
> > >  > 'pinctrl-[0-9]+'
> > >  >  From schema:
> > >  > /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
> > > 
> > >  "make dt_binding_check
> > > DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml"
> > >  doesn't complain here :(
> > 
> > Even if you do 'touch
> > Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml'
> > or do a clean build?
> > 
> > I can't think of any kernel or dt-schema changes which would explain
> > the difference. This is purely related to 'additionalProperties:
> > false'.
> 
> Ok, I see it now.
> Should I use 'unevaluatedProperties: false' instead?

Yes, the issue here is that you add a number of spi properties to the
binding. And you cannot or at least shall not, list them all in this
binding.
So when evaluating the binding the spi-max-frequency should be allowed,
and when a full DT file is checked the tools will catch it there is a
binding that is not known - as you tell it with "unevaluatedProperties:
false" that all prperties must be known.

	Sam
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
new file mode 100644
index 000000000000..6407e8bf45fa
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml
@@ -0,0 +1,54 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/abt,y030xx067a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS LCD panel
+
+description: |
+  The panel must obey the rules for a SPI slave device as specified in
+  spi/spi-controller.yaml
+
+maintainers:
+  - Paul Cercueil <paul@crapouillou.net>
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: abt,y030xx067a
+
+  backlight: true
+  port: true
+  power-supply: true
+  reg: true
+  reset-gpios: true
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        panel@0 {
+            compatible = "abt,y030xx067a";
+            reg = <0>;
+
+            spi-max-frequency = <3125000>;
+
+            reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;
+
+            backlight = <&backlight>;
+            power-supply = <&vcc>;
+
+            port {
+                panel_input: endpoint {
+                    remote-endpoint = <&panel_output>;
+                };
+            };
+        };
+    };