From: Vitor Soares <[email protected]>

Add device tree binding for the LG LP156WF1 15.6" Full-HD (1920x1080)
dual-channel LVDS panel.

Also add lg,lp156wf1 to the panel-lvds.yaml exclusion list to prevent
false schema matches.

Signed-off-by: Vitor Soares <[email protected]>
---
 .../bindings/display/panel/lg,lp156wf1.yaml   | 105 ++++++++++++++++++
 .../bindings/display/panel/panel-lvds.yaml    |   1 +
 2 files changed, 106 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml 
b/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml
new file mode 100644
index 000000000000..6b91c2ea4827
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml
@@ -0,0 +1,105 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/lg,lp156wf1.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LG LP156WF1 15.6" Full-HD dual-LVDS panel
+
+maintainers:
+  - Francesco Dolcini <[email protected]>
+
+description: |
+  The LP156WF1 from LG is a 15.6" 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.
+
+allOf:
+  - $ref: /schemas/display/lvds-dual-ports.yaml#
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    items:
+      - const: lg,lp156wf1
+      - {} # panel-lvds, but not listed here to avoid false select
+
+  width-mm:
+    const: 345
+
+  height-mm:
+    const: 194
+
+  data-mapping:
+    const: jeida-24
+
+  panel-timing: true
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        required:
+          - dual-lvds-odd-pixels
+
+      port@1:
+        required:
+          - dual-lvds-even-pixels
+
+    required:
+      - port@0
+      - port@1
+
+required:
+  - compatible
+  - width-mm
+  - height-mm
+  - data-mapping
+  - panel-timing
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    panel-lvds {
+      compatible = "lg,lp156wf1", "panel-lvds";
+      width-mm = <345>;
+      height-mm = <194>;
+      data-mapping = "jeida-24";
+
+      panel-timing {
+        clock-frequency = <138500000>;
+        hactive = <1920>;
+        hback-porch = <40>;
+        hfront-porch = <24>;
+        hsync-len = <16>;
+        vactive = <1080>;
+        vback-porch = <23>;
+        vfront-porch = <3>;
+        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/panel-lvds.yaml 
b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
index b89f86bc0683..fbe8c162ca59 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -28,6 +28,7 @@ select:
             - advantech,idk-1110wr
             - advantech,idk-2121wr
             - innolux,ee101ia-01d
+            - lg,lp156wf1
             - mitsubishi,aa104xd12
             - mitsubishi,aa121td01
             - sgd,gktw70sdae4se
-- 
2.54.0

Reply via email to