Message ID | 20200629223315.118256-2-sebastian.reichel@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | panel-dsi-cm: update bindings | expand |
Hi Sebastian. On Tue, Jun 30, 2020 at 12:33:12AM +0200, Sebastian Reichel wrote: > Convert panel-dsi-cm bindings to YAML and add > missing properties while at it. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Thanks, one of the few panel bindings still pending. And you added some nice explanations too, good. Some small comments in the folllowing. Sam > --- > .../bindings/display/panel/panel-dsi-cm.txt | 29 ----- > .../bindings/display/panel/panel-dsi-cm.yaml | 100 ++++++++++++++++++ > 2 files changed, 100 insertions(+), 29 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > deleted file mode 100644 > index dce48eb9db57..000000000000 > --- a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > +++ /dev/null > @@ -1,29 +0,0 @@ > -Generic MIPI DSI Command Mode Panel > -=================================== > - > -Required properties: > -- compatible: "panel-dsi-cm" > - > -Optional properties: > -- label: a symbolic name for the panel > -- reset-gpios: panel reset gpio > -- te-gpios: panel TE gpio > - > -Required nodes: > -- Video port for DSI input > - > -Example > -------- > - > -lcd0: display { > - compatible = "tpo,taal", "panel-dsi-cm"; > - label = "lcd0"; > - > - reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; > - > - port { > - lcd0_in: endpoint { > - remote-endpoint = <&dsi1_out_ep>; > - }; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > new file mode 100644 > index 000000000000..8d6a20f26470 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > @@ -0,0 +1,100 @@ > +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: DSI command mode panels > + > +maintainers: > + - Tomi Valkeinen <tomi.valkeinen@ti.com> > + - Sebastian Reichel <sre@kernel.org> > + > +description: | > + This binding file is a collection of the DSI panels that > + are usually driven in command mode. If no backlight is > + referenced via the optional backlight property, the DSI > + panel is assumed to have native backlight support. > + The panel may use an OF graph binding for the association > + to the display, or it may be a direct child node of the > + display. Later port: is required which does not really match this explanation. > + > +allOf: > + - $ref: panel-common.yaml# > + > +properties: > + > + compatible: > + items: > + - enum: > + - motorola,droid4-panel # Panel from Motorola Droid4 phone > + - nokia,himalaya # Panel from Nokia N950 phone > + - tpo,taal # Panel from OMAP4 SDP board > + - const: panel-dsi-cm # Generic DSI command mode panel compatible fallback > + > + reg: > + maxItems: 1 > + description: DSI virtual channel > + > + vddi-supply: > + description: > + Display panels require power to be supplied. While several panels need > + more than one power supply with panel-specific constraints governing the > + order and timings of the power supplies, in many cases a single power > + supply is sufficient, either because the panel has a single power rail, or > + because all its power rails can be driven by the same supply. In that case > + the vddi-supply property specifies the supply powering the panel as a > + phandle to a regulator. > + > + vpnl-supply: > + description: > + When the display panel needs a second power supply, this property can be > + used in addition to vddi-supply. Both supplies will be enabled at the > + same time before the panel is being accessed. > + > + width-mm: true > + height-mm: true > + label: true > + rotation: true > + panel-timing: true > + port: true > + reset-gpios: true > + te-gpios: true > + backlight: true > + > +additionalProperties: false > + > +required: > + - compatible > + - port > + - reg > + > +examples: My personal preference is indent 4 spaces. But there is no hard rule so do what you like. > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + dsi-controller { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port { > + dsi1_out_ep: endpoint { > + remote-endpoint = <&lcd0_in>; > + lanes = <0 1 2 3 4 5>; > + }; > + }; Addding the port node here does not really help me, I was left confused about the lanes = <...> property. > + > + panel@0 { > + compatible = "tpo,taal", "panel-dsi-cm"; > + label = "lcd0"; This use of label does not really match the description. The description says label shall be used for specific names and not generic names like "lcd". > + reg = <0>; > + reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; > + > + port { > + lcd0_in: endpoint { > + remote-endpoint = <&dsi1_out_ep>; > + }; > + }; > + }; > + > + }; Add: <empty line> ... The latter is end of statement or soething. You see it used often bu not always. I expect it to become mandatory the day the tools check for it. Sam > -- > 2.27.0
Hi Sebastian, Thank you for the patch. On Tue, Jun 30, 2020 at 07:50:31AM +0200, Sam Ravnborg wrote: > On Tue, Jun 30, 2020 at 12:33:12AM +0200, Sebastian Reichel wrote: > > Convert panel-dsi-cm bindings to YAML and add > > missing properties while at it. > > > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> > > Thanks, one of the few panel bindings still pending. > And you added some nice explanations too, good. > > Some small comments in the folllowing. > > > --- > > .../bindings/display/panel/panel-dsi-cm.txt | 29 ----- > > .../bindings/display/panel/panel-dsi-cm.yaml | 100 ++++++++++++++++++ > > 2 files changed, 100 insertions(+), 29 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > > > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > > deleted file mode 100644 > > index dce48eb9db57..000000000000 > > --- a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > > +++ /dev/null > > @@ -1,29 +0,0 @@ > > -Generic MIPI DSI Command Mode Panel > > -=================================== > > - > > -Required properties: > > -- compatible: "panel-dsi-cm" > > - > > -Optional properties: > > -- label: a symbolic name for the panel > > -- reset-gpios: panel reset gpio > > -- te-gpios: panel TE gpio > > - > > -Required nodes: > > -- Video port for DSI input > > - > > -Example > > -------- > > - > > -lcd0: display { > > - compatible = "tpo,taal", "panel-dsi-cm"; > > - label = "lcd0"; > > - > > - reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; > > - > > - port { > > - lcd0_in: endpoint { > > - remote-endpoint = <&dsi1_out_ep>; > > - }; > > - }; > > -}; > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > > new file mode 100644 > > index 000000000000..8d6a20f26470 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > > @@ -0,0 +1,100 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: DSI command mode panels > > + > > +maintainers: > > + - Tomi Valkeinen <tomi.valkeinen@ti.com> > > + - Sebastian Reichel <sre@kernel.org> > > + > > +description: | > > + This binding file is a collection of the DSI panels that > > + are usually driven in command mode. If no backlight is > > + referenced via the optional backlight property, the DSI > > + panel is assumed to have native backlight support. > > > + The panel may use an OF graph binding for the association > > + to the display, or it may be a direct child node of the > > + display. > > Later port: is required which does not really match this explanation. > > > + > > +allOf: > > + - $ref: panel-common.yaml# > > + > > +properties: > > + > > + compatible: > > + items: > > + - enum: > > + - motorola,droid4-panel # Panel from Motorola Droid4 phone > > + - nokia,himalaya # Panel from Nokia N950 phone > > + - tpo,taal # Panel from OMAP4 SDP board > > + - const: panel-dsi-cm # Generic DSI command mode panel compatible fallback > > + > > + reg: > > + maxItems: 1 > > + description: DSI virtual channel > > + > > + vddi-supply: > > + description: > > + Display panels require power to be supplied. While several panels need > > + more than one power supply with panel-specific constraints governing the > > + order and timings of the power supplies, in many cases a single power > > + supply is sufficient, either because the panel has a single power rail, or > > + because all its power rails can be driven by the same supply. In that case > > + the vddi-supply property specifies the supply powering the panel as a > > + phandle to a regulator. > > + > > + vpnl-supply: > > + description: > > + When the display panel needs a second power supply, this property can be > > + used in addition to vddi-supply. Both supplies will be enabled at the > > + same time before the panel is being accessed. > > + > > + width-mm: true > > + height-mm: true > > + label: true > > + rotation: true > > + panel-timing: true > > + port: true > > + reset-gpios: true > > + te-gpios: true > > + backlight: true > > + > > +additionalProperties: false > > + > > +required: > > + - compatible > > + - port > > + - reg > > + > > +examples: > > My personal preference is indent 4 spaces. > But there is no hard rule so do what you like. > > > + - | > > + #include <dt-bindings/gpio/gpio.h> > > + > > + dsi-controller { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + port { > > + dsi1_out_ep: endpoint { > > + remote-endpoint = <&lcd0_in>; > > + lanes = <0 1 2 3 4 5>; > > + }; > > + }; > > Addding the port node here does not really help me, > I was left confused about the lanes = <...> property. > > > + > > + panel@0 { > > + compatible = "tpo,taal", "panel-dsi-cm"; > > + label = "lcd0"; > > This use of label does not really match the description. > The description says label shall be used for specific names and not > generic names like "lcd". > > > + reg = <0>; > > + reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; > > + > > + port { > > + lcd0_in: endpoint { > > + remote-endpoint = <&dsi1_out_ep>; > > + }; > > + }; > > + }; > > + > > + }; > > Add: > <empty line> > ... > > The latter is end of statement or soething. > You see it used often bu not always. > > I expect it to become mandatory the day the tools check for it. I have no other comment to add. Once you address the issues pointed out by Sam, you can add my Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
On Tue, 30 Jun 2020 00:33:12 +0200, Sebastian Reichel wrote: > Convert panel-dsi-cm bindings to YAML and add > missing properties while at it. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> > --- > .../bindings/display/panel/panel-dsi-cm.txt | 29 ----- > .../bindings/display/panel/panel-dsi-cm.yaml | 100 ++++++++++++++++++ > 2 files changed, 100 insertions(+), 29 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt deleted file mode 100644 index dce48eb9db57..000000000000 --- a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt +++ /dev/null @@ -1,29 +0,0 @@ -Generic MIPI DSI Command Mode Panel -=================================== - -Required properties: -- compatible: "panel-dsi-cm" - -Optional properties: -- label: a symbolic name for the panel -- reset-gpios: panel reset gpio -- te-gpios: panel TE gpio - -Required nodes: -- Video port for DSI input - -Example -------- - -lcd0: display { - compatible = "tpo,taal", "panel-dsi-cm"; - label = "lcd0"; - - reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; - - port { - lcd0_in: endpoint { - remote-endpoint = <&dsi1_out_ep>; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml new file mode 100644 index 000000000000..8d6a20f26470 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml @@ -0,0 +1,100 @@ +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: DSI command mode panels + +maintainers: + - Tomi Valkeinen <tomi.valkeinen@ti.com> + - Sebastian Reichel <sre@kernel.org> + +description: | + This binding file is a collection of the DSI panels that + are usually driven in command mode. If no backlight is + referenced via the optional backlight property, the DSI + panel is assumed to have native backlight support. + The panel may use an OF graph binding for the association + to the display, or it may be a direct child node of the + display. + +allOf: + - $ref: panel-common.yaml# + +properties: + + compatible: + items: + - enum: + - motorola,droid4-panel # Panel from Motorola Droid4 phone + - nokia,himalaya # Panel from Nokia N950 phone + - tpo,taal # Panel from OMAP4 SDP board + - const: panel-dsi-cm # Generic DSI command mode panel compatible fallback + + reg: + maxItems: 1 + description: DSI virtual channel + + vddi-supply: + description: + Display panels require power to be supplied. While several panels need + more than one power supply with panel-specific constraints governing the + order and timings of the power supplies, in many cases a single power + supply is sufficient, either because the panel has a single power rail, or + because all its power rails can be driven by the same supply. In that case + the vddi-supply property specifies the supply powering the panel as a + phandle to a regulator. + + vpnl-supply: + description: + When the display panel needs a second power supply, this property can be + used in addition to vddi-supply. Both supplies will be enabled at the + same time before the panel is being accessed. + + width-mm: true + height-mm: true + label: true + rotation: true + panel-timing: true + port: true + reset-gpios: true + te-gpios: true + backlight: true + +additionalProperties: false + +required: + - compatible + - port + - reg + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + dsi-controller { + #address-cells = <1>; + #size-cells = <0>; + + port { + dsi1_out_ep: endpoint { + remote-endpoint = <&lcd0_in>; + lanes = <0 1 2 3 4 5>; + }; + }; + + panel@0 { + compatible = "tpo,taal", "panel-dsi-cm"; + label = "lcd0"; + reg = <0>; + reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; + + port { + lcd0_in: endpoint { + remote-endpoint = <&dsi1_out_ep>; + }; + }; + }; + + };
Convert panel-dsi-cm bindings to YAML and add missing properties while at it. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> --- .../bindings/display/panel/panel-dsi-cm.txt | 29 ----- .../bindings/display/panel/panel-dsi-cm.yaml | 100 ++++++++++++++++++ 2 files changed, 100 insertions(+), 29 deletions(-) delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.txt create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dsi-cm.yaml