Message ID | 20200120200641.15047-4-sam@ravnborg.org |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | dt-bindings: convert timing + panel-dpi to DT schema | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | "total: 0 errors, 2 warnings, 71 lines checked" |
robh/dt-meta-schema | fail | build log |
On Mon, Jan 20, 2020 at 2:07 PM Sam Ravnborg <sam@ravnborg.org> wrote: > > With panel-timing converted, now convert the single > remaining .txt user in panel/ of panel-timing to DT schema. > > Signed-off-by: Sam Ravnborg <sam@ravnborg.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Maxime Ripard <mripard@kernel.org> > --- > .../bindings/display/panel/panel-dpi.txt | 50 ------------- > .../bindings/display/panel/panel-dpi.yaml | 71 +++++++++++++++++++ > 2 files changed, 71 insertions(+), 50 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.txt > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.yaml [...] > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml > new file mode 100644 > index 000000000000..4e19c1fd52c3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/panel/panel-dpi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Generic MIPI DPI Panel > + > +maintainers: > + - Sam Ravnborg <sam@ravnborg.org> > + - Thierry Reding <thierry.reding@gmail.com> > + > +allOf: > + - $ref: panel-common.yaml# > + > +properties: > + compatible: > + contains: > + const: panel-dpi > + description: > + Shall contain "panel-dpi" in addition to a mandatory panel-specific > + compatible string defined in individual panel bindings. The "panel-dpi" > + value shall never be used on its own. Yet we have 3 cases where it is... A 'minItems: 2' should be enough to catch these. Or do: items: - {} - const: panel-dpi Or list the panel compatible that's in the example. That way we'll get errors for all the undocumented panel compatibles (that's most of them). > + > + vcc-supply: > + description: | > + Regulator that will be used to enable power to the display > + > + label: true > + enable-gpios: true > + reset-gpios: true > + backlight: true > + panel-timing: true > + port: true > + > +required: > + - panel-timing > + > +additionalProperties: false > + > +examples: > + - | > + panel@0 { > + compatible = "samsung,lte430wq-f0c", "panel-dpi"; > + label = "lcd"; > + vcc-supply = <&vcc_supply>; > + > + backlight = <&backlight>; > + > + port { > + lcd_in: endpoint { > + remote-endpoint = <&dpi_out>; > + }; > + }; > + panel-timing { > + clock-frequency = <9200000>; > + hactive = <480>; > + vactive = <272>; > + hfront-porch = <8>; > + hback-porch = <4>; > + hsync-len = <41>; > + vback-porch = <2>; > + vfront-porch = <4>; > + vsync-len = <10>; > + > + hsync-active = <0>; > + vsync-active = <0>; > + de-active = <1>; > + pixelclk-active = <1>; > + }; > + }; > -- > 2.20.1 >
Hi Rob. On Tue, Jan 21, 2020 at 08:50:25AM -0600, Rob Herring wrote: > On Mon, Jan 20, 2020 at 2:07 PM Sam Ravnborg <sam@ravnborg.org> wrote: > > > > With panel-timing converted, now convert the single > > remaining .txt user in panel/ of panel-timing to DT schema. > > > > Signed-off-by: Sam Ravnborg <sam@ravnborg.org> > > Cc: Rob Herring <robh@kernel.org> > > Cc: Thierry Reding <thierry.reding@gmail.com> > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Cc: Maxime Ripard <mripard@kernel.org> > > --- > > .../bindings/display/panel/panel-dpi.txt | 50 ------------- > > .../bindings/display/panel/panel-dpi.yaml | 71 +++++++++++++++++++ > > 2 files changed, 71 insertions(+), 50 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.txt > > create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.yaml > > [...] > > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml > > new file mode 100644 > > index 000000000000..4e19c1fd52c3 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml > > @@ -0,0 +1,71 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/display/panel/panel-dpi.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Generic MIPI DPI Panel > > + > > +maintainers: > > + - Sam Ravnborg <sam@ravnborg.org> > > + - Thierry Reding <thierry.reding@gmail.com> > > + > > +allOf: > > + - $ref: panel-common.yaml# > > + > > +properties: > > + compatible: > > + contains: > > + const: panel-dpi > > + description: > > + Shall contain "panel-dpi" in addition to a mandatory panel-specific > > + compatible string defined in individual panel bindings. The "panel-dpi" > > + value shall never be used on its own. > > Yet we have 3 cases where it is... > > A 'minItems: 2' should be enough to catch these. Or do: The above was a verbatim copy from another binding. Thinking more about this I went with this: compatible: contains: const: panel-dpi description: Shall contain "panel-dpi" in addition to an optional panel-specific compatible string defined in individual panel bindings. "panel-dpi" can be used alone, thus no dedicated binding file is required for each and every panel. So a DT file with: panel@0 { compatible = "panel-dpi"; ... panel-timing { ... }; Is in many cases enough - and then people do not have to either cheat or wait until their panel is included in the kernel. The panel market i big, and there are new panels each and every day. With panel-dpi we can support the dumb panels that do not require any special delays etc. Sam
diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.txt b/Documentation/devicetree/bindings/display/panel/panel-dpi.txt deleted file mode 100644 index 6b203bc4d932..000000000000 --- a/Documentation/devicetree/bindings/display/panel/panel-dpi.txt +++ /dev/null @@ -1,50 +0,0 @@ -Generic MIPI DPI Panel -====================== - -Required properties: -- compatible: "panel-dpi" - -Optional properties: -- label: a symbolic name for the panel -- enable-gpios: panel enable gpio -- reset-gpios: GPIO to control the RESET pin -- vcc-supply: phandle of regulator that will be used to enable power to the display -- backlight: phandle of the backlight device - -Required nodes: -- "panel-timing" containing video timings - (Documentation/devicetree/bindings/display/panel/display-timing.txt) -- Video port for DPI input - -Example -------- - -lcd0: display@0 { - compatible = "samsung,lte430wq-f0c", "panel-dpi"; - label = "lcd"; - - backlight = <&backlight>; - - port { - lcd_in: endpoint { - remote-endpoint = <&dpi_out>; - }; - }; - - panel-timing { - clock-frequency = <9200000>; - hactive = <480>; - vactive = <272>; - hfront-porch = <8>; - hback-porch = <4>; - hsync-len = <41>; - vback-porch = <2>; - vfront-porch = <4>; - vsync-len = <10>; - - hsync-active = <0>; - vsync-active = <0>; - de-active = <1>; - pixelclk-active = <1>; - }; -}; diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml new file mode 100644 index 000000000000..4e19c1fd52c3 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/panel-dpi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic MIPI DPI Panel + +maintainers: + - Sam Ravnborg <sam@ravnborg.org> + - Thierry Reding <thierry.reding@gmail.com> + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + contains: + const: panel-dpi + description: + Shall contain "panel-dpi" in addition to a mandatory panel-specific + compatible string defined in individual panel bindings. The "panel-dpi" + value shall never be used on its own. + + vcc-supply: + description: | + Regulator that will be used to enable power to the display + + label: true + enable-gpios: true + reset-gpios: true + backlight: true + panel-timing: true + port: true + +required: + - panel-timing + +additionalProperties: false + +examples: + - | + panel@0 { + compatible = "samsung,lte430wq-f0c", "panel-dpi"; + label = "lcd"; + vcc-supply = <&vcc_supply>; + + backlight = <&backlight>; + + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + panel-timing { + clock-frequency = <9200000>; + hactive = <480>; + vactive = <272>; + hfront-porch = <8>; + hback-porch = <4>; + hsync-len = <41>; + vback-porch = <2>; + vfront-porch = <4>; + vsync-len = <10>; + + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; + };
With panel-timing converted, now convert the single remaining .txt user in panel/ of panel-timing to DT schema. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Rob Herring <robh@kernel.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Maxime Ripard <mripard@kernel.org> --- .../bindings/display/panel/panel-dpi.txt | 50 ------------- .../bindings/display/panel/panel-dpi.yaml | 71 +++++++++++++++++++ 2 files changed, 71 insertions(+), 50 deletions(-) delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.txt create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.yaml