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@ravnborg.org Cc: Thierry Reding thierry.reding@gmail.com Cc: Rob Herring robh@kernel.org Cc: Maxime Ripard mripard@kernel.org Cc: Yannick Fertre yannick.fertre@st.com Cc: Mark Rutland mark.rutland@arm.com Cc: Daniel Vetter daniel@ffwll.ch Cc: dri-devel@lists.freedesktop.org Cc: devicetree@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@st.com
- Thierry Reding treding@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@gmail.com
- Sam Ravnborg sam@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