[PATCH v2 1/2] dt-bindings: one binding file for all simple panels
Sam Ravnborg
sam at ravnborg.org
Wed Jan 8 21:12:13 UTC 2020
Hi Jyri, Rob, Paul, Miquel.
Following patch is now applied to drm-misc-next.
Please add your simple panels to this file so
we avoid independent bindings files for ecah panel.
I will handle the inevitable conflicts when I apply.
Sam
On Thu, Jan 02, 2020 at 11:17:11AM +0100, Sam Ravnborg wrote:
> There is an increasing number of new simple panels.
> Common for many of these simple panels are that they have one
> mandatory power-supply and some of them have backlight and / or
> an enable gpio.
>
> The binding file to describe these panels adds overhead
> that really do not add value.
> The binding are known and there is nothing gained from a
> dedicated binding file nor for any dedicated example.
>
> The following patch introduces a single panel-simple.yaml
> and converts two ampire bindings over to the new file.
>
> The conversion - if applied will have following effects:
>
> - The maintainer for the individual file will change
> There is no need for many different maintainers for a simple binding.
> We have the same situation with the panel-simple driver in the kernel.
>
> - The license will change to (GPL-2.0-only OR BSD-2-Clause)
> There is usually only a single line copied from the original
> file, a line that is often copied from a datasheet.
> This license change should be acceptable considered what little
> is copied.
> If the license change is not OK we can use a dedicated binding
> file in these cases.
>
> This is a follow-up on Rob's big patch converting a lot of panel bindings
> to individual files:
>
> "dt-bindings: display: Convert a bunch of panels to DT schema"
> https://patchwork.ozlabs.org/patch/1197683/
>
> The objectives with one file for the relevant simple panels are:
> - Make it simpler to add bindings for simple panels
> - Keep the number of bindings file lower and thus easier to find a
> relevant file to copy from when adding new panels.
> - Keep the binding documentation for simple panels more consistent
> - Make it simpler to add support for new panels
>
> v2:
> - spelling fixes (imirkin via irc, Rob)
> - updated description (Rob)
> - list properires in alphabetical order
> - added power-supply to example (Rob)
> - updated title
> - reworded changelog a little
>
> Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
> Cc: Thierry Reding <thierry.reding at gmail.com>
> Cc: Rob Herring <robh at kernel.org>
> Cc: Maxime Ripard <mripard at kernel.org>
> Cc: Yannick Fertre <yannick.fertre at st.com>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: dri-devel at lists.freedesktop.org
> Cc: devicetree at vger.kernel.org
> ---
> .../panel/ampire,am-480272h3tmqw-t01h.yaml | 42 -------------
> .../panel/ampire,am800480r3tmqwa1h.txt | 7 ---
> .../bindings/display/panel/panel-simple.yaml | 59 +++++++++++++++++++
> 3 files changed, 59 insertions(+), 49 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am-480272h3tmqw-t01h.yaml
> delete mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am800480r3tmqwa1h.txt
> create mode 100644 Documentation/devicetree/bindings/display/panel/panel-simple.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/panel/ampire,am-480272h3tmqw-t01h.yaml b/Documentation/devicetree/bindings/display/panel/ampire,am-480272h3tmqw-t01h.yaml
> deleted file mode 100644
> index c6e33e7f36d0..000000000000
> --- a/Documentation/devicetree/bindings/display/panel/ampire,am-480272h3tmqw-t01h.yaml
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/display/panel/ampire,am-480272h3tmqw-t01h.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel
> -
> -maintainers:
> - - Yannick Fertre <yannick.fertre at st.com>
> - - Thierry Reding <treding at nvidia.com>
> -
> -allOf:
> - - $ref: panel-common.yaml#
> -
> -properties:
> - compatible:
> - const: ampire,am-480272h3tmqw-t01h
> -
> - power-supply: true
> - enable-gpios: true
> - backlight: true
> - port: true
> -
> -required:
> - - compatible
> -
> -additionalProperties: false
> -
> -examples:
> - - |
> - panel_rgb: panel {
> - compatible = "ampire,am-480272h3tmqw-t01h";
> - enable-gpios = <&gpioa 8 1>;
> - port {
> - panel_in_rgb: endpoint {
> - remote-endpoint = <&controller_out_rgb>;
> - };
> - };
> - };
> -
> -...
> diff --git a/Documentation/devicetree/bindings/display/panel/ampire,am800480r3tmqwa1h.txt b/Documentation/devicetree/bindings/display/panel/ampire,am800480r3tmqwa1h.txt
> deleted file mode 100644
> index 83e2cae1cc1b..000000000000
> --- a/Documentation/devicetree/bindings/display/panel/ampire,am800480r3tmqwa1h.txt
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel
> -
> -Required properties:
> -- compatible: should be "ampire,am800480r3tmqwa1h"
> -
> -This binding is compatible with the simple-panel binding, which is specified
> -in simple-panel.txt in this directory.
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> new file mode 100644
> index 000000000000..51ca50201182
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -0,0 +1,59 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-simple.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Simple panels with one power supply
> +
> +maintainers:
> + - Thierry Reding <thierry.reding at gmail.com>
> + - Sam Ravnborg <sam at ravnborg.org>
> +
> +description: |
> + This binding file is a collection of the simple (dumb) panels that
> + requires only a single power-supply.
> + There are optionally a backlight and an enable GPIO.
> + 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.
> +
> + If the panel is more advanced a dedicated binding file is required.
> +
> +allOf:
> + - $ref: panel-common.yaml#
> +
> +properties:
> +
> + compatible:
> + enum:
> + # compatible must be listed in alphabetical order, ordered by compatible.
> + # The description in the comment is mandatory for each compatible.
> +
> + # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel
> + - ampire,am-480272h3tmqw-t01h
> + # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel
> + - ampire,am800480r3tmqwa1h
> +
> + backlight: true
> + enable-gpios: true
> + port: true
> + power-supply: true
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - power-supply
> +
> +examples:
> + - |
> + panel_rgb: panel-rgb {
> + compatible = "ampire,am-480272h3tmqw-t01h";
> + power-supply = <&vcc_lcd_reg>;
> +
> + port {
> + panel_in_rgb: endpoint {
> + remote-endpoint = <<dc_out_rgb>;
> + };
> + };
> + };
> --
> 2.20.1
More information about the dri-devel
mailing list