Message ID | 20201101093150.8071-3-paul@crapouillou.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panel: ABT Y030XX067A panel support | expand |
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
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
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
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
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
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 --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>; + }; + }; + }; + };
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