xref: /linux/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml (revision b50ecc5aca4d18f1f0c4942f5c797bc85edef144)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel
8
9maintainers:
10  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11  - Thierry Reding <thierry.reding@gmail.com>
12
13description: |
14  The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel.
15  A dual-LVDS interface is a dual-link connection with even pixels traveling
16  on one link, and with odd pixels traveling on the other link.
17
18  The panel expects odd pixels on the first port, and even pixels on the
19  second port, therefore the ports must be marked accordingly (with either
20  dual-lvds-odd-pixels or dual-lvds-even-pixels).
21
22allOf:
23  - $ref: /schemas/display/lvds-dual-ports.yaml#
24  - $ref: panel-common.yaml#
25
26properties:
27  compatible:
28    items:
29      - const: advantech,idk-2121wr
30      - {} # panel-lvds, but not listed here to avoid false select
31
32  width-mm:
33    const: 476
34
35  height-mm:
36    const: 268
37
38  data-mapping:
39    const: vesa-24
40
41  panel-timing: true
42
43  ports:
44    $ref: /schemas/graph.yaml#/properties/ports
45
46    properties:
47      port@0:
48        required:
49          - dual-lvds-odd-pixels
50
51      port@1:
52        required:
53          - dual-lvds-even-pixels
54
55    required:
56      - port@0
57      - port@1
58
59additionalProperties: false
60
61required:
62  - compatible
63  - width-mm
64  - height-mm
65  - data-mapping
66  - panel-timing
67
68examples:
69  - |+
70    panel-lvds {
71      compatible = "advantech,idk-2121wr", "panel-lvds";
72
73      width-mm = <476>;
74      height-mm = <268>;
75
76      data-mapping = "vesa-24";
77
78      panel-timing {
79        clock-frequency = <148500000>;
80        hactive = <1920>;
81        vactive = <1080>;
82        hsync-len = <44>;
83        hfront-porch = <88>;
84        hback-porch = <148>;
85        vfront-porch = <4>;
86        vback-porch = <36>;
87        vsync-len = <5>;
88      };
89
90      ports {
91        #address-cells = <1>;
92        #size-cells = <0>;
93
94        port@0 {
95          reg = <0>;
96          dual-lvds-odd-pixels;
97          panel_in0: endpoint {
98            remote-endpoint = <&lvds0_out>;
99          };
100        };
101
102        port@1 {
103          reg = <1>;
104          dual-lvds-even-pixels;
105          panel_in1: endpoint {
106            remote-endpoint = <&lvds1_out>;
107          };
108        };
109      };
110    };
111
112...
113