From: Maxime Ripard <maxime@cerno.tech>
To: devicetree@vger.kernel.org, "Rob Herring" <robh+dt@kernel.org>,
"Frank Rowand" <frowand.list@gmail.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Maxime Ripard" <maxime@cerno.tech>,
"Jernej Škrabec" <jernej.skrabec@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-sunxi@googlegroups.com, dri-devel@lists.freedesktop.org,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Sam Ravnborg <sam@ravnborg.org>,
Thierry Reding <thierry.reding@gmail.com>
Subject: [PATCH v2 11/52] dt-bindings: display: Move idk-2121wr to panel-lvds
Date: Wed, 1 Sep 2021 11:18:11 +0200 [thread overview]
Message-ID: <20210901091852.479202-12-maxime@cerno.tech> (raw)
In-Reply-To: <20210901091852.479202-1-maxime@cerno.tech>
The Advantech IDK-2121WR Device Tree binding uses most of the panel-lvds
binding, aside from a requirement on the data-mapping and the
definition of the dual link binding.
The LVDS dual link binding applies to any panel with a dual-link setup,
and thus could be made generic, and we can move the data-mapping
requirement to a conditional.
Let's move it to the generic panel-lvds binding
Cc: dri-devel@lists.freedesktop.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
.../display/panel/advantech,idk-2121wr.yaml | 121 ------------------
.../bindings/display/panel/lvds.yaml | 88 ++++++++++++-
2 files changed, 87 insertions(+), 122 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
deleted file mode 100644
index 67682fe77f10..000000000000
--- a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
+++ /dev/null
@@ -1,121 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel
-
-maintainers:
- - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
- - Thierry Reding <thierry.reding@gmail.com>
-
-description: |
- The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel.
- A dual-LVDS interface is a dual-link connection with even pixels traveling
- on one link, and with odd pixels traveling on the other link.
-
- The panel expects odd pixels on the first port, and even pixels on the
- second port, therefore the ports must be marked accordingly (with either
- dual-lvds-odd-pixels or dual-lvds-even-pixels).
-
-properties:
- compatible:
- items:
- - const: advantech,idk-2121wr
- - {} # panel-lvds, but not listed here to avoid false select
-
- width-mm:
- const: 476
-
- height-mm:
- const: 268
-
- data-mapping:
- const: vesa-24
-
- panel-timing: true
-
- ports:
- $ref: /schemas/graph.yaml#/properties/ports
-
- properties:
- port@0:
- $ref: /schemas/graph.yaml#/$defs/port-base
- unevaluatedProperties: false
- description: The sink for odd pixels.
- properties:
- dual-lvds-odd-pixels: true
-
- required:
- - dual-lvds-odd-pixels
-
- port@1:
- $ref: /schemas/graph.yaml#/$defs/port-base
- unevaluatedProperties: false
- description: The sink for even pixels.
- properties:
- dual-lvds-even-pixels: true
-
- required:
- - dual-lvds-even-pixels
-
- required:
- - port@0
- - port@1
-
-additionalProperties: false
-
-required:
- - compatible
- - width-mm
- - height-mm
- - data-mapping
- - panel-timing
- - ports
-
-examples:
- - |+
- panel-lvds {
- compatible = "advantech,idk-2121wr", "panel-lvds";
-
- width-mm = <476>;
- height-mm = <268>;
-
- data-mapping = "vesa-24";
-
- panel-timing {
- clock-frequency = <148500000>;
- hactive = <1920>;
- vactive = <1080>;
- hsync-len = <44>;
- hfront-porch = <88>;
- hback-porch = <148>;
- vfront-porch = <4>;
- vback-porch = <36>;
- vsync-len = <5>;
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- dual-lvds-odd-pixels;
- panel_in0: endpoint {
- remote-endpoint = <&lvds0_out>;
- };
- };
-
- port@1 {
- reg = <1>;
- dual-lvds-even-pixels;
- panel_in1: endpoint {
- remote-endpoint = <&lvds1_out>;
- };
- };
- };
- };
-
-...
diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
index e4e49e06f302..9b3b329e4e67 100644
--- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
@@ -39,11 +39,26 @@ allOf:
data-mapping:
const: jeida-24
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: advantech,idk-2121wr
+
+ then:
+ properties:
+ data-mapping:
+ const: vesa-24
+
+ required:
+ - ports
+
properties:
compatible:
items:
- enum:
- advantech,idk-1110wr
+ - advantech,idk-2121wr
- const: panel-lvds
data-mapping:
@@ -105,7 +120,34 @@ properties:
data lanes, transmitting bits for slots 6 to 0 instead of 0 to 6.
port: true
- ports: true
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: The sink for odd pixels.
+ properties:
+ dual-lvds-odd-pixels: true
+
+ required:
+ - dual-lvds-odd-pixels
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: The sink for even pixels.
+ properties:
+ dual-lvds-even-pixels: true
+
+ required:
+ - dual-lvds-even-pixels
+
+ required:
+ - port@0
+ - port@1
required:
- compatible
@@ -122,4 +164,48 @@ oneOf:
unevaluatedProperties: false
+examples:
+ - |+
+ panel-lvds {
+ compatible = "advantech,idk-2121wr", "panel-lvds";
+
+ width-mm = <476>;
+ height-mm = <268>;
+
+ data-mapping = "vesa-24";
+
+ panel-timing {
+ clock-frequency = <148500000>;
+ hactive = <1920>;
+ vactive = <1080>;
+ hsync-len = <44>;
+ hfront-porch = <88>;
+ hback-porch = <148>;
+ vfront-porch = <4>;
+ vback-porch = <36>;
+ vsync-len = <5>;
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+ panel_in0: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+ panel_in1: endpoint {
+ remote-endpoint = <&lvds1_out>;
+ };
+ };
+ };
+ };
+
...
--
2.31.1
next prev parent reply other threads:[~2021-09-01 9:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210901091852.479202-1-maxime@cerno.tech>
2021-09-01 9:18 ` [PATCH v2 10/52] dt-bindings: display: Move idk-1110wr to panel-lvds Maxime Ripard
2021-09-03 18:30 ` Rob Herring
2021-09-01 9:18 ` Maxime Ripard [this message]
2021-09-01 9:18 ` [PATCH v2 12/52] dt-bindings: display: Move ee101ia-01d " Maxime Ripard
2021-09-01 9:18 ` [PATCH v2 13/52] dt-bindings: display: aa104xd12: Remove unused vcc-supply Maxime Ripard
2021-09-03 18:30 ` Rob Herring
2021-09-01 9:18 ` [PATCH v2 14/52] dt-bindings: display: aa104xd12: Fix data-mapping Maxime Ripard
2021-09-03 18:31 ` Rob Herring
2021-09-01 9:18 ` [PATCH v2 15/52] dt-bindings: display: Move aa104xd12 to panel-lvds Maxime Ripard
2021-09-01 9:18 ` [PATCH v2 16/52] dt-bindings: display: aa121td01: Remove unused vcc-supply Maxime Ripard
2021-09-03 18:31 ` Rob Herring
2021-09-01 9:18 ` [PATCH v2 17/52] dt-bindings: display: aa121td01: Fix data-mapping Maxime Ripard
2021-09-03 18:31 ` Rob Herring
2021-09-01 9:18 ` [PATCH v2 18/52] dt-bindings: display: Move aa121td01 to panel-lvds Maxime Ripard
2021-09-01 9:18 ` [PATCH v2 19/52] dt-bindings: display: Move gktw70sdae4se " Maxime Ripard
2021-09-01 9:18 ` [PATCH v2 20/52] dt-bindings: display: panel-lvds: Document missing panel compatibles Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210901091852.479202-12-maxime@cerno.tech \
--to=maxime@cerno.tech \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=frowand.list@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-sunxi@googlegroups.com \
--cc=robh+dt@kernel.org \
--cc=sam@ravnborg.org \
--cc=thierry.reding@gmail.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox