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