Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
Hi Paul > > > >> >> + > > > >> >> +maintainers: > > > >> >> + - Paul Cercueil > > > >> >> + > > > >> >> +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
Le lun. 30 nov. 2020 à 13:18, Rob Herring a écrit : On Mon, Nov 30, 2020 at 12:39 PM Paul Cercueil wrote: Hi Rob, Le lun. 30 nov. 2020 à 7:32, Rob Herring a écrit : > On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil > wrote: >> >> >> >> Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg a >> écrit : >> > On Sun, Nov 01, 2020 at 09:31:48AM +, 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 >> >> --- >> >> .../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 ..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 >> >> + >> >> +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
On Mon, Nov 30, 2020 at 12:39 PM Paul Cercueil wrote: > > Hi Rob, > > Le lun. 30 nov. 2020 à 7:32, Rob Herring a écrit > : > > On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil > > wrote: > >> > >> > >> > >> Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg a > >> écrit : > >> > On Sun, Nov 01, 2020 at 09:31:48AM +, 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 > >> >> --- > >> >> .../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 ..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 > >> >> + > >> >> +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
Hi Rob, Le lun. 30 nov. 2020 à 7:32, Rob Herring a écrit : On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil wrote: Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg a écrit : > On Sun, Nov 01, 2020 at 09:31:48AM +, 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 >> --- >> .../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 ..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 >> + >> +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
On Mon, Nov 2, 2020 at 3:19 AM Paul Cercueil wrote: > > > > Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg a écrit : > > On Sun, Nov 01, 2020 at 09:31:48AM +, 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 > >> --- > >> .../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 ..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 > >> + > >> +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
Le dim. 1 nov. 2020 à 13:29, Sam Ravnborg a écrit : On Sun, Nov 01, 2020 at 09:31:48AM +, 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 --- .../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 ..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 + +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 + +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
Re: [PATCH 2/4] dt-bindings: display: Add ABT Y030XX067A panel bindings
On Sun, Nov 01, 2020 at 09:31:48AM +, 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 > --- > .../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 ..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 > + > +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 > + > +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