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
22properties:
23  compatible:
24    items:
25      - const: advantech,idk-2121wr
26      - {} # panel-lvds, but not listed here to avoid false select
27
28  width-mm:
29    const: 476
30
31  height-mm:
32    const: 268
33
34  data-mapping:
35    const: vesa-24
36
37  panel-timing: true
38
39  ports:
40    $ref: /schemas/graph.yaml#/properties/ports
41
42    properties:
43      port@0:
44        $ref: /schemas/graph.yaml#/$defs/port-base
45        unevaluatedProperties: false
46        description: The sink for odd pixels.
47        properties:
48          dual-lvds-odd-pixels: true
49
50        required:
51          - dual-lvds-odd-pixels
52
53      port@1:
54        $ref: /schemas/graph.yaml#/$defs/port-base
55        unevaluatedProperties: false
56        description: The sink for even pixels.
57        properties:
58          dual-lvds-even-pixels: true
59
60        required:
61          - dual-lvds-even-pixels
62
63    required:
64      - port@0
65      - port@1
66
67additionalProperties: false
68
69required:
70  - compatible
71  - width-mm
72  - height-mm
73  - data-mapping
74  - panel-timing
75  - ports
76
77examples:
78  - |+
79    panel-lvds {
80      compatible = "advantech,idk-2121wr", "panel-lvds";
81
82      width-mm = <476>;
83      height-mm = <268>;
84
85      data-mapping = "vesa-24";
86
87      panel-timing {
88        clock-frequency = <148500000>;
89        hactive = <1920>;
90        vactive = <1080>;
91        hsync-len = <44>;
92        hfront-porch = <88>;
93        hback-porch = <148>;
94        vfront-porch = <4>;
95        vback-porch = <36>;
96        vsync-len = <5>;
97      };
98
99      ports {
100        #address-cells = <1>;
101        #size-cells = <0>;
102
103        port@0 {
104          reg = <0>;
105          dual-lvds-odd-pixels;
106          panel_in0: endpoint {
107            remote-endpoint = <&lvds0_out>;
108          };
109        };
110
111        port@1 {
112          reg = <1>;
113          dual-lvds-even-pixels;
114          panel_in1: endpoint {
115            remote-endpoint = <&lvds1_out>;
116          };
117        };
118      };
119    };
120
121...
122